{"version":3,"file":"static/js/548.9703ef13.chunk.js","mappings":"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AAS+C,OACT/C,GAASuC,QACTvC,GAASgI,gBACThI,GAAS+H,iBACT/H,GAASkE,4BACTlE,GAASoE,6BACTpE,GAASqE,gCACTrE,GAASsE,gCACTtE,GAASuE,2BACTvE,GAASwE,8BACTxE,GAASyE,2BACTzE,GAAS0E,4BACT1E,GAAS2E,+BACT3E,GAAS4E,+BACT5E,GAASu2B,kBACTv2B,GAASw2B,mBACTx2B,GAASy2B,sBACTz2B,GAAS02B,sBACT12B,GAAS22B,iBACT32B,GAAS42B,oBACT52B,GAAS62B,iBACT72B,GAAS82B,kBACT92B,GAAS+2B,qBACT/2B,GAASg3B,qBACTh3B,GAASuD,wBACTvD,GAASyD,2BACTzD,GAAS6H,aACT7H,GAASi3B,UACTj3B,GAASk3B,eACTl3B,GAAS8M,UACT9M,GAAS0H,WACT1H,GAASk3B,eACTl3B,GAAS6D,uBACT7D,GAAS8D,wBACT9D,GAAS+D,qBACT/D,GAASiE,sBACTjE,GAAS2D,aACT3D,GAAS4D,cACT5D,GAAS8C,aACT9C,GAASkD,YACTlD,GAASmD,UACTnD,GAASoD,QACTpD,GAASiiB,QACTjiB,GAAS0C,uBACT1C,GAAS2C,4BACT3C,GAAS6B,oBACT7B,GAAS8B,kBACT9B,GAAS4C,+BACT5C,GAAS6C,oCACT,OACA7C,GAASkK,cACTlK,GAASmK,QAGXjtD,EAAAA,EAAAA,YAAU,WAUR+4E,EACE95D,KAAAA,MAAQszB,GACL0nC,KAAKn3B,GAAS4H,OACduvB,KAAKn3B,GAASuC,SACdljD,KAAI,SAACnM,EAAOoM,GACX,MAAO,CAAEA,IAAKA,EAA8BpM,MAAAA,EAC7C,IACAA,QAfN,GAAE,IAEH,IAAMkkF,GAA4BthE,EAAAA,EAAAA,UAAQ,WACxC,OAAO09D,GAAmBnB,IAAgCvyB,GAAkB8jB,MAAQuO,CACrF,GAAE,CAACqB,EAAiBnB,EAA6BF,IAelD,SAASkF,EAAe/3E,EAAapM,GACnC,SACKA,GAASmuD,GAAc/hD,KAASghD,GAAS8E,WAAa9lD,IAAQ0gD,GAASsB,eACtC,IAApCg1B,EAAkBnzD,QAAQ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","sources":["hooks/services/Feature/types.tsx","utils/common.ts","config/links.ts","config/defaultConfig.ts","config/configProviders.ts","components/base/Button/Button.tsx","components/base/Button/LoadingButton.tsx","components/base/Button/index.tsx","components/base/Card/Card.tsx","components/base/CheckBox/CheckBox.tsx","components/base/CheckBox/index.tsx","components/base/DropDown/components/Text.tsx","components/base/DropDown/components/Option.tsx","utils/objects.ts","components/base/DropDown/components/DropdownIndicator.tsx","components/base/DropDown/components/Menu.tsx","components/base/DropDown/components/SingleValue.tsx","components/base/DropDown/CustomSelect.tsx","components/base/DropDown/SelectContainer.tsx","components/base/DropDown/DropDown.tsx","components/base/Popout/Popout.tsx","components/base/Input/Input.tsx","components/base/Multiselect/Multiselect.tsx","components/base/TagInput/TagItem.tsx","components/base/RadioButton/RadioButton.tsx","components/base/TagInput/TagInput.tsx","webpack://pawsql-ppt/./src/components/base/Switch/Switch.module.scss?9ded","components/base/Switch/Switch.tsx","components/base/TextArea/TextArea.tsx","components/base/Titles/Titles.tsx","components/ArrayOfObjectsEditor/components/EditorHeader.tsx","components/ArrayOfObjectsEditor/components/EditorRow.tsx","components/ArrayOfObjectsEditor/ArrayOfObjectsEditor.tsx","components/ArrayOfObjectsEditor/index.tsx","components/ContentCard/ContentCard.tsx","components/ContentCard/index.tsx","components/CodeEditor/CodeEditor.tsx","pages/routePaths.tsx","components/DefaultLogoCatalog/DefaultLogoCatalog.tsx","utils/imageUtils.tsx","components/Label/Label.tsx","components/ImageBlock/ImageBlock.tsx","components/Label/index.tsx","components/LabeledControl/ControlLabels.tsx","components/LabeledInput/LabeledInput.tsx","components/LabeledInput/index.tsx","webpack://pawsql-ppt/./src/components/LabeledSwitch/LabeledSwitch.module.scss?39b9","components/LabeledRadioButton/LabeledRadioButton.tsx","components/LabeledSwitch/LabeledSwitch.tsx","components/Link/Link.tsx","components/Spinner/Spinner.tsx","components/Spinner/index.tsx","components/LoadingPage/LoadingPage.tsx","components/LoadingPage/index.tsx","webpack://pawsql-ppt/./src/components/MainPageWithScroll/MainPageWithScroll.module.scss?3a99","components/MainPageWithScroll/Footer.tsx","components/MainPageWithScroll/MainPageWithScroll.tsx","components/Modal/Modal.tsx","components/Modal/index.tsx","components/PageTitle/PageTitle.tsx","components/PageTitle/index.tsx","components/SimpleTableComponents/SimpleTableComponents.tsx","components/icons/MoonIcon.tsx","components/StatusIcon/CircleLoader.tsx","components/StatusIcon/StatusIcon.tsx","components/StatusIcon/index.tsx","components/TextWithHTML/TextWithHTML.tsx","components/ProgressBar/ProgressBar.tsx","components/ProgressBar/index.tsx","scss/export.module.scss","theme.ts","components/icons/GAIcon.tsx","core/request/CommonRequestError.ts","core/request/ServerError.ts","core/request/VersionError.ts","core/request/apiOverride.ts","core/request/PawsqlClient.ts","components/ReleaseStageBadge/ReleaseStageBadge.tsx","components/WorkspaceCard/WorkspaceCard.tsx","components/WorkspaceCard/index.tsx","config/ConfigServiceProvider.tsx","core/domain/analysis/operation.ts","core/statuses.ts","core/request/PawsqlRequestService.ts","core/domain/analysis/OperationService.ts","core/domain/workspace/DestinationDefinitionService.ts","core/domain/workspace/SourceDefinitionService.ts","core/domain/deployment/DeploymentService.ts","core/health/HealthService.ts","core/servicesProvider.tsx","core/ApiServices.tsx","core/i18n/I18nProvider.tsx","components/SingletonCard/components/ErrorSign.tsx","components/SingletonCard/SingletonCard.tsx","components/SingletonCard/index.tsx","hooks/useTypesafeReducer.ts","hooks/services/NotificationOld/reducer.ts","hooks/services/NotificationOld/NotificationService.tsx","hooks/useLoadingState.tsx","components/ConfirmationModal/ConfirmationModal.tsx","hooks/services/ConfirmationModal/reducer.ts","hooks/services/ConfirmationModal/ConfirmationModalService.tsx","hooks/services/Feature/FeatureService.tsx","hooks/services/FormChangeTracker/hooks.ts","hooks/services/FormChangeTracker/FormChangeTrackerService.tsx","hooks/router/useBlocker.ts","webpack://pawsql-ppt/./src/components/ui/Box/Box.module.scss?d0f1","components/ui/Box/Box.tsx","webpack://pawsql-ppt/./src/components/ui/Flex/FlexContainer.module.scss?34aa","components/ui/Flex/FlexContainer.tsx","webpack://pawsql-ppt/./src/components/ui/Flex/FlexItem.module.scss?1e4a","components/ui/Flex/FlexItem.tsx","webpack://pawsql-ppt/./src/components/ui/Heading/Heading.module.scss?39be","components/ui/Heading/Heading.tsx","webpack://pawsql-ppt/./src/components/ui/Icon/Icon.module.scss?5b0b","components/ui/Icon/icons/arrowLeftIcon.svg","components/ui/Icon/icons/arrowRightIcon.svg","components/ui/Icon/icons/articleIcon.svg","components/ui/Icon/icons/calendarIcon.svg","components/ui/Icon/icons/checkIcon.svg","components/ui/Icon/icons/chevronDownIcon.svg","components/ui/Icon/icons/chevronLeftIcon.svg","components/ui/Icon/icons/chevronRightIcon.svg","components/ui/Icon/icons/chevronUpIcon.svg","components/ui/Icon/icons/clockIcon.svg","components/ui/Icon/icons/clockOutlineIcon.svg","components/ui/Icon/icons/copyIcon.svg","components/ui/Icon/icons/creditsIcon.svg","components/ui/Icon/icons/crossIcon.svg","components/ui/Icon/icons/dayIcon.svg","components/ui/Icon/icons/destinationIcon.svg","components/ui/Icon/icons/disabledIcon.svg","components/ui/Icon/icons/docsIcon.svg","components/ui/Icon/icons/downloadIcon.svg","components/ui/Icon/icons/duplicateIcon.svg","components/ui/Icon/icons/earthIcon.svg","components/ui/Icon/icons/errorIcon.svg","components/ui/Icon/icons/expandIcon.svg","components/ui/Icon/icons/eyeIcon.svg","components/ui/Icon/icons/fileIcon.svg","components/ui/Icon/icons/flashIcon.svg","components/ui/Icon/icons/folderIcon.svg","components/ui/Icon/icons/gAIcon.svg","components/ui/Icon/icons/gearIcon.svg","components/ui/Icon/icons/globeIcon.svg","components/ui/Icon/icons/gridIcon.svg","components/ui/Icon/icons/importIcon.svg","components/ui/Icon/icons/infoIcon.svg","components/ui/Icon/icons/lensIcon.svg","components/ui/Icon/icons/locationIcon.svg","components/ui/Icon/icons/lockedIcon.svg","components/ui/Icon/icons/minusIcon.svg","components/ui/Icon/icons/modificationIcon.svg","components/ui/Icon/icons/moonIcon.svg","components/ui/Icon/icons/moveHandleIcon.svg","components/ui/Icon/icons/nestedIcon.svg","components/ui/Icon/icons/noteIcon.svg","components/ui/Icon/icons/notificationIcon.svg","components/ui/Icon/icons/optionsIcon.svg","components/ui/Icon/icons/parametersIcon.svg","components/ui/Icon/icons/pauseIcon.svg","components/ui/Icon/icons/pauseOutlineIcon.svg","components/ui/Icon/icons/pencilIcon.svg","components/ui/Icon/icons/playIcon.svg","components/ui/Icon/icons/plusIcon.svg","components/ui/Icon/icons/podcastIcon.svg","components/ui/Icon/icons/prefixIcon.svg","components/ui/Icon/icons/reduceIcon.svg","components/ui/Icon/icons/resetIcon.svg","components/ui/Icon/icons/rotateIcon.svg","components/ui/Icon/icons/shareIcon.svg","components/ui/Icon/icons/shrinkIcon.svg","components/ui/Icon/icons/sleepIcon.svg","components/ui/Icon/icons/sourceIcon.svg","components/ui/Icon/icons/starIcon.svg","components/ui/Icon/icons/stopIcon.svg","components/ui/Icon/icons/stopOutlineIcon.svg","components/ui/Icon/icons/successIcon.svg","components/ui/Icon/icons/successOutlineIcon.svg","components/ui/Icon/icons/syncIcon.svg","components/ui/Icon/icons/targetIcon.svg","components/ui/Icon/icons/trashIcon.svg","components/ui/Icon/icons/unlockedIcon.svg","components/ui/Icon/icons/userIcon.svg","components/ui/Icon/icons/warningIcon.svg","components/ui/Icon/icons/warningOutlineIcon.svg","components/ui/Icon/Icon.tsx","webpack://pawsql-ppt/./src/components/ui/Overlay/Overlay.module.scss?26d3","components/ui/Overlay/Overlay.tsx","webpack://pawsql-ppt/./src/components/ui/Modal/Modal.module.scss?c021","components/ui/Modal/Modal.tsx","hooks/services/Modal/ModalService.tsx","core/domain/User/UserService.ts","hooks/useRouter.tsx","services/workspace/useSuspenseQuery.ts","services/Scope.ts","services/useDefaultRequestMiddlewares.tsx","services/useInitService.tsx","services/users/UsersService.tsx","core/analytics/AnalyticsService.ts","hooks/services/Analytics/useAnalyticsService.tsx","components/ApiErrorBoundary/ApiErrorBoundary.tsx","hooks/useSegment.tsx","views/common/AnalyticsProvider.tsx","views/common/StoreProvider.tsx","webpack://pawsql-ppt/./src/views/common/ErrorOccurredView/ErrorOccurredView.module.scss?9bb4","views/common/ErrorOccurredView/ErrorOccurredView.tsx","views/common/ResorceNotFoundErrorBoundary.tsx","views/common/StartOverErrorView.tsx","components/ApiErrorBoundary/index.tsx","global-styles.tsx","core/domain/workspace/WorkspaceService.ts","services/workspace/WorkspacesService.tsx","webpack://pawsql-ppt/./src/components/WeChatQRModal/WeChatQRModal.module.scss?6a7b","components/WeChatQRModal/index.tsx","components/WeChatQRModal/WeChatQRModal.tsx","core/domain/workspace/InstancesService.ts","core/domain/workspace/ConfigService.ts","hooks/services/useConfigHook.tsx","hooks/services/useUserHook.tsx","services/auth/MyAuthService.tsx","hooks/services/useInstanceHook.tsx","core/domain/workspace/SlowQueryTemplatesService.ts","hooks/services/useSlowQueryTemplateHook.tsx","hooks/services/useVariableHook.tsx","core/domain/workspace/DbObjectsService.ts","hooks/services/useDbObjectHook.tsx","core/domain/analysis/AnalysisService.ts","hooks/services/useAnalysisHook.tsx","core/domain/workspace/PptJobsService.ts","hooks/services/usePptJobHook.tsx","core/domain/pricing-plans/PlanSubscriptionService.ts","hooks/services/usePlanSubscriptionHook.tsx","core/domain/pricing-plans/PricingPlanService.ts","hooks/services/usePricingPlanHook.tsx","WebSocketProvider.tsx","hooks/services/Onboarding/OnboardingService.tsx","utils/utmStorage.ts","pages/AnalysisPage/pages/AnalysisItemPage/components/QueryDetailContext.tsx","components/Markdown/CodeBlock.tsx","components/Markdown/CustomCreateExplainLinkComponent.tsx","pages/ExpalinPage/pages/CreateExplainPage/CreateExplainContext.tsx","pages/ExpalinPage/pages/AllExplainPage/samples.ts","components/Markdown/CustomExplainSampleLinkComponent.tsx","components/SideView/styled.ts","components/SideView/SideView.tsx","components/ToolTip/components/InfoIcon.tsx","components/ToolTip/ToolTip.tsx","components/ToolTip/index.tsx","views/Connection/ConnectionForm/components/InformationToolTip.tsx","views/Workspace/ServiceForm/components/ErrorInfoToolTip.tsx","views/Workspace/ServiceForm/components/TestingConnectionError.tsx","views/Workspace/RequestJiraModal/components/JiraForm.tsx","views/Workspace/RequestJiraModal/RequestJiraModal.tsx","views/Workspace/RequestJiraModal/index.tsx","views/analyses/QueryDetailsModal/QueryDetailsModal.tsx","components/Markdown/CustomLinkComponent.tsx","components/Markdown/CustomShowSQLDiffComponent.tsx","core/domain/workspace/RuleService.ts","hooks/services/useRuleHook.tsx","components/Markdown/CustomRuleInfoLinkToolTipsComponent.tsx","components/Markdown/Markdown.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/Header.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/FormContent.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/StaticMDView.tsx","core/domain/workspace/constants.ts","components/base/Button/ToolTipButton.tsx","components/base/Button/CreateJiraTaskButton.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/ReactCodeDiff.tsx","views/analyses/SQLDiffModal/SQLDiffSideView.tsx","views/analyses/QueryDetailPage/QueryDetailPage.tsx","core/domain/workspace/SlowQueriesService.ts","hooks/services/useSlowQueryHook.tsx","components/base/Banner/AlertBanner.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/SlowQueryDetailContext.tsx","views/analyses/SlowQueryDetailPage/SlowQueryDetailPage.tsx","core/domain/Documentation.ts","hooks/services/useDocumentation.ts","views/Workspace/DocumentationLayout/DocumentationPanelContext.tsx","components/DocumentationPanel/DocumentationPanel.tsx","webpack://pawsql-ppt/./src/views/Workspace/DocumentationLayout/DocumentationLayout.module.scss?46c8","views/Workspace/DocumentationLayout/DocumentationLayout.tsx","views/Workspace/DocumentationLayout/DocumentationWrapper.tsx","views/auth/components/Header.tsx","views/auth/components/FormContent.tsx","views/auth/components/FormComponents.tsx","views/auth/components/FormTitle.tsx","views/auth/ConfirmPasswordResetPage/ConfirmPasswordResetPage.tsx","components/HeadTitle/index.tsx","components/HeadTitle/HeadTitle.tsx","views/auth/LoginPage/LoginPage.tsx","views/auth/ResetPasswordPage/ResetPasswordPage.tsx","webpack://pawsql-ppt/./src/components/Text/heading.module.scss?6fbf","webpack://pawsql-ppt/./src/components/Text/text.module.scss?d9c1","components/Text/Text.tsx","webpack://pawsql-ppt/./src/views/auth/SignupPage/SignupPage.module.scss?39c9","views/auth/SignupPage/SignupPage.tsx","views/auth/Auth.tsx","views/docs/RuleDetailPage.tsx","views/docs/WLDefinitionPage.tsx","views/docs/WPDefinitionPage.tsx","components/pev2/enums.ts","components/base/Banner/TopBanner.tsx","views/layout/SideBar/components/ConnectionsIcon.tsx","views/layout/SideBar/components/PricingIcon.tsx","views/layout/SideBar/components/SettingsIcon.tsx","views/layout/SideBar/components/SidebarPopout.tsx","views/layout/SideBar/components/SourceIcon.tsx","webpack://pawsql-ppt/./src/views/layout/SideBar/SideBar.module.scss?be13","views/layout/SideBar/components/BookDemoIcon.tsx","views/layout/SideBar/SideBar.tsx","views/layout/SideBar/index.tsx","views/layout/MainView/MainView.tsx","views/layout/MainView/index.tsx","pages/CronConfigPage/pages/AllConfigPage/AllCronConfigPage.tsx","pages/CronConfigPage/pages/AllConfigPage/index.tsx","pages/CronConfigPage/index.tsx","pages/CronConfigPage/CronConfigPage.tsx","components/EmptyResourceListView/EmptyResourceListView.tsx","components/pev2/filters.ts","components/pev2/interfaces.ts","components/pev2/services/help-service.ts","components/pev2/utils/ExplainParserUtil.tsx","components/pev2/utils/OracleExplainParserUtil.tsx","components/pev2/utils/OceanbaseExplainParserUtil.tsx","components/pev2/utils/HiveExplainParserUtil.tsx","components/pev2/utils/DamengExplainParserUtil.tsx","config/utils.ts","components/pev2/services/plan-service.ts","components/pev2/utils/SQLServerExplainParserUtil.tsx","components/pev2/components/Copy.tsx","components/pev2/components/PlanContext.tsx","components/pev2/components/Diagram.tsx","components/pev2/services/color-service.ts","components/pev2/node.ts","components/pev2/services/syntax-highlight-service.ts","components/pev2/components/PlanNodeContext.tsx","components/pev2/components/PlanNodeDetail.tsx","components/pev2/components/PlanNode.tsx","components/pev2/components/SortedTableContext.tsx","components/pev2/components/SortLink.tsx","components/pev2/components/StatsTableItem.tsx","components/pev2/components/SortedTableIndexStats.tsx","components/pev2/components/SortedTableNodeStats.tsx","components/pev2/components/SortedTableTableStats.tsx","components/pev2/components/Stats.tsx","components/pev2/components/Plan.tsx","core/domain/explain/ExplainService.ts","hooks/services/useExplainHook.tsx","components/EntityTable/types.ts","views/Connection/ConnectionForm/components/Search.tsx","components/DeleteBlock/MyDeleteBlock.tsx","views/Connection/CatalogTree/components/TreeRowWrapper.tsx","views/Connection/CatalogTree/SlowQueryFieldRow.tsx","views/Connection/CatalogTree/ExpandTable.tsx","components/Table/components/Arrow.tsx","webpack://pawsql-ppt/./src/components/Table/PaginationTable.module.scss?4d97","components/Table/ServerPaginationTable.tsx","components/WorkspaceIcon/WorkspaceIcon.tsx","components/EntityTable/components/NameCell.tsx","components/WorkspaceBlocks/AnalysisItemTabs.tsx","components/Indicator/index.tsx","components/Indicator/Indicator.tsx","components/EntityTable/components/NameStringCell.tsx","components/EntityTable/components/SortButton.tsx","components/EntityTable/components/TextCell.tsx","components/EntityTable/ExplainsImplementationTable.tsx","pages/ExpalinPage/pages/AllExplainPage/ExplainContext.tsx","pages/ExpalinPage/pages/AllExplainPage/components/ExplainsTable.tsx","pages/ExpalinPage/pages/AllExplainPage/AllExplainPage.tsx","pages/ExpalinPage/pages/AllExplainPage/index.tsx","components/StepsMenu/components/Step.tsx","components/StepsMenu/StepsMenu.tsx","components/StepsMenu/index.tsx","components/WorkspaceBlocks/FormPageContent.tsx","components/WorkspaceBlocks/TableItemTitle.tsx","utils/myDateUtils.ts","pages/ExpalinPage/pages/CreateExplainPage/component/ExplainCreateControls.tsx","pages/ExpalinPage/pages/CreateExplainPage/component/TestingExplainError.tsx","pages/ExpalinPage/pages/CreateExplainPage/component/ExplianForm.tsx","pages/ExpalinPage/pages/CreateExplainPage/component/Header.tsx","pages/ExpalinPage/pages/CreateExplainPage/CreateExplainPage.tsx","pages/SettingsPage/components/FeedbackBlock.tsx","components/base/Button/CopyToClipButton.tsx","utils/withKeystrokeHandler.tsx","webpack://pawsql-ppt/./src/pages/ExpalinPage/pages/AllExplainPage/components/ExplainName.module.scss?f791","pages/ExpalinPage/pages/SlowQueryExplainPage/component/QueryExplainItemTabs.tsx","pages/ExpalinPage/pages/AllExplainPage/components/ExplainName.tsx","pages/ExpalinPage/pages/AllExplainPage/layouts/MainLayout.tsx","pages/ExpalinPage/pages/AllExplainPage/views/DynamicPlanView.tsx","pages/ExpalinPage/pages/AllExplainPage/views/StaticPlanView.tsx","pages/ExpalinPage/pages/ExplainItemPage/index.tsx","pages/ExpalinPage/pages/ExplainItemPage/ExplainItemPage.tsx","components/pev2/components/SlowQueryPlanCompare.tsx","pages/ExpalinPage/pages/StatementExplainPage/component/QueryExplainItemTabs.tsx","pages/ExpalinPage/pages/SlowQueryExplainPage/SlowQueryExplainPage.tsx","pages/ExpalinPage/pages/SlowQueryExplainPage/index.tsx","components/pev2/components/PlanCompare.tsx","pages/ExpalinPage/pages/StatementExplainPage/StatementExplainPage.tsx","pages/ExpalinPage/pages/StatementExplainPage/index.tsx","pages/ExpalinPage/index.tsx","pages/ExpalinPage/ExplainPage.tsx","pages/ExpalinPage/NoLoggedExplainPage.tsx","components/Table/PaginationTable.tsx","webpack://pawsql-ppt/./src/pages/InstancesPage/pages/AllInstancesPage/components/InstanceName.module.scss?09c5","pages/InstancesPage/pages/AllInstancesPage/components/InstanceName.tsx","components/EntityTable/components/InstanceStatusIcon.tsx","components/EntityTable/components/StringCell.tsx","components/DeleteBlock/IconDeleteBlock.tsx","components/SlowQueriesStatusIcon/CheckConnectionButton.tsx","components/SlowQueriesStatusIcon/EditConfigButton.tsx","pages/InstancesPage/pages/AllInstancesPage/components/InstanceContext.tsx","components/EntityTable/InstanceActionButton.tsx","components/EntityTable/components/LongTextCell.tsx","components/EntityTable/ImplementationInstanceTable.tsx","pages/InstancesPage/pages/AllInstancesPage/components/InstanceTable.tsx","pages/InstancesPage/pages/AllInstancesPage/AllInstancesPage.tsx","pages/InstancesPage/pages/AllInstancesPage/index.tsx","pages/InstancesPage/pages/AllInstancesPage/components/BasicInfoCard.tsx","pages/InstancesPage/pages/AllInstancesPage/components/StatusLineChart.tsx","pages/InstancesPage/pages/AllInstancesPage/components/BasicInfoComponent.tsx","pages/InstancesPage/pages/AllInstancesPage/components/SlowQueryBarChart.tsx","pages/InstancesPage/pages/AllInstancesPage/components/DbObjectBarList.tsx","pages/InstancesPage/pages/AllInstancesPage/components/ChartInfoCard.tsx","components/SlowQueriesStatusIcon/SmallCheckConnectionButton.tsx","webpack://pawsql-ppt/./src/views/Connection/ConnectionForm/CronConfigButton.module.scss?d591","views/Connection/ConnectionForm/CronLocaleUtils.tsx","views/Connection/ConnectionForm/CronConfigButton.tsx","views/Connection/ConnectionForm/EnableTaskButton.tsx","views/Connection/ConnectionForm/CronConfigForm.tsx","pages/InstancesPage/pages/AllInstancesPage/components/InstancesInfoCard.tsx","pages/InstancesPage/pages/AllInstancesPage/components/DashBoardPage.tsx","core/domain/workspace/InstanceDefinitionService.ts","services/workspace/InstanceDefinitionService.ts","core/request/LogsRequestError.ts","utils/errorStatusMessage.tsx","components/FormChangeTracker/FormChangeTracker.tsx","core/domain/workspace/Workspace.ts","views/Workspace/RequestWorkspaceModal/MyRequestWorkspaceModal.tsx","views/Workspace/ServiceForm/components/Controls/MyWorkspaceNameControl.tsx","core/domain/workspace/MyWorkspace.ts","views/Workspace/ServiceForm/components/Controls/PptInstanceServiceTypeControl.tsx","views/Workspace/ServiceForm/components/TestingConnectionSpinner.tsx","views/Workspace/ServiceForm/components/TestingInstanceSuccess.tsx","views/Workspace/ServiceForm/components/PptCreateControls.tsx","views/Workspace/ServiceForm/components/TestingConnectionSuccess.tsx","views/Workspace/ServiceForm/utils.ts","views/Workspace/ServiceForm/PptServiceFormContext.tsx","views/Workspace/ServiceForm/components/PptEditControls.tsx","views/Workspace/ServiceForm/components/ShowLoadingMessage.tsx","components/GroupControls/GroupControls.tsx","components/GroupControls/index.tsx","views/Workspace/ServiceForm/serviceFormContext.tsx","views/Workspace/ServiceForm/components/Sections/common.tsx","views/Workspace/ServiceForm/components/Sections/ConditionSection.tsx","components/FileDropZone/FileDropZone.tsx","components/FileDropZone/index.tsx","views/Workspace/ServiceForm/components/Property/ConfirmationControl.tsx","views/Workspace/ServiceForm/components/Property/Control.tsx","views/Workspace/ServiceForm/components/Property/LabelMessage.tsx","views/Workspace/ServiceForm/components/Property/Label.tsx","views/Workspace/ServiceForm/components/Sections/PropertySection.tsx","views/Workspace/ServiceForm/components/Sections/FormSection.tsx","views/Workspace/ServiceForm/components/Sections/ArraySection.tsx","views/Workspace/ServiceForm/components/Sections/PptConditionSection.tsx","views/Connection/ConnectionForm/RDSMySQLSlowQueryInitForm.tsx","views/Connection/ConnectionForm/SlowQueryInitForm.tsx","core/domain/workspace/RuleTemplatesService.ts","hooks/services/useRuleTemplateHook.tsx","webpack://pawsql-ppt/./src/views/Connection/ConnectionForm/DbObjectInitForm.module.scss?2173","views/Connection/ConnectionForm/DbObjectInitForm.tsx","views/Connection/ConnectionForm/TDSQLMySQLSlowQueryInitForm.tsx","views/Connection/ConnectionForm/TDSQLMySQLPrivateSlowQueryInitForm.tsx","views/Workspace/ServiceForm/components/Sections/PptPropertySection.tsx","views/Workspace/ServiceForm/components/Sections/PptFormSection.tsx","views/Workspace/ServiceForm/PptFormRoot.tsx","core/jsonSchema/schemaToYup.ts","core/form/uiWidget.ts","core/jsonSchema/schemaToUiWidget.ts","views/Workspace/ServiceForm/useMyBuildForm.tsx","views/Workspace/ServiceForm/PptServiceForm.tsx","core/domain/workspace/destination.ts","hooks/services/Experiment/ExperimentService.tsx","views/Workspace/ServiceForm/components/Controls/MyWorkspaceServiceTypeControl.tsx","webpack://pawsql-ppt/./src/components/ui/Text/Text.module.scss?9b14","components/ui/Text/Text.tsx","webpack://pawsql-ppt/./src/components/ui/Collapsible/Collapsible.module.scss?d340","components/ui/Collapsible/Collapsible.tsx","components/icons/CrossIcon.tsx","webpack://pawsql-ppt/./src/components/ui/Button/Button.module.scss?7f40","components/ui/Button/Button.tsx","webpack://pawsql-ppt/./src/components/ui/Message/Message.module.scss?bf6b","components/ui/Message/Message.tsx","webpack://pawsql-ppt/./src/components/ui/Pre/Pre.module.scss?49b7","components/ui/Pre/Pre.tsx","views/Workspace/ServiceForm/components/MyCreateControls.tsx","views/Workspace/ServiceForm/myServiceFormContext.tsx","views/Workspace/ServiceForm/components/MyEditControls.tsx","views/Workspace/ServiceForm/components/Sections/MyConditionSection.tsx","views/Workspace/ServiceForm/components/Sections/MyPropertySection.tsx","views/Workspace/ServiceForm/components/Sections/MyFormSection.tsx","webpack://pawsql-ppt/./src/views/Workspace/ServiceForm/MyFormRoot.module.scss?758a","views/Workspace/ServiceForm/MyFormRoot.tsx","views/Workspace/ServiceForm/MyServiceForm.tsx","hooks/services/useMyWorkspace.tsx","pages/InstancesPage/pages/CreateInstancePage/CreateInstancePage.tsx","views/Workspace/WorkspaceCard/useTestWorkspace.tsx","views/Workspace/WorkspaceCard/PptInstanceCard.tsx","pages/InstancesPage/pages/CreateInstancePage/components/InstanceForm.tsx","webpack://pawsql-ppt/./src/components/PageContainer/PageContainer.module.scss?69f6","components/PageContainer/PageContainer.tsx","core/domain/workspace/instance.ts","webpack://pawsql-ppt/./src/components/ui/instance/SelectInstance/InstanceButton.module.scss?6ee8","components/ui/instance/SelectInstance/InstanceButton.tsx","webpack://pawsql-ppt/./src/components/ui/instance/SelectInstance/InstanceGrid.module.scss?0690","components/ui/instance/SelectInstance/InstanceGrid.tsx","webpack://pawsql-ppt/./src/components/ui/instance/SelectInstance/SelectInstance.module.scss?c514","webpack://pawsql-ppt/./src/components/ui/Input/Input.module.scss?0b50","components/ui/Input/Input.tsx","webpack://pawsql-ppt/./src/components/ui/SearchInput/SearchInput.module.scss?cdb9","components/ui/SearchInput/SearchInput.tsx","components/ui/instance/SelectInstance/SelectInstanceType.tsx","pages/InstancesPage/pages/SelectInstancePage/SelectInstancePage.tsx","pages/InstancesPage/index.tsx","pages/InstancesPage/InstancesPage.tsx","components/EntityTable/PptTablesImplementationTable.tsx","core/domain/workspace/PptTableService.ts","hooks/services/usePptTableHook.tsx","pages/PptTablesPage/pages/AllPptTablesPage/AllPptTablesPage.tsx","pages/PptTablesPage/pages/AllPptTablesPage/index.tsx","pages/PptTablesPage/index.tsx","pages/PptTablesPage/PptTablesPage.tsx","components/SideMenu/components/MenuItem.tsx","components/SideMenu/SideMenu.tsx","components/SideMenu/index.tsx","core/domain/workspace/FeedbackService.ts","hooks/services/useFeedbackHook.tsx","components/EntityTable/components/NumberCell.tsx","components/EntityTable/components/RolesCell.tsx","webpack://pawsql-ppt/./src/components/EntityTable/UsersTable.module.scss?636e","components/DeleteBlock/OrgConfirmActionButton.tsx","core/domain/workspace/OrgService.ts","hooks/services/useOrgHook.tsx","components/DeleteBlock/OrgActionButton.tsx","components/EntityTable/components/UserTableActionMenuList.tsx","components/EntityTable/components/UserTableActionButton.tsx","components/EntityTable/components/UserNameCell.tsx","components/EntityTable/UsersTable.tsx","pages/UsersPage/pages/AllUsersPage/AllUsersPage.tsx","pages/UsersPage/pages/AllUsersPage/index.tsx","components/EntityTable/components/OrgApproved.tsx","components/EntityTable/OrgUsersTable.tsx","pages/OrgUsersPage/pages/AllOrgUsersPage/AllOrgUsersPage.tsx","pages/OrgUsersPage/pages/AllOrgUsersPage/index.tsx","components/ContentCard/CustomContentCard.tsx","pages/SettingsPage/pages/SettingsComponents.tsx","views/users/AccountSettingsView/components/OrgSection/component/OrganizationControl.tsx","views/users/AccountSettingsView/components/OrgSection/hooks/useOrg.ts","views/users/AccountSettingsView/components/OrgSection/component/OrganizationForm.tsx","views/users/AccountSettingsView/components/OrgSection/RequestOrganizationModal.tsx","views/users/AccountSettingsView/components/OrgSection/OrgMemberSection.tsx","views/users/AccountSettingsView/components/OrgSection/OrgInitSection.tsx","components/DeleteBlock/OrgDeleteBlock.tsx","views/users/AccountSettingsView/components/OrgSection/OrgAdminSection.tsx","pages/SettingsPage/pages/AccountPage/components/ReactiveForm.tsx","views/users/AccountSettingsView/components/PasswordSection/hooks/usePassword.ts","views/users/AccountSettingsView/components/PasswordSection/PasswordSection.tsx","views/users/AccountSettingsView/components/NameSection/hooks/useName.ts","views/users/AccountSettingsView/components/NameSection/NameSection.tsx","views/users/AccountSettingsView/components/NameSection/hooks/useCompanyName.ts","views/users/AccountSettingsView/components/NameSection/CompanyNameSection.tsx","views/users/AccountSettingsView/AccountSettingsView.tsx","pages/SettingsPage/SettingsPage.tsx","pages/SettingsPage/index.tsx","components/LoadingSchema/LoadingSchema.tsx","components/LoadingSchema/index.tsx","core/domain/analysis/PptAnalysisService.ts","hooks/services/usePptAnalysisHook.tsx","views/Connection/ConnectionForm/components/CreateControls.tsx","webpack://pawsql-ppt/./src/views/Connection/CatalogTree/RuleFieldRow.module.scss?23a8","views/Connection/CatalogTree/RuleFieldRow.tsx","views/Connection/CatalogTree/RuleFieldTable.tsx","webpack://pawsql-ppt/./src/views/Connection/CatalogTree/RuleInfoCatalogSection.module.scss?9b12","components/base/Input/ThresholdInput.tsx","views/Connection/CatalogTree/components/Arrow.tsx","webpack://pawsql-ppt/./src/views/Connection/CatalogTree/RuleInfoHeader.module.scss?44b6","views/Connection/CatalogTree/styles.tsx","pages/ConfigPage/pages/AllConfigPage/components/RulesTree.tsx","pages/ConfigPage/pages/AllConfigPage/components/RuleTreeSelect.tsx","views/Connection/CatalogTree/RuleInfoHeader.tsx","views/Connection/CatalogTree/RuleInfoCatalogSection.tsx","webpack://pawsql-ppt/./src/views/Connection/ConnectionForm/components/RulesInfoSection.module.scss?1359","views/Connection/ConnectionForm/components/RulesInfoSection.tsx","core/domain/workspace/UserConfigService.ts","hooks/services/useUserConfigHook.tsx","views/Connection/ConnectionForm/formConfig.tsx","views/Connection/ConnectionForm/PptAnalysisForm.tsx","components/CreateConnectionContent/CreatePptAnalysisContent.tsx","pages/AnalysisPage/pages/CreationFormPage/PptCreationFormPage.tsx","components/SlowQueriesStatusIcon/AdoptButton.tsx","components/SlowQueriesStatusIcon/AnalysisButton.tsx","pages/PptAnalysisPage/pages/PptAnalysisItemPage/components/SlowQueryDetailContext.tsx","pages/PptAnalysisPage/pages/PptAnalysisItemPage/components/MarkdownView.tsx","pages/PptAnalysisPage/pages/PptAnalysisItemPage/components/SlowQueryDetailView.tsx","pages/PptAnalysisPage/pages/PptAnalysisItemPage/PptAnalysisItemPage.tsx","pages/PptAnalysisPage/pages/PptAnalysisItemPage/index.tsx","components/SlowQueriesStatusIcon/SlowQueryAnalysisDetailsButton.tsx","views/Workspace/FireJiraModal/components/JiraForm.tsx","views/Workspace/FireJiraModal/FireJiraModal.tsx","views/Workspace/FireJiraModal/index.tsx","components/SlowQueriesStatusIcon/FireJiraButton.tsx","components/SlowQueriesStatusIcon/OptLoadingButton.tsx","pages/SlowQueryPage/pages/AllSlowQueriesPage/components/ActionMenuList.tsx","components/SlowQueriesStatusIcon/SlowQueriesActionButton.tsx","components/EntityTable/components/AllSlowQueriesActionCell.tsx","components/SlowQueriesStatusIcon/CircleLoader.tsx","components/SlowQueriesStatusIcon/SlowQueriesStatusIcon.tsx","components/SlowQueriesStatusIcon/index.tsx","components/EntityTable/components/AllSlowQueriesStatusCell.tsx","webpack://pawsql-ppt/./src/components/EntityTable/ImplementationSlowQueryTable.module.scss?39d4","components/EntityTable/ImplementationSlowQueryTable.tsx","pages/SlowQueryPage/pages/AllSlowQueriesPage/components/SlowQueryTable.tsx","components/DeleteBlock/ConfirmBlock.tsx","views/Connection/ConnectionForm/ManuallyCollectButton.tsx","pages/SlowQueryPage/pages/AllSlowQueriesPage/components/SQLTypeChart.tsx","pages/SlowQueryPage/pages/AllSlowQueriesPage/components/SQLStatusChart.tsx","components/EmptyResourceBlock/EmptyCard.tsx","pages/SlowQueryPage/pages/AllSlowQueriesPage/components/SlowQueryTrendBarChart.tsx","webpack://pawsql-ppt/./src/pages/SlowQueryPage/pages/AllSlowQueriesPage/components/BasicSummaryCard.module.scss?2217","pages/SlowQueryPage/pages/AllSlowQueriesPage/components/BasicSummaryCard.tsx","webpack://pawsql-ppt/./src/pages/SlowQueryPage/pages/AllSlowQueriesPage/components/SQLTimeRankBarList.module.scss?d0bd","pages/SlowQueryPage/pages/AllSlowQueriesPage/components/SQLTimeRankBarList.tsx","pages/SlowQueryPage/pages/AllSlowQueriesPage/components/SlowQuerySummaryDashBoard.tsx","pages/SlowQueryPage/pages/AllSlowQueriesPage/AllSlowQueriesPage.tsx","pages/SlowQueryPage/pages/AllSlowQueriesPage/index.tsx","pages/SlowQueryPage/index.tsx","pages/SlowQueryPage/SlowQueryPage.tsx","components/EntityTable/components/DbObjectRulesIcon.tsx","components/EntityTable/ImplementationDbObjectTable.tsx","pages/DbObjectPage/pages/AllDbObjectsPage/components/DbObjectTable.tsx","webpack://pawsql-ppt/./src/views/Connection/ConnectionForm/DbObjectRuleTemplateConfigButton.module.scss?f705","views/Connection/ConnectionForm/DbObjectRuleTemplateConfigButton.tsx","pages/DbObjectPage/pages/AllDbObjectsPage/components/SQLSchemaChart.tsx","pages/DbObjectPage/pages/AllDbObjectsPage/components/DBObjectRuleRiskChart.tsx","webpack://pawsql-ppt/./src/pages/DbObjectPage/pages/AllDbObjectsPage/components/RuleRankBarList.module.scss?25e8","pages/DbObjectPage/pages/AllDbObjectsPage/components/RuleRankBarList.tsx","webpack://pawsql-ppt/./src/pages/DbObjectPage/pages/AllDbObjectsPage/components/BasicSummaryCard.module.scss?5321","pages/DbObjectPage/pages/AllDbObjectsPage/components/BasicSummaryCard.tsx","webpack://pawsql-ppt/./src/pages/DbObjectPage/pages/AllDbObjectsPage/components/DBObjectRankBarList.module.scss?08a4","pages/DbObjectPage/pages/AllDbObjectsPage/components/DBObjectRankBarList.tsx","pages/DbObjectPage/pages/AllDbObjectsPage/components/DBObjectSummaryDashBoard.tsx","pages/DbObjectPage/pages/AllDbObjectsPage/AllDbObjectsPage.tsx","pages/DbObjectPage/pages/AllDbObjectsPage/index.tsx","pages/DbObjectPage/index.tsx","pages/DbObjectPage/DbObjectPage.tsx","core/domain/workspace/SelfHostsService.ts","hooks/services/useSelfHostHook.tsx","pages/SelfHostPage/pages/SelfHostFormPage/components/ProductConsultForm.tsx","pages/LandingPage/pages/LandingPage/components/StaticLayout.tsx","pages/SelfHostPage/pages/SelfHostFormPage/components/PawSQLTalkToSales.tsx","pages/SelfHostPage/pages/SelfHostFormPage/index.tsx","pages/SelfHostPage/pages/SelfHostFormPage/SelfHostFormPage.tsx","pages/SelfHostPage/index.tsx","pages/SelfHostPage/SelfHostPage.tsx","views/layout/SideBar/components/DbOjects.tsx","views/layout/SideBar/PptSideBar.tsx","views/layout/MainView/PptMainView.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/NumberCell.tsx","components/EntityTable/components/WorkspaceCell.tsx","components/EntityTable/AnalysisTable.tsx","components/EntityTable/utils.tsx","core/domain/workspace/WorkspaceDefinitionService.ts","services/workspace/WorkspaceDefinitionService.ts","pages/AnalysisPage/pages/AllAnalysesPage/components/AnalysesTable.tsx","pages/AnalysisPage/pages/AllAnalysesPage/AllAnalysesPage.tsx","pages/AnalysisPage/pages/AllAnalysesPage/index.tsx","components/Breadcrumbs/Breadcrumbs.tsx","components/Breadcrumbs/index.tsx","webpack://pawsql-ppt/./src/pages/AnalysisPage/pages/AnalysisItemPage/components/MyAnalysisName.module.scss?81a0","pages/AnalysisPage/pages/AnalysisItemPage/components/MyAnalysisName.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/MarkdownView.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/QueryDetailView.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/NameCell.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/QueriesView.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/SummaryView.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/StatusMainInfo.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/AnalysisPageWorkspaceTitle.tsx","pages/AnalysisPage/pages/AnalysisItemPage/AnalysisItemPage.tsx","pages/AnalysisPage/pages/AnalysisItemPage/index.tsx","views/Connection/ConnectionForm/AnalysisForm.tsx","components/CreateConnectionContent/CreateAnalysisContent.tsx","core/domain/workspace/MyWorkspaceService.ts","hooks/services/useMyWorkspaceHook.tsx","core/domain/workspace/WorkloadService.ts","hooks/services/useWorkloadHook.tsx","pages/AnalysisPage/pages/CreationFormPage/CreationAnalysisFormPage.tsx","views/Workspace/ServiceForm/components/TestingWorkspaceSuccess.tsx","views/Workspace/ServiceForm/components/WorkloadCreateControls.tsx","views/Workspace/ServiceForm/components/TestingWorkloadError.tsx","core/domain/errors/FieldError.tsx","hooks/services/BulkEdit/WorkloadBulkEditService.tsx","webpack://pawsql-ppt/./src/components/EntityTable/WorkloadQueryLogTable.module.scss?25fc","components/EntityTable/WorkloadQueryLogTable.tsx","views/Connection/ConnectionForm/components/QueriesCatalogField.tsx","pages/SettingsPage/pages/NotificationPage/components/WorkloadFilterForm.tsx","views/Workspace/ServiceForm/components/Modal/CreateWorkloadMessageModal.tsx","pages/AnalysisPage/pages/CreationFormPage/components/WorkloadAndWorkspaceForm.tsx","pages/AnalysisPage/pages/CreationFormPage/components/DocumentLayout.tsx","services/workspace/WorkspaceDefinitionSpecificationService.tsx","views/Workspace/WorkspaceCard/WorkspaceCard.tsx","pages/WorkspacesPage/pages/CreateWorkspacePage/components/WorkspaceForm.tsx","pages/WorkspacesPage/pages/CreateWorkspacePage/CreateWorkspacePage.tsx","pages/WorkspacesPage/pages/CreateWorkspacePage/components/CreateWorkspaceFormSideView.tsx","components/ToolTip/components/CustomInfoIcon.tsx","views/Connection/ConnectionForm/components/WarningToolTip.tsx","pages/AnalysisPage/pages/CreationFormPage/components/ExistingEntityForm.tsx","pages/AnalysisPage/pages/CreationFormPage/CreationFormPage.tsx","pages/AnalysisPage/index.tsx","pages/AnalysisPage/AnalysisPage.tsx","components/AnalysisBlocks/components/AnalysisBlockItem.tsx","components/AnalysisBlocks/AnalysisBlock.tsx","components/AnalysisBlocks/index.tsx","views/Workspace/ServiceForm/MyWorkloadForm.tsx","pages/WorkloadsPage/pages/CreateWorkloadPage/components/WorkloadForm.tsx","pages/AnalysisPage/pages/CreationFormPage/components/WorkloadForm.tsx","pages/AnalysisPage/pages/CreationFormPage/components/WorkspaceForm.tsx","components/WorkspaceBlocks/WorkspaceItemTabs.tsx","components/base/Button/TableLoadingButton.tsx","components/EntityTable/MyImplementationTable.tsx","pages/WorkspacesPage/pages/AllWorkspacesPage/components/WorkspacesTable.tsx","pages/WorkspacesPage/pages/AllWorkspacesPage/AllWorkspacesPage.tsx","pages/WorkspacesPage/pages/WorkspaceItemPage/components/WorkspaceAnalysisTable.tsx","components/EntityTable/WorkspaceIndexTable.tsx","components/EntityTable/WorkspaceTblTable.tsx","pages/WorkspacesPage/pages/WorkspaceItemPage/components/WorkspaceDetailTable.tsx","pages/WorkspacesPage/pages/WorkspaceItemPage/index.tsx","pages/WorkspacesPage/pages/WorkspaceItemPage/WorkspaceItemPage.tsx","core/domain/audit/AuditService.ts","hooks/services/useAuditHook.tsx","components/EntityTable/AuditTable.tsx","pages/WorkspacesPage/pages/AuditWorkspaceItemPage/components/WorkspaceAuditTable.tsx","pages/WorkspacesPage/pages/AuditWorkspaceItemPage/components/WorkspaceDetailTable.tsx","pages/WorkspacesPage/pages/AuditWorkspaceItemPage/AuditWorkspaceItemPage.tsx","pages/WorkspacesPage/pages/AuditWorkspaceItemPage/index.tsx","webpack://pawsql-ppt/./src/components/ui/workspace/SelectWorkspace/WorkspaceButton.module.scss?cecc","components/ui/workspace/SelectWorkspace/WorkspaceButton.tsx","webpack://pawsql-ppt/./src/components/ui/workspace/SelectWorkspace/WorkspaceGrid.module.scss?d049","components/ui/workspace/SelectWorkspace/WorkspaceGrid.tsx","webpack://pawsql-ppt/./src/components/ui/workspace/SelectWorkspace/SelectWorkspace.module.scss?93d0","components/ui/workspace/SelectWorkspace/SelectWorkspaceType.tsx","pages/WorkspacesPage/pages/SelectWorkspacePage/SelectWorkspacePage.tsx","views/Workspace/ServiceForm/components/Controls/WorkspaceTypeControl.tsx","views/Workspace/ServiceForm/components/Controls/DatabaseTypeControl.tsx","webpack://pawsql-ppt/./src/views/Workspace/ServiceForm/NewFormRoot.module.scss?9276","views/Workspace/ServiceForm/NewFormRoot.tsx","views/Workspace/ServiceForm/NewServiceForm.tsx","views/Workspace/WorkspaceCard/NewWorkspaceCard.tsx","pages/WorkspacesPage/pages/CreateWorkspacePage/components/NewWorkspaceForm.tsx","pages/WorkspacesPage/pages/CreateWorkspacePage/NewWorkspacePage.tsx","pages/WorkspacesPage/index.tsx","pages/WorkspacesPage/WorkspacesPage.tsx","views/Connection/ConnectionForm/components/ConfigFields.tsx","views/Connection/ConnectionForm/AnalysisFunctionConfigForm.tsx","views/Connection/ConnectionForm/AnalysisRuleConfigForm.tsx","views/Connection/ConnectionForm/DbObjectRuleConfigForm.tsx","components/EntityTable/ImplementationPptJobTable.tsx","pages/ConfigPage/pages/AllConfigPage/components/PptJobTable.tsx","pages/ConfigPage/pages/AllConfigPage/components/PptJobConfig.tsx","views/Connection/ConnectionForm/AdminAnalysisRuleConfigForm.tsx","views/Connection/ConnectionForm/AdminAnalysisConfigForm.tsx","views/Connection/ConnectionForm/components/UpdateButton.tsx","views/Connection/ConnectionForm/AdminFunctionConfigForm.tsx","components/EntityTable/RuleTemplateActionButton.tsx","components/EntityTable/ImplementationRuleTemplatesTable.tsx","pages/RuleTemplatesPage/pages/AllRuleTemplatesPage/components/RuleTemplatesTable.tsx","pages/ConfigPage/pages/AllConfigPage/components/RuleTemplateBasicInfoForm.tsx","webpack://pawsql-ppt/./src/views/Connection/CatalogTree/TemplateRuleInfoCatalogSection.module.scss?53b7","webpack://pawsql-ppt/./src/views/Connection/CatalogTree/TemplateRuleInfoHeader.module.scss?cc7a","views/Connection/CatalogTree/TemplateRuleInfoHeader.tsx","views/Connection/CatalogTree/TemplateRuleInfoCatalogSection.tsx","webpack://pawsql-ppt/./src/views/Connection/ConnectionForm/components/TemplateRuleInfoSection.module.scss?233e","views/Connection/ConnectionForm/components/TemplateRuleInfoSection.tsx","pages/ConfigPage/pages/AllConfigPage/components/RuleTemplateDetails.tsx","utils/cx.ts","components/TremorComponent/Badge.tsx","utils/focusRing.ts","components/TremorComponent/CheckBox.tsx","pages/ConfigPage/pages/AllConfigPage/components/RuleCategoryFilter.tsx","webpack://pawsql-ppt/./src/pages/ConfigPage/pages/AllConfigPage/components/RuleTemplateRuleFilter.module.scss?b62e","pages/ConfigPage/pages/AllConfigPage/components/RuleTemplateRuleFilter.tsx","pages/RuleTemplatesPage/pages/CreationFormPage/CreationFormPage.tsx","views/Workspace/ServiceForm/components/CreateSuccess.tsx","pages/ConfigPage/pages/AllConfigPage/components/RuleTemplateRuleConfigForm.tsx","pages/RuleTemplatesPage/pages/CreationFormPage/index.tsx","pages/ConfigPage/pages/AllConfigPage/components/RuleTemplateFormModal.tsx","pages/RuleTemplatesPage/pages/AllRuleTemplatesPage/AllRuleTemplatesPage.tsx","pages/ConfigPage/pages/AllConfigPage/components/ConfirmDelete.tsx","webpack://pawsql-ppt/./src/pages/ConfigPage/pages/AllConfigPage/components/RuleTemplatesConfig.module.scss?4c4f","pages/ConfigPage/pages/AllConfigPage/components/RuleTemplatesConfig.tsx","pages/RuleTemplatesPage/index.tsx","pages/RuleTemplatesPage/RuleTemplatesPage.tsx","pages/ConfigPage/pages/AllConfigPage/AllPptConfigPage.tsx","pages/ConfigPage/PptConfigPage.tsx","pages/ConfigPage/pages/AllConfigPage/AllAppConfigPage.tsx","pages/ConfigPage/AppConfigPage.tsx","pages/SQLAuditsPage/pages/SQLAuditItemPage/components/AuditObjectDetailContext.tsx","pages/SQLAuditsPage/pages/SQLAuditItemPage/components/NameCell.tsx","pages/SQLAuditsPage/pages/SQLAuditItemPage/components/ContentCell.tsx","pages/SQLAuditsPage/pages/SQLAuditItemPage/components/QueriesView.tsx","webpack://pawsql-ppt/./src/pages/SQLAuditsPage/pages/SQLAuditItemPage/components/BasicSummaryCard.module.scss?9ef0","pages/SQLAuditsPage/pages/SQLAuditItemPage/components/BasicSummaryCard.tsx","pages/SQLAuditsPage/pages/SQLAuditItemPage/components/SQLTypeChart.tsx","webpack://pawsql-ppt/./src/pages/SQLAuditsPage/pages/SQLAuditItemPage/components/RuleRankBarList.module.scss?0d66","pages/SQLAuditsPage/pages/SQLAuditItemPage/components/RuleRankBarList.tsx","pages/SQLAuditsPage/pages/SQLAuditItemPage/components/RuleRiskChart.tsx","pages/SQLAuditsPage/pages/SQLAuditItemPage/components/AuditSummaryDashBoard.tsx","pages/SQLAuditsPage/pages/SQLAuditItemPage/components/SummaryView.tsx","pages/SQLAuditsPage/pages/SQLAuditItemPage/components/MarkdownView.tsx","pages/SQLAuditsPage/pages/SQLAuditItemPage/components/AuditObjectDetailView.tsx","pages/SQLAuditsPage/pages/SQLAuditItemPage/SQLAuditItemPage.tsx","pages/SQLAuditsPage/pages/SQLAuditItemPage/index.tsx","pages/SQLAuditsPage/pages/AllSQLAuditsPage/components/AuditTableComponent.tsx","pages/SQLAuditsPage/pages/AllSQLAuditsPage/AllSQLAuditsPage.tsx","pages/SQLAuditsPage/pages/AllSQLAuditsPage/index.tsx","pages/SQLAuditsPage/index.tsx","pages/SQLAuditsPage/SQLAuditsPage.tsx","views/Connection/ConnectionForm/AuditRuleConfigForm.tsx","pages/ConfigPage/pages/AllConfigPage/AllAuditConfigPage.tsx","pages/ConfigPage/AuditConfigPage.tsx","views/layout/SideBar/AuditSideBar.tsx","views/layout/MainView/AuditMainView.tsx","pages/SQLAuditsPage/pages/CreatAuditPage/components/AuditForm.tsx","pages/SQLAuditsPage/pages/CreatAuditPage/index.tsx","pages/SQLAuditsPage/pages/CreatAuditPage/CreateAuditPage.tsx","pages/LandingPage/pages/LandingPage/components/ProductSection.tsx","pages/LandingPage/pages/LandingPage/components/CompanyBanner.tsx","pages/LandingPage/pages/LandingPage/components/DatabaseSupport.tsx","pages/LandingPage/pages/LandingPage/PawSQLLandingPage.tsx","pages/LandingPage/pages/LandingPage/InternalPawSQLLandingPage.tsx","pages/LandingPage/index.tsx","pages/LandingPage/LandingPage.tsx","pages/IntegrationPage/pages/CreateIntegrationPage/component/TestingIntegrationSuccess.tsx","pages/IntegrationPage/pages/CreateIntegrationPage/component/TestingIntegrationError.tsx","pages/IntegrationPage/pages/CreateIntegrationPage/component/IntegrationCreateControls.tsx","core/domain/integration/IntegrationService.ts","hooks/services/useIntegrationHook.tsx","pages/IntegrationPage/pages/CreateIntegrationPage/component/OpsConfigForm.tsx","pages/IntegrationPage/pages/CreateIntegrationPage/component/GitHubIntegrationConfig.tsx","pages/IntegrationPage/pages/CreateIntegrationPage/CreateIntegrationPage.tsx","pages/IntegrationPage/pages/AllIntegrationPage/component/InitialGitHubConfig.tsx","webpack://pawsql-ppt/./src/components/ui/Spinner/Spinner.module.scss?e213","components/ui/Spinner/Spinner.tsx","webpack://pawsql-ppt/./src/pages/IntegrationPage/pages/AllIntegrationPage/component/LoadingBackdrop.module.scss?63da","pages/IntegrationPage/pages/AllIntegrationPage/component/LoadingBackdrop.tsx","webpack://pawsql-ppt/./src/pages/IntegrationPage/pages/AllIntegrationPage/component/ResponseMessage.module.scss?0bee","pages/IntegrationPage/pages/AllIntegrationPage/component/ResponseMessage.tsx","pages/IntegrationPage/pages/AllIntegrationPage/component/IntegrationItemsTable.tsx","pages/IntegrationPage/pages/AllIntegrationPage/AllIntegrationPage.tsx","pages/IntegrationPage/pages/CreateIntegrationPage/component/GitHubItemConfigForm.tsx","pages/IntegrationPage/pages/CreateIntegrationPage/component/GitHubIntegrationItemConfig.tsx","pages/IntegrationPage/index.tsx","pages/IntegrationPage/IntegrationPage.tsx","cloud/service/email/EmailTemplatesService.ts","cloud/hook/useEmailTemplateHook.tsx","cloud/component/EmailTemplateFormikForm.tsx","cloud/service/email/EmailRemindersService.ts","cloud/hook/useEmailReminderHook.tsx","pages/ConfigPage/pages/AllConfigPage/components/ConfirmTestTask.tsx","cloud/component/EmailTemplatesTable.tsx","cloud/component/EmailReminderForm.tsx","pages/ConfigPage/pages/AllConfigPage/components/ConfirmDoTask.tsx","cloud/component/EmailRemindersTable.tsx","core/domain/workspace/LogService.ts","hooks/services/useLogHook.tsx","cloud/pages/LogPage/pages/AllLogPage/components/BasicLogViewer.tsx","cloud/pages/LogPage/pages/AllLogPage/components/Decoder.tsx","cloud/pages/LogPage/pages/AllLogPage/AllLogPage.tsx","cloud/pages/LogPage/pages/AllLogPage/index.tsx","cloud/views/EmailTaskModal/components/EmailTaskForm.tsx","cloud/views/EmailTaskModal/EmailTaskModal.tsx","cloud/views/EmailTaskModal/index.tsx","cloud/component/EmailEditorForm.tsx","cloud/pages/AllUsersPage/AllCloudUsersPage.tsx","cloud/pages/AllUsersPage/index.tsx","pages/WelcomePages/index.tsx","pages/WelcomePages/WelcomeDemo.tsx","cloud/pages/ConfigPage/AllCloudConfigPage.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/PluginHeader.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/PluginFormContent.tsx","pages/AnalysisPage/pages/AnalysisItemPage/components/SimpleDetailView.tsx","views/analyses/QuerySimpleDetailPage/QuerySimpleDetailPage.tsx","components/Markdown/MarkdownView.tsx","views/auth/TermsPage/TermsPage.tsx","views/auth/PrivacyPage/PrivacyPage.tsx","cloud/views/billing/BillingPage/components/subscription/PlanUsageSection.tsx","cloud/views/billing/BillingPage/components/subscription/PlanManagementSection.tsx","utils/dateUtils.ts","cloud/views/billing/BillingPage/components/subscription/BillingSection.tsx","cloud/views/billing/BillingPage/components/SubscriptionOverview.tsx","cloud/views/billing/BillingPage/components/SubscriptionUpdatePreview.tsx","cloud/views/billing/BillingPage/components/SubscriptionPlan.tsx","cloud/views/billing/BillingPage/components/PricingFAQ.tsx","cloud/views/billing/BillingPage/components/SubscriptionPricing.tsx","cloud/views/billing/BillingPage/NewBillingPage.tsx","cloud/views/billing/BillingPage/components/SubscriptionPlanNotLogin.tsx","cloud/views/billing/BillingPage/PricingPage.tsx","pages/routescloud.tsx","pages/LicensePage/pages/PricingPage/components/License.tsx","pages/LicensePage/pages/PricingPage/HomeLicensePage.tsx","pages/LicensePage/index.tsx","pages/LicensePage/LicensePage.tsx","pages/LicensePage/pages/PricingPage/PawSQLLicensePage.tsx","pages/routesinternal.tsx","pages/routes.tsx","App.tsx"],"sourcesContent":["export enum FeatureItem {\n AllowUploadCustomImage = \"ALLOW_UPLOAD_CUSTOM_IMAGE\",\n AllowCustomDBT = \"ALLOW_CUSTOM_DBT\",\n AllowCreateConnection = \"ALLOW_CREATE_CONNECTION\",\n AllowCreateAnalysis = \"ALLOW_CREATE_ANALYSIS\",\n AllowSync = \"ALLOW_SYNC\",\n}\n\ninterface Feature {\n id: FeatureItem;\n}\n\ninterface FeatureServiceApi {\n features: Feature[];\n registerFeature: (props: Feature[]) => void;\n unregisterFeature: (props: FeatureItem[]) => void;\n hasFeature: (featureId: FeatureItem) => boolean;\n}\n\nexport type { Feature, FeatureServiceApi };\n","export function isDefined(a: T | null | undefined): a is Exclude {\n return a !== undefined && a !== null;\n}\n\nexport function isNotBlank(a: string | null | undefined): a is Exclude {\n return a !== undefined && a !== null && a !== \"\";\n}\n\nexport function isBlank(a: string | null | undefined): a is Exclude {\n return a === undefined || a === null || a === \"\";\n}\n","// This file should contain all hard-coded outbound links we use in the UI.\n// Everything that is exported via `links` here will be validated in the CI for it's\n// existence as well as periodically checked that they are still reachable.\n\nconst BASE_DOCS_LINK = \"https://docs.pawsql.com\";\nconst BASE_GUIDES_LINK = window.GUIDES_URL ? window.GUIDES_URL : \"https://docs.pawsql.com/guides\";\n\nexport const links = {\n technicalSupport: `${BASE_DOCS_LINK}/troubleshooting/on-deploying`,\n termsLink: `${window.location.protocol}//${window.location.host}/terms`,\n privacyLink: `${window.location.protocol}//${window.location.host}/privacy`,\n helpLink: \"https://pawsql.com/community\",\n gitLink: `${BASE_DOCS_LINK}/quickstart/deploy-pawsql`,\n updateLink: `${BASE_DOCS_LINK}/operator-guides/upgrading-pawsql`,\n productReleaseStages: `${BASE_DOCS_LINK}/project-overview/product-release-stages`,\n slackLink: \"https://slack.pawsql.com\",\n twitterLink: \"https://twitter.com/pawsql\",\n emailLink: \"mailto:service@pawsql.com\",\n email: \"service@pawsql.com\",\n supportTicketLink: \"https://pawsql.com/support\",\n pricingLink: `${window.location.protocol}//${window.location.host}/pricing`,\n docsLink: (locale: string) => `${BASE_DOCS_LINK}${locale === \"zh\" ? `/${locale}` : \"\"}`,\n selfHostLink: `${window.location.protocol}//${window.location.host}/support`,\n guidesLink: BASE_GUIDES_LINK,\n configurationArchiveLink: `${BASE_DOCS_LINK}/operator-guides/upgrading-pawsql/`,\n normalizationLink: `${BASE_DOCS_LINK}/understanding-pawsql`,\n namespaceLink: `${BASE_DOCS_LINK}/understanding-pawsql/namespaces`,\n statusLink: \"https://status.pawsql.com/\",\n // recipesLink: \"https://pawsql.com/recipes\",\n recipesLink: \"https://docs.pawsql.com/\",\n demoLink: \"https://demo.pawsql.com\",\n contactSales: \"https://pawsql.com/talk-to-sales\",\n webpageLink: \"https://pawsql.com\",\n cronReferenceLink: \"http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html\",\n airwallexLink: \"https://www.airwallex.com/cn\",\n prcingDescription: \"https://pawsql.com/pricing\",\n} as const;\n\nexport type OutboundLinks = typeof links;\n","import { Feature } from \"hooks/services/Feature\";\nimport { FeatureItem } from \"hooks/services/Feature/types\";\nimport { isDefined } from \"utils/common\";\n\nimport { links } from \"./links\";\nimport { Config } from \"./types\";\n\nconst features: Feature[] = [\n {\n id: FeatureItem.AllowUploadCustomImage,\n },\n {\n id: FeatureItem.AllowCustomDBT,\n },\n {\n id: FeatureItem.AllowCreateConnection,\n },\n {\n id: FeatureItem.AllowSync,\n },\n {\n id: FeatureItem.AllowCreateAnalysis,\n },\n];\n\nconst defaultConfig: Config = {\n links,\n segment: { enabled: true, token: \"\" },\n healthCheckInterval: 20000,\n version: \"beta\",\n // apiUrl: `${window.location.protocol}//${window.location.hostname}/api`,\n // apiUrl: `http://localhost:8002/api`,\n apiUrl: isDefined(window.API_URL) ? window.API_URL : `http://localhost:8002/api`,\n pawsqlIps: isDefined(window.PAWSQL_IPS) ? window.PAWSQL_IPS : `47.245.115.115`,\n integrationUrl: \"/docs\",\n oauthRedirectUrl: `${window.location.protocol}//${window.location.host}`,\n isInternal: isDefined(window.IS_INTERNAL) ? window.IS_INTERNAL : false,\n enablePlan: isDefined(window.ENABLE_PLAN) ? window.ENABLE_PLAN : false,\n isDemo: false,\n features,\n};\n\nexport { defaultConfig };\n","import merge from \"lodash/merge\";\n\nimport { isDefined } from \"utils/common\";\n\nimport { ConfigProvider, DeepPartial, ValueProvider } from \"./types\";\n\nconst windowConfigProvider: ConfigProvider = async () => {\n return {\n segment: {\n enabled: isDefined(window.TRACKING_STRATEGY) ? window.TRACKING_STRATEGY === \"segment\" : undefined,\n token: window.SEGMENT_TOKEN,\n },\n apiUrl: window.API_URL,\n version: window.PAWSQL_VERSION,\n isDemo: window.IS_DEMO === \"true\",\n // cloud only start\n // TODO: remove when infra team supports proper webapp building\n cloud: window.CLOUD === \"true\",\n // cloud only end\n };\n};\n\nconst envConfigProvider: ConfigProvider = async () => {\n return {\n apiUrl: process.env.REACT_APP_API_URL,\n integrationUrl: process.env.REACT_APP_INTEGRATION_DOCS_URLS,\n segment: {\n token: process.env.REACT_APP_SEGMENT_TOKEN,\n },\n };\n};\n\nasync function applyProviders(defaultValue: T, providers: ValueProvider): Promise {\n let value: DeepPartial = {};\n\n for (const provider of providers) {\n const partialConfig = await provider();\n\n value = merge(value, partialConfig);\n }\n\n return merge(defaultValue, value);\n}\n\nexport { windowConfigProvider, envConfigProvider, applyProviders };\n","import styled from \"styled-components\";\nimport { Theme } from \"theme\";\n\nimport { ButtonProps } from \"./types\";\n\ntype IStyleProps = ButtonProps & { theme: Theme };\n\nconst getBorderColor = (props: IStyleProps) => {\n if ((props.secondary && props.wasActive) || props.iconOnly) {\n return \"transparent\";\n }\n\n if (props.secondary) {\n return props.theme.greyColor30;\n } else if (props.danger) {\n return props.theme.dangerColor;\n }\n\n return props.theme.primaryColor;\n};\n\nconst getBackgroundColor = (props: IStyleProps) => {\n if (props.wasActive) {\n if (props.secondary || props.iconOnly) {\n return props.theme.primaryColor12;\n }\n return \"transparent\";\n } else if (props.secondary || props.iconOnly) {\n return \"transparent\";\n } else if (props.danger) {\n return props.theme.dangerColor;\n }\n\n return props.theme.primaryColor;\n};\n\nconst getTextColor = (props: IStyleProps) => {\n if (props.wasActive) {\n if (props.danger) {\n return props.theme.dangerColor;\n }\n return props.theme.primaryColor;\n } else if (props.secondary || props.iconOnly) {\n return props.theme.darkGreyColor;\n }\n\n return props.theme.whiteColor;\n};\n\nconst getDisabledTextColor = (props: IStyleProps) => {\n if (props.danger) {\n return props.theme.dangerColor;\n } else if (props.iconOnly) {\n return props.theme.greyColor40;\n }\n\n return getTextColor(props);\n};\n\nconst getDisabledOpacity = (props: IStyleProps) => {\n if (props.danger) {\n return \".5\";\n } else if (props.iconOnly) {\n return \"1\";\n }\n\n return \".3\";\n};\n\nconst getShadowOnHover = (props: IStyleProps) => {\n if (props.secondary || props.iconOnly || (props.wasActive && !props.clickable)) {\n return \"none\";\n }\n\n return \"0 1px 3px rgba(53, 53, 66, .2), 0 1px 2px rgba(53, 53, 66, .12), 0 1px 1px rgba(53, 53, 66, .14)\";\n};\n\nconst getFontSize = (props: IStyleProps) => {\n if (props.size === \"xl\") {\n return 16;\n }\n if (props.iconOnly) {\n return 14;\n }\n return 12;\n};\n\nconst getPadding = (props: IStyleProps) => {\n if (props.size === \"xl\") {\n return \".8em 2.5em\";\n }\n if (props.iconOnly) {\n return \"1.5px 3px\";\n }\n\n return \"5px 16px\";\n};\n\nconst Button = styled.button`\n width: ${(props) => (props.full ? \"100%\" : \"auto\")};\n display: ${(props) => (props.full ? \"block\" : \"inline-block\")};\n border: 1px solid ${(props) => getBorderColor(props)};\n outline: none;\n border-radius: 4px;\n padding: ${(props) => getPadding(props)};\n font-weight: ${(props) => (props.size === \"xl\" ? 600 : 500)};\n font-size: ${(props) => getFontSize(props)}px;\n /* TODO: should try to get rid of line-height altogether */\n line-height: ${(props) => (props.size === \"xl\" ? \"initial\" : \"15px\")};\n text-align: center;\n letter-spacing: 0.03em;\n cursor: pointer;\n pointer-events: ${(props) => (props.wasActive && !props.clickable ? \"none\" : \"all\")};\n color: ${(props) => getTextColor(props)};\n background: ${(props) => getBackgroundColor(props)};\n text-decoration: none;\n\n &:disabled {\n opacity: ${(props) => getDisabledOpacity(props)};\n background: ${(props) => props.danger && \"transparent\"};\n border: ${(props) => props.danger && \"none\"};\n color: ${(props) => getDisabledTextColor(props)};\n pointer-events: none;\n }\n\n &:hover {\n box-shadow: ${(props) => getShadowOnHover(props)};\n border-color: ${(props) =>\n (props.secondary && props.theme.greyColor40) || (props.iconOnly && props.theme.greyColor20)};\n color: ${(props) => (props.secondary || props.iconOnly) && props.theme.textColor};\n }\n`;\n\nexport default Button;\n","import { faCircleNotch } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\nimport styled, { keyframes } from \"styled-components\";\n\nimport Button from \"./Button\";\nimport { ButtonProps } from \"./types\";\n\nexport const SpinAnimation = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nconst SymbolSpinner = styled(FontAwesomeIcon)`\n display: inline-block;\n font-size: 18px;\n position: absolute;\n left: 50%;\n animation: ${SpinAnimation} 1.5s linear 0s infinite;\n color: ${({ theme, danger }) => (danger ? theme.dangerColor : theme.primaryColor)};\n margin: -1px 0 -3px -9px;\n`;\n\nconst ButtonView = styled(Button)`\n pointer-events: none;\n background: ${({ theme, danger }) => (danger ? theme.dangerColor25 : theme.primaryColor25)};\n border-color: transparent;\n position: relative;\n`;\n\nconst Invisible = styled.div`\n color: rgba(255, 255, 255, 0);\n`;\n/*\n * TODO: this component need to be refactored - we need to have\n * the only one \n )}\n \n );\n};\n\nexport { EditorHeader };\n","import { faTimes } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n\nconst Content = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-direction: row;\n color: ${({ theme }) => theme.textColor};\n font-weight: 500;\n font-size: 14px;\n line-height: 17px;\n padding: 5px 12px 6px 14px;\n border-bottom: 1px solid ${({ theme }) => theme.greyColor20};\n\n &:last-child {\n border: none;\n }\n`;\n\nconst DeleteButton = styled(Button)`\n margin-left: 7px;\n`;\n\ninterface EditorRowProps {\n name: string;\n id: number;\n onEdit: (id: number) => void;\n onRemove: (id: number) => void;\n disabled?: boolean;\n}\n\nconst EditorRow: React.FC = ({ name, id, onEdit, onRemove, disabled }) => {\n const { formatMessage } = useIntl();\n const buttonLabel = formatMessage({ id: \"form.delete\" });\n\n return (\n \n
{name || id}
\n
\n \n onRemove(id)} disabled={disabled} aria-label={buttonLabel}>\n \n \n
\n
\n );\n};\n\nexport { EditorRow };\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n\nimport { ConnectionFormMode } from \"views/Connection/ConnectionForm/AnalysisForm\";\n\nimport { EditorHeader } from \"./components/EditorHeader\";\nimport { EditorRow } from \"./components/EditorRow\";\n\nconst ItemsList = styled.div`\n background: ${({ theme }) => theme.greyColor0};\n border-radius: 4px;\n`;\n\nconst ButtonContainer = styled.div`\n display: flex;\n justify-content: flex-end;\n`;\n\nconst SmallButton = styled(Button)`\n margin-left: 8px;\n padding: 6px 8px 7px;\n`;\n\nconst Content = styled.div`\n margin-bottom: 20px;\n`;\n\nexport interface ArrayOfObjectsEditorProps {\n items: T[];\n editableItemIndex?: number | string | null;\n children: (item?: T) => React.ReactNode;\n mainTitle?: React.ReactNode;\n addButtonText?: React.ReactNode;\n onStartEdit: (n: number) => void;\n onCancelEdit?: () => void;\n onDone?: () => void;\n onRemove: (index: number) => void;\n mode?: ConnectionFormMode;\n disabled?: boolean;\n}\n\nexport function ArrayOfObjectsEditor({\n onStartEdit,\n onDone,\n onRemove,\n onCancelEdit,\n items,\n editableItemIndex,\n children,\n mainTitle,\n addButtonText,\n mode,\n disabled,\n}: ArrayOfObjectsEditorProps): JSX.Element {\n const onAddItem = React.useCallback(() => onStartEdit(items.length), [onStartEdit, items]);\n\n const isEditable = editableItemIndex !== null && editableItemIndex !== undefined;\n\n if (mode !== \"readonly\" && isEditable) {\n const item = typeof editableItemIndex === \"number\" ? items[editableItemIndex] : undefined;\n return (\n \n {children(item)}\n {onCancelEdit || onDone ? (\n \n {onCancelEdit && (\n \n \n \n )}\n {onDone && (\n \n \n \n )}\n \n ) : null}\n \n );\n }\n\n return (\n \n \n {items.length ? (\n \n {items.map((item, key) => (\n \n ))}\n \n ) : null}\n \n );\n}\n","import { ArrayOfObjectsEditor } from \"./ArrayOfObjectsEditor\";\n\nexport default ArrayOfObjectsEditor;\nexport { ArrayOfObjectsEditor };\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { H5, Card } from \"components\";\n\ninterface IProps {\n title?: string | React.ReactNode;\n ref?: React.RefObject | null | undefined;\n className?: string;\n onClick?: () => void;\n full?: boolean;\n light?: boolean;\n center?: boolean;\n widthPer?: number;\n height?: number;\n}\n\nconst Title = styled(H5)<{ light?: boolean; center?: boolean }>`\n padding: ${({ light }) => (light ? \"19px 20px 20px\" : \"25px 25px 22px\")};\n color: ${({ theme }) => theme.darkPrimaryColor};\n box-shadow: ${({ light, theme }) => (light ? \"none\" : `0 1px 2px ${theme.shadowColor}`)};\n font-weight: 600;\n letter-spacing: 0.008em;\n border-radius: 10px 10px 0 0;\n`;\n\nconst ContentCard: React.FC = (props) => (\n \n {props.title ? (\n \n {props.title}\n \n ) : null}\n {props.children}\n \n);\n\nexport default ContentCard;\n","import ContentCard from \"./ContentCard\";\n\nexport default ContentCard;\nexport { ContentCard };\n","import Editor, { loader } from \"@monaco-editor/react\";\nimport React from \"react\";\n\nimport { isDefined } from \"utils/common\";\n\nloader.config({\n paths: {\n vs: \"/monaco-editor/min/vs\",\n },\n});\n\ninterface CodeEditorProps {\n height?: string;\n width?: string;\n code: string;\n language?: string;\n readonly?: boolean;\n onchange?: (rawText: string) => void;\n}\n\nexport const CodeEditor: React.FC = ({ onchange, readonly, width, code, height, language }) => {\n return (\n {\n if (isDefined(event) && isDefined(onchange)) {\n onchange(event);\n }\n }}\n options={{\n fontSize: 15,\n lineNumbersMinChars: 2,\n readOnly: isDefined(readonly) ? readonly : true,\n matchBrackets: \"always\",\n minimap: {\n enabled: false,\n },\n // wordWrap: \"on\",\n scrollBeyondLastLine: false,\n }}\n />\n );\n};\n","export enum RoutePaths {\n AuthFlow = \"/auth_flow\",\n Root = \"/\",\n Signup = \"/signup\",\n Login = \"/login\",\n Docs = \"/docs\",\n Wechat = \"/wechat\",\n Static = \"/static\",\n PrivacyPolicy = \"/privacy\",\n Terms = \"/terms\",\n Rule = \"/rule\",\n Workspace = \"/workspace\",\n Instance = \"/instance\",\n Workload = \"/workload\",\n Analysis = \"/analysis\",\n Statement = \"/statement\",\n Query = \"/query\",\n SQLAudit = \"/sqlAudit\",\n SlowQuery = \"/slowQuery\",\n Explain = \"/explain\",\n DiffExplain = \"/diffExplain\",\n ResetPassword = \"/reset-password\",\n ResetPasswordAction = \"/reset-password-action\",\n ProductSupport = \"/support\",\n Pricing = \"/pricing\",\n License = \"/license\",\n\n Details = \"details\",\n Users = \"users\",\n Members = \"members\",\n Preferences = \"preferences\",\n Onboarding = \"onboarding\",\n Connections = \"connections\",\n Workspaces = \"workspaces\",\n SQLAudits = \"sqlAudits\",\n List = \"list\",\n AuditTasks = \"tasks\",\n Integration = \"Integration\",\n IntegrationNew = \"new-integration\",\n InitGithub = \"init\",\n ItemConfig = \"config\",\n Workloads = \"workloads\",\n Instances = \"instances\",\n Dashboard = \"dashboard\",\n InstanceList = \"instanceList\",\n RulePolicies = \"policies\",\n Databases = \"databases\",\n Variables = \"variables\",\n Tables = \"tables\",\n SlowQueries = \"slowQueries\",\n DbObjects = \"dbObjects\",\n CronConfig = \"cron-config\",\n Analyses = \"analyses\",\n Configs = \"configs\",\n Logs = \"logs\",\n Destination = \"destination\",\n Source = \"source\",\n Settings = \"settings\",\n Reactive = \"reactive\",\n Connection = \"connection\",\n ConnectionNew = \"new-connection\",\n AnalysisNew = \"new-analysis\",\n SourceNew = \"new-source\",\n WorkspaceNew = \"new-workspace\",\n WorkloadNew = \"new-workload\",\n RuleTemplateNew = \"new\",\n AuditNew = \"new\",\n InstanceNew = \"new-instance\",\n InstanceType = \"select-instance-type\",\n WorkspaceType = \"select-workspace-type\",\n InstanceInit = \"init-instance\",\n ExplainNew = \"new\",\n DestinationNew = \"new-destination\",\n Ppt = \"/ppt\",\n App = \"/app\",\n Audit = \"/audit\",\n Ppv = \"/ppv\",\n Subscription = \"subscription\",\n Usage = \"usage\",\n Checkout = \"checkout\",\n}\n","const DefaultLogoCatalog = (): JSX.Element => (\n \n \n \n);\n\nexport default DefaultLogoCatalog;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { DefaultLogoCatalog } from \"components\";\n\nconst IconContainer = styled.img`\n height: 100%;\n width: 100%;\n`;\n\nconst IconDefaultContainer = styled.div`\n padding: 4px 0 3px;\n`;\n\nexport const getIcon = (icon?: string): React.ReactNode => {\n if (!icon) {\n return (\n \n \n \n );\n }\n\n // If the icon is a path (starts with '/'), use it directly\n if (icon.startsWith(\"/\")) {\n return ;\n }\n\n // Otherwise treat it as SVG content\n return ;\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\n\ninterface IProps {\n error?: boolean;\n nextLine?: boolean;\n success?: boolean;\n message?: string | React.ReactNode;\n additionLength?: number;\n className?: string;\n onClick?: (data: unknown) => void;\n}\n\nconst Content = styled.label<{ additionLength?: number | string }>`\n display: block;\n font-weight: 500;\n font-size: 14px;\n line-height: 17px;\n color: ${({ theme }) => theme.textColor};\n padding-bottom: 5px;\n width: calc(100% + ${({ additionLength }) => (additionLength === 0 || additionLength ? additionLength : 0)}px);\n\n & a {\n text-decoration: underline;\n color: ${({ theme }) => theme.primaryColor};\n }\n`;\n\nconst MessageText = styled.span>`\n white-space: break-spaces;\n color: ${(props) =>\n props.error ? props.theme.dangerColor : props.success ? props.theme.successColor : props.theme.greyColor40};\n font-size: 13px;\n`;\n\nconst Label: React.FC = (props) => (\n \n {props.children}\n {props.message && (\n \n {props.children ? props.nextLine ?
: \" - \" : null}\n {props.message}\n
\n )}\n
\n);\n\nexport default Label;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { getIcon } from \"utils/imageUtils\";\n\ninterface IProps {\n img?: string;\n className?: string;\n num?: number;\n small?: boolean;\n}\n\nexport const Content = styled.div<{ small?: boolean }>`\n height: 25px;\n width: 25px;\n min-width: 25px;\n background: ${({ theme, small }) => (small ? \"none\" : theme.brightColor)};\n box-shadow: ${({ theme, small }) => (small ? \"none\" : `0 1px 2px 0 ${theme.shadowColor}`)};\n border-radius: ${({ small }) => (small ? 0 : 50)}%;\n text-align: center;\n\n overflow: hidden;\n`;\n\nexport const Number = styled.div`\n font-weight: 500;\n font-size: 14px;\n color: ${({ theme }) => theme.primaryColor};\n padding: 4px 0 3px;\n`;\n\nconst ImageBlock: React.FC = ({ img, className, num, small }) => (\n \n {num ? {num} : <>{getIcon(img)}}\n \n);\n\nexport default ImageBlock;\nexport { ImageBlock };\n","import Label from \"./Label\";\n\nexport default Label;\nexport { Label };\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport Label from \"components/Label\";\n\nexport interface ControlLabelsProps {\n className?: string;\n error?: boolean;\n success?: boolean;\n nextLine?: boolean;\n message?: React.ReactNode;\n errorMessage?: React.ReactNode;\n labelAdditionLength?: number;\n label?: React.ReactNode;\n infoTooltipContent?: React.ReactNode;\n}\n\nconst ControlContainer = styled.div`\n width: 100%;\n display: inline-block;\n`;\n\nconst ControlLabels: React.FC = (props) => (\n \n \n {props.label}\n \n {props.children}\n \n);\n\nexport { ControlLabels };\n","import React from \"react\";\n\nimport { Input, InputProps } from \"components/base\";\nimport { ControlLabels } from \"components/LabeledControl\";\n\ntype IProps = {\n success?: boolean;\n message?: React.ReactNode;\n label?: React.ReactNode;\n labelAdditionLength?: number;\n} & InputProps;\n\nconst LabeledInput: React.FC = (props) => (\n \n \n \n);\n\nexport default LabeledInput;\n","import LabeledInput from \"./LabeledInput\";\n\nexport default LabeledInput;\nexport { LabeledInput };\n","// extracted by mini-css-extract-plugin\nexport default {\"labeledSwitch\":\"LabeledSwitch_labeledSwitch__I6A6x\",\"label\":\"LabeledSwitch_label__8U789\",\"disabled\":\"LabeledSwitch_disabled__dw2Yn\",\"additionalMessage\":\"LabeledSwitch_additionalMessage__kPMiP\"};","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { RadioButton } from \"components\";\n\ntype IProps = {\n message?: React.ReactNode;\n label?: React.ReactNode;\n className?: string;\n} & React.InputHTMLAttributes;\n\nconst ControlContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-bottom: 6px;\n`;\n\nconst Label = styled.label<{ disabled?: boolean }>`\n padding-left: 7px;\n font-size: 15px;\n line-height: 18px;\n font-weight: 500;\n color: ${({ theme, disabled }) => (disabled ? theme.greyColor40 : theme.darkPrimaryColor)};\n cursor: ${({ disabled }) => (disabled ? \"auto\" : \"pointer\")};\n`;\n\nconst AdditionMessage = styled.span`\n padding-left: 5px;\n color: ${({ theme }) => theme.greyColor40};\n font-size: 13px;\n\n & a {\n text-decoration: underline;\n color: ${({ theme }) => theme.primaryColor};\n }\n`;\n\nconst LabeledRadioButton: React.FC = (props) => (\n \n \n \n \n);\n\nexport default LabeledRadioButton;\n","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport { CheckBox, Switch } from \"components/base\";\n\nimport styles from \"./LabeledSwitch.module.scss\";\n\ninterface LabeledSwitchProps extends React.InputHTMLAttributes {\n message?: React.ReactNode;\n label?: React.ReactNode;\n checkbox?: boolean;\n loading?: boolean;\n}\n\nexport const LabeledSwitch: React.FC = (props) => (\n
\n \n {props.checkbox ? (\n \n ) : (\n \n )}\n \n\n \n {props.label}\n {props.message}\n \n
\n);\n","import {\n Link as ReactLink,\n // LinkProps as ReactLinkProps,\n} from \"react-router-dom\";\nimport styled from \"styled-components\";\n\nexport interface ILinkProps {\n bold?: boolean;\n $clear?: boolean;\n $light?: boolean;\n}\n\n// TODO: fix typings\nconst Link = styled(ReactLink)`\n color: ${({ theme, $light }) => ($light ? theme.darkGreyColor : theme.primaryColor)};\n\n font-weight: ${({ bold }) => (bold ? \"bold\" : \"normal\")};\n text-decoration: ${({ $clear }) => ($clear ? \"none\" : \"underline\")};\n\n &:hover {\n opacity: 0.8;\n }\n`;\n\nexport default Link;\n","import React from \"react\";\nimport styled, { keyframes } from \"styled-components\";\n\ninterface IProps {\n backgroundColor?: string;\n small?: boolean;\n}\n\nexport const SpinAnimation = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nconst SpinnerWheel = styled.div<{ small?: boolean }>`\n display: inline-block;\n height: ${({ small }) => (small ? 30 : 42)}px;\n width: ${({ small }) => (small ? 30 : 42)}px;\n border-radius: 50%;\n border: 4px solid ${({ theme }) => theme.primaryColor12};\n position: relative;\n animation: ${SpinAnimation} 1.5s linear 0s infinite;\n`;\n\nconst BreakRec = styled.div`\n width: 13px;\n height: 7px;\n background: ${({ theme, backgroundColor }) => (backgroundColor ? backgroundColor : theme.whiteColor)};\n top: -4px;\n position: relative;\n margin: 0 auto;\n`;\n\nconst Spinner: React.FC = ({ backgroundColor, small }) => (\n \n \n \n);\n\nexport default Spinner;\n","import Spinner from \"./Spinner\";\n\nexport default Spinner;\nexport { Spinner };\n","import React from \"react\";\nimport styled, { useTheme } from \"styled-components\";\nimport { Theme } from \"theme\";\n\nimport Spinner from \"components/Spinner\";\n\ninterface IProps {\n full?: boolean;\n}\n\nconst Container = styled.div`\n width: 100%;\n height: 100%;\n padding: 20px 10px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nconst LoadingPage: React.FC = ({ full }) => {\n const theme = useTheme() as Theme;\n return (\n \n \n \n );\n};\n\nexport default LoadingPage;\n","import LoadingPage from \"./LoadingPage\";\n\nexport default LoadingPage;\nexport { LoadingPage };\n","// extracted by mini-css-extract-plugin\nexport default {\"page\":\"MainPageWithScroll_page__-YfB9\",\"headerError\":\"MainPageWithScroll_headerError__oNzjH\",\"content\":\"MainPageWithScroll_content__AA9nX\",\"contentWithoutFooter\":\"MainPageWithScroll_contentWithoutFooter__nB-vy\"};","import { useConfig } from \"config\";\nimport { links } from \"config/links\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useIntl } from \"react-intl\";\n\nexport default function Footer() {\n const config = useConfig();\n\n const { formatMessage, locale } = useIntl();\n return (\n
\n
\n

\n {formatMessage({ id: \"pricing.page.footer\" })}\n

\n
\n

\n © {new Date().getFullYear()} PawSQL\n

\n
\n
\n
\n {config.isInternal && (\n <>\n \n {formatMessage({ id: \"footer.license.title\" })}\n \n
\n \n )}\n \n {formatMessage({ id: \"footer.faq.title\" })}\n \n
\n\n \n {formatMessage({ id: \"footer.docs.title\" })}\n \n
\n {!config.isInternal && (\n <>\n \n {formatMessage({ id: \"footer.book.demo.title\" })}\n \n
\n \n )}\n \n {formatMessage({ id: \"footer.terms.title\" })}\n \n
\n\n \n {formatMessage({ id: \"footer.privacy.title\" })}\n \n
\n\n \n {formatMessage({ id: \"footer.aboutus.title\" })}\n \n
\n\n \n {formatMessage({ id: \"footer.email.title\" })}\n \n
\n {/*
\n
\n \n {formatMessage({ id: \"footer.twitter.title\" })}\n \n \n \n \n
\n \n {formatMessage({ id: \"footer.wechat.title\" })}\n \n {\" \"}\n \n \n
*/}\n
\n
\n
\n
\n );\n}\n","// import classnames from \"classnames\";\nimport React from \"react\";\n\nimport styles from \"./MainPageWithScroll.module.scss\";\nimport Footer from \"./Footer\";\n\n/**\n * @param headTitle the title shown in the browser toolbar\n * @param pageTitle the title shown on the page\n */\ninterface MainPageWithScrollProps {\n error?: React.ReactNode;\n headTitle?: React.ReactNode;\n pageTitle?: React.ReactNode;\n children?: React.ReactNode;\n}\n\nconst MainPageWithScroll: React.FC = ({ error, headTitle, pageTitle, children }) => {\n return (\n
\n {error}\n {/*
\n
*/}\n
\n
\n {headTitle}\n {pageTitle}\n {children}\n
\n
\n
\n
\n );\n};\n\nexport default MainPageWithScroll;\n","import React, { useEffect, useCallback } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport styled, { keyframes } from \"styled-components\";\n\nimport ContentCard from \"components/ContentCard\";\n\nexport interface ModalProps {\n title?: string | React.ReactNode;\n onClose?: () => void;\n clear?: boolean;\n center?: boolean;\n full?: boolean;\n closeOnBackground?: boolean;\n widthPer?: number;\n height?: number;\n}\n\nconst fadeIn = keyframes`\n from { opacity: 0; }\n`;\n\nconst Overlay = styled.div`\n animation: ${fadeIn} 0.2s ease-out;\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(15, 15, 23, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10000;\n overflow: auto;\n`;\n\nconst Modal: React.FC = ({\n children,\n title,\n full,\n onClose,\n clear,\n closeOnBackground,\n center,\n widthPer,\n height,\n}) => {\n const handleUserKeyPress = useCallback((event, closeModal) => {\n const { keyCode } = event;\n if (keyCode === 27) {\n closeModal();\n }\n }, []);\n\n useEffect(() => {\n onClose && window.addEventListener(\"keydown\", (event) => handleUserKeyPress(event, onClose));\n\n return () => {\n onClose && window.removeEventListener(\"keydown\", (event) => handleUserKeyPress(event, onClose));\n };\n }, [handleUserKeyPress, onClose]);\n\n return createPortal(\n (closeOnBackground && onClose ? onClose() : null)}>\n {clear ? (\n children\n ) : (\n \n {children}\n \n )}\n ,\n document.body\n );\n};\n\nexport default Modal;\n","import Modal from \"./Modal\";\n\nexport default Modal;\nexport { Modal };\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { H3 } from \"components\";\n\ninterface PageTitleProps {\n withLine?: boolean;\n middleComponent?: React.ReactNode;\n middleTitleBlock?: React.ReactNode;\n endComponent?: React.ReactNode;\n title: React.ReactNode;\n}\n\nexport const MainContainer = styled.div<{ withLine?: boolean }>`\n padding: 20px 32px 18px;\n border-bottom: ${({ theme, withLine }) => (withLine ? `1px solid ${theme.greyColor20}` : \"none\")};\n position: relative;\n z-index: 2;\n color: ${({ theme }) => theme.darkPrimaryColor};\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n`;\n\nexport const MiddleBlock = styled.div`\n flex: 1 0 0;\n display: flex;\n justify-content: center;\n`;\n\nexport const MiddleTitleBlock = styled(H3)`\n flex: 1 0 0;\n display: flex;\n justify-content: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const EndBlock = styled.div`\n flex: 1 0 0;\n display: flex;\n justify-content: flex-end;\n`;\n\nexport const TitleBlock = styled(H3)`\n flex: 1 0 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nconst PageTitle: React.FC = ({ title, withLine, middleComponent, middleTitleBlock, endComponent }) => (\n \n {title}\n {middleTitleBlock ? (\n {middleTitleBlock}\n ) : (\n {middleComponent}\n )}\n {endComponent}\n \n);\n\nexport default PageTitle;\n","import PageTitle from \"./PageTitle\";\n\nexport default PageTitle;\nexport { PageTitle };\n","import styled from \"styled-components\";\n\nexport const Row = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n height: 32px;\n position: relative;\n\n font-size: 14px;\n line-height: 17px;\n font-weight: normal;\n color: ${({ theme }) => theme.darkPrimaryColor};\n border: none;\n`;\n\nexport const Header = styled(Row)`\n font-weight: 600;\n color: ${({ theme }) => theme.textColor};\n height: 17px;\n padding: 0;\n`;\n\nexport const Cell = styled.div<{\n flex?: number;\n light?: boolean;\n lighter?: boolean;\n ellipsis?: boolean;\n}>`\n flex: ${({ flex }) => flex || 1} 0 0;\n padding-right: 10px;\n word-break: break-word;\n color: ${({ theme, light, lighter }) => (light ? theme.greyColor40 : lighter ? theme.greyColor60 : \"inherit\")};\n font-weight: ${({ light, lighter }) => (light || lighter ? \"normal\" : \"inherit\")};\n\n overflow: ${({ ellipsis }) => (ellipsis ? \"hidden\" : \"inherit\")};\n text-overflow: ${({ ellipsis }) => (ellipsis ? \"ellipsis\" : \"inherit\")};\n`;\n","interface MoonProps {\n title?: string;\n}\n\nexport const MoonIcon = ({ title }: MoonProps): JSX.Element => (\n \n {title && {title}}\n \n \n);\n","import styled, { keyframes } from \"styled-components\";\n\nconst spinAnimation = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nconst SpinnerSVG = styled.svg`\n animation: ${spinAnimation} 1000ms linear infinite normal forwards;\n`;\n\ninterface Props {\n title?: string;\n}\n\nconst CircleLoader = ({ title }: Props): JSX.Element => (\n \n \n \n \n \n \n \n {title && {title}}\n \n \n \n \n \n \n \n);\n\nexport default CircleLoader;\n","import {\n faBan,\n faCheck,\n faClose,\n faExclamationTriangle,\n faTimes,\n IconDefinition,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\nimport styled from \"styled-components\";\n\nimport { MoonIcon } from \"components/icons/MoonIcon\";\n\nimport CircleLoader from \"./CircleLoader\";\n\nexport type StatusIconStatus = \"sleep\" | \"inactive\" | \"success\" | \"warning\" | \"loading\";\n\ninterface StatusIconProps {\n className?: string;\n status?: StatusIconStatus;\n title?: string;\n big?: boolean;\n value?: string | number;\n}\n\nconst getBadgeWidth = (props: StatusIconProps) => (props.big ? (props.value ? 57 : 40) : props.value ? 37 : 20);\n\nconst _iconByStatus: Partial> = {\n sleep: faBan,\n success: faCheck,\n warning: faExclamationTriangle,\n};\n\nconst _themeByStatus: Partial> = {\n sleep: \"lightTextColor\",\n inactive: \"greyColor30\",\n success: \"successColor\",\n warning: \"warningColor\",\n};\n\nconst Container = styled.div`\n width: ${(props) => getBadgeWidth(props)}px;\n height: ${({ big }) => (big ? 40 : 20)}px;\n margin-right: 10px;\n font-size: ${({ big }) => (big ? 24 : 12)}px;\n line-height: ${({ big }) => (big ? 33 : 12)}px;\n text-align: center;\n display: inline-block;\n vertical-align: middle;\n`;\n\nconst Badge = styled(Container)`\n background: ${(props) => props.theme[(props.status && _themeByStatus[props.status]) || \"dangerColor\"]};\n border-radius: ${({ value }) => (value ? \"15px\" : \"50%\")};\n color: ${({ theme }) => theme.whiteColor};\n padding-top: ${({ status }) => (status === \"warning\" || status === \"inactive\" ? 3 : 4)}px;\n\n > svg {\n height: 1em;\n vertical-align: -0.125em;\n }\n`;\n\nconst Value = styled.span`\n font-weight: 500;\n font-size: 12px;\n padding-left: 3px;\n vertical-align: top;\n`;\n\nconst StatusIcon: React.FC = ({ title, status, ...props }) => {\n const valueElement = props.value ? {props.value} : null;\n\n if (status === \"loading\") {\n return (\n \n \n {valueElement}\n \n );\n }\n\n return (\n \n {status === \"inactive\" ? (\n \n ) : status === \"sleep\" ? (\n \n ) : (\n \n )}\n {valueElement}\n \n );\n};\n\nexport default StatusIcon;\n","import StatusIcon from \"./StatusIcon\";\n\nexport default StatusIcon;\nexport { StatusIcon };\n","import React from \"react\";\nimport sanitizeHtml from \"sanitize-html\";\n\ninterface IProps {\n text?: string;\n}\n\nconst allowedAttributes = {\n ...sanitizeHtml.defaults.allowedAttributes,\n a: [...sanitizeHtml.defaults.allowedAttributes[\"a\"], \"rel\"],\n};\n\nconst TextWithHTML: React.FC = ({ text }) => {\n if (!text) {\n return null;\n }\n\n const sanitizedHtmlText = sanitizeHtml(text, {\n allowedAttributes,\n transformTags: {\n a: sanitizeHtml.simpleTransform(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n }),\n },\n });\n\n return ;\n};\n\nexport default TextWithHTML;\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled, { keyframes } from \"styled-components\";\n\ninterface ProgressBarProps {\n runTime?: number;\n text?: React.ReactNode;\n}\n\nexport const GrowAnimation = keyframes`\n 0% {\n width: 0;\n }\n 20% {\n width: 65%;\n }\n 50% {\n width: 80%;\n }\n 80% {\n width: 95%;\n }\n 100% {\n width: 100%;\n }\n`;\nexport const fadeInAnimation = keyframes`\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n`;\n\nconst Bar = styled.div`\n width: 100%;\n max-width: 370px;\n height: 19px;\n border: 1px solid ${({ theme }) => theme.greyColor20};\n border-radius: 4px;\n overflow: hidden;\n position: relative;\n display: inline-block;\n margin-bottom: 5px;\n`;\n\nconst Progress = styled.div<{ runTime: number }>`\n width: 100%;\n height: 100%;\n background: ${({ theme }) => theme.primaryColor25};\n animation: ${GrowAnimation} ${({ runTime }) => runTime}s linear 0s;\n`;\n\nconst Text = styled.div<{ delay: number }>`\n text-align: center;\n position: absolute;\n width: 100%;\n top: 0;\n left: 0;\n color: ${({ theme }) => theme.whiteColor};\n font-size: 12px;\n font-weight: bold;\n animation: ${fadeInAnimation} 1s linear ${({ delay }) => delay + 0.5}s forwards;\n opacity: 0;\n`;\n\nconst ProgressBar: React.FC = ({ runTime, text }) => {\n const animationRunTime = runTime || 20;\n return (\n \n \n {text || }\n \n );\n};\n\nexport default ProgressBar;\n","import ProgressBar from \"./ProgressBar\";\n\nexport default ProgressBar;\nexport { ProgressBar };\n","// extracted by mini-css-extract-plugin\nexport default {\"blue50\":\"#eae9ff\",\"blue100\":\"#cbc8ff\",\"blue200\":\"#a6a4ff\",\"blue300\":\"#7f7eff\",\"blue400\":\"#615eff\",\"blue500\":\"#433bfb\",\"blue600\":\"#3f30ee\",\"blue700\":\"#3622e1\",\"blue800\":\"#2e0ad7\",\"blue900\":\"#2800bd\",\"blue\":\"#615eff\",\"blueTransparent\":\"rgba(97,94,255,.1)\",\"darkBlue50\":\"#e6e7ef\",\"darkBlue100\":\"#c0c3d9\",\"darkBlue200\":\"#989dbf\",\"darkBlue300\":\"#989dbf\",\"darkBlue400\":\"#565c94\",\"darkBlue500\":\"#3b4283\",\"darkBlue600\":\"#353b7b\",\"darkBlue700\":\"#2d3270\",\"darkBlue800\":\"#262963\",\"darkBlue900\":\"#1a194d\",\"darkBlue\":\"#1a194d\",\"grey30\":\"#fcfcfd\",\"grey50\":\"#f8f8fa\",\"grey100\":\"#e8e8ed\",\"grey200\":\"#d9d9e0\",\"grey300\":\"#afafc1\",\"grey400\":\"#8b8ba0\",\"grey500\":\"#717189\",\"grey600\":\"#595971\",\"grey700\":\"#494961\",\"grey800\":\"#35354a\",\"grey900\":\"#252536\",\"grey\":\"#afafc1\",\"orange50\":\"#fae9e8\",\"orange100\":\"#fecbbf\",\"orange200\":\"#fea996\",\"orange300\":\"#fe866c\",\"orange400\":\"#ff6a4d\",\"orange500\":\"#ff4f31\",\"orange600\":\"#f4492d\",\"orange700\":\"#e64228\",\"orange800\":\"#d83c24\",\"orange900\":\"#bf2f1b\",\"orange\":\"#ff6a4d\",\"green50\":\"#dcf6f8\",\"green100\":\"#a7e9ec\",\"green200\":\"#67dae1\",\"green300\":\"#00cbd6\",\"green400\":\"#00c0cd\",\"green500\":\"#00b5c7\",\"green600\":\"#00a5b5\",\"green700\":\"#00909b\",\"green800\":\"#007c84\",\"green900\":\"#005959\",\"green\":\"#67dae1\",\"red50\":\"#ffe4e8\",\"red100\":\"#ffbac6\",\"red200\":\"#ff8da1\",\"red300\":\"#ff5e7b\",\"red400\":\"#fb395f\",\"red500\":\"#f51a46\",\"red600\":\"#e51145\",\"red700\":\"#d00543\",\"red800\":\"#bc0042\",\"red900\":\"#99003f\",\"red\":\"#ff5e7b\",\"beige50\":\"#fef9f4\",\"beige100\":\"#ffebd7\",\"beige\":\"#f8f8f8\",\"black\":\"#000\",\"white\":\"#fff\",\"yellow50\":\"#fdf8e1\",\"yellow100\":\"#fbecb3\",\"yellow200\":\"#f9e081\",\"yellow300\":\"#f8d54e\",\"yellow400\":\"#f7ca26\",\"yellow500\":\"#f6c000\",\"yellow600\":\"#f6b300\",\"yellow700\":\"#f7a000\",\"yellow800\":\"#f79000\",\"yellow900\":\"#f77100\",\"yellow\":\"#f6c000\",\"primaryColor12\":\"rgba(103,87,255,.12)\",\"shadowColor\":\"rgba(0,0,0,.25)\",\"cardShadowColor\":\"rgba(26,25,77,.12)\",\"textColor90\":\"rgba(26,25,77,.9)\",\"darkBlue90\":\"rgba(26,25,77,.9)\",\"lightRedColor\":\"#ff8870\",\"transparentColor\":\"rgba(255,255,255,0)\",\"regularFont\":\"Inter,Arial,sans-serif\",\"codeFont\":\"Courier Prime,Arial,sans-serif\",\"italicFont\":\"Shrikhand,serif\"};","import scss from \"./scss/export.module.scss\";\n\n// Load all theme variables from our SCSS variables\nexport const theme = {\n blue50: scss.blue50,\n blue100: scss.blue100,\n blue200: scss.blue200,\n blue300: scss.blue300,\n blue400: scss.blue400,\n blue500: scss.blue500,\n blue600: scss.blue600,\n blue700: scss.blue700,\n blue800: scss.blue800,\n blue900: scss.blue900,\n blue: scss.blue,\n blueTransparent: scss.blueTransparent,\n\n darkBlue50: scss.darkBlue50,\n darkBlue100: scss.darkBlue100,\n darkBlue200: scss.darkBlue200,\n darkBlue300: scss.darkBlue300,\n darkBlue400: scss.darkBlue400,\n darkBlue500: scss.darkBlue500,\n darkBlue600: scss.darkBlue600,\n darkBlue700: scss.darkBlue700,\n darkBlue800: scss.darkBlue800,\n darkBlue900: scss.darkBlue900,\n darkBlue: scss.darkBlue,\n\n grey30: scss.grey30,\n grey50: scss.grey50,\n grey100: scss.grey100,\n grey200: scss.grey200,\n grey300: scss.grey300,\n grey400: scss.grey400,\n grey500: scss.grey500,\n grey600: scss.grey600,\n grey700: scss.grey700,\n grey800: scss.grey800,\n grey900: scss.grey900,\n grey: scss.grey,\n\n orange50: scss.orange50,\n orange100: scss.orange100,\n orange200: scss.orange200,\n orange300: scss.orange300,\n orange400: scss.orange400,\n orange500: scss.orange500,\n orange600: scss.orange600,\n orange700: scss.orange700,\n orange800: scss.orange800,\n orange900: scss.orange900,\n orange: scss.orange,\n\n green50: scss.green50,\n green100: scss.green100,\n green200: scss.green200,\n green300: scss.green300,\n green400: scss.green400,\n green500: scss.green500,\n green600: scss.green600,\n green700: scss.green700,\n green800: scss.green800,\n green900: scss.green900,\n green: scss.green,\n\n red50: scss.red50,\n red100: scss.red100,\n red200: scss.red200,\n red300: scss.red300,\n red400: scss.red400,\n red500: scss.red500,\n red600: scss.red600,\n red700: scss.red700,\n red800: scss.red800,\n red900: scss.red900,\n red: scss.red,\n\n beige50: scss.beige50,\n beige100: scss.beige100,\n beige: scss.beige,\n\n black: scss.black,\n white: scss.white,\n\n yellow50: scss.yellow50,\n yellow100: scss.yellow100,\n yellow200: scss.yellow200,\n yellow300: scss.yellow300,\n yellow400: scss.yellow400,\n yellow500: scss.yellow500,\n yellow600: scss.yellow600,\n yellow700: scss.yellow700,\n yellow800: scss.yellow800,\n yellow900: scss.yellow900,\n yellow: scss.yellow,\n\n // Legacy colors - Do not use for new components\n primaryColor: scss.blue,\n primaryColor25: scss.blue100,\n primaryColor12: scss.primaryColor12,\n mediumPrimaryColor: scss.darkBlue700,\n mediumPrimaryColor20: scss.blue50,\n darkPrimaryColor: scss.darkBlue,\n darkPrimaryColor60: scss.blue400,\n brightPrimaryColor: scss.blue100,\n lightPrimaryColor: scss.blue50,\n\n brightColor: scss.blue50,\n\n dangerColor: scss.red,\n dangerColor25: scss.red50,\n warningColor: scss.yellow,\n warningBackgroundColor: scss.yellow100,\n lightDangerColor: scss.red50,\n dangerTransparentColor: scss.red50,\n successColor: scss.green,\n successColor20: scss.green50,\n backgroundColor: scss.beige,\n shadowColor: scss.shadowColor,\n cardShadowColor: scss.cardShadowColor,\n\n textColor: scss.darkBlue,\n lightTextColor: scss.grey,\n textColor90: scss.textColor90,\n darkBlue90: scss.darkBlue90,\n greyColor70: scss.grey600,\n greyColor60: scss.grey500,\n greyColor55: scss.grey400,\n greyColor40: scss.grey300,\n greyColor30: scss.grey200,\n greyColor20: scss.grey100,\n greyColor10: scss.grey100,\n greyColor0: scss.grey50,\n\n whiteColor: scss.white,\n blackColor: scss.black,\n beigeColor: scss.beige,\n darkBeigeColor: scss.beige100,\n borderTableColor: scss.grey100,\n lightTableColor: scss.grey50,\n darkGreyColor: scss.grey400,\n redColor: scss.orange,\n lightRedColor: scss.lightRedColor,\n redTransparentColor: scss.orange50,\n transparentColor: scss.transparentColor,\n\n regularFont: scss.regularFont,\n highlightFont: scss.highlightFont,\n codeFont: scss.codeFont,\n italicFont: scss.italicFont,\n};\n\nexport const barChartColors = [scss.grey100, scss.grey300];\n\nexport type Theme = typeof theme;\n","import { theme } from \"theme\";\n\ninterface Props {\n color?: string;\n}\n\nexport const GAIcon = ({ color = theme.greyColor20 }: Props) => (\n \n \n \n \n);\n","export class CommonRequestError extends Error {\n __type = \"common.error\";\n // TODO: Add better error hierarchy\n _status?: number;\n data: any;\n\n constructor(protected response: Response | undefined, msg?: string, data?: any) {\n super(response?.statusText);\n this.response = response;\n this.message = msg ?? \"common.error\";\n this.data = data ?? null;\n }\n\n get status() {\n return this._status || this.response?.status;\n }\n}\n\nexport function isCommonRequestError(error: { __type?: string }): error is CommonRequestError {\n return error.__type === \"common.error\";\n}\n","export abstract class ServerError extends Error {\n __type = \"unknown.error\";\n}\n","import { ServerError } from \"./ServerError\";\n\nexport class VersionError extends ServerError {\n __type = \"version.mismatch\";\n}\n\nexport function isVersionError(error: { __type?: string }): error is VersionError {\n return error.__type === \"version.mismatch\";\n}\n","import { isDefined } from \"utils/common\";\n\nimport { Config } from \"../../config\";\nimport { CommonRequestError } from \"./CommonRequestError\";\nimport { RequestMiddleware } from \"./RequestMiddleware\";\nimport { VersionError } from \"./VersionError\";\nimport { RoutePaths } from \"pages/routePaths\";\n\nexport interface ApiOverrideRequestOptions {\n config: Pick;\n middlewares: RequestMiddleware[];\n signal?: RequestInit[\"signal\"];\n}\n\nfunction getRequestBody(data: U) {\n const stringifiedData = JSON.stringify(data);\n const nonJsonObject = stringifiedData === \"{}\";\n if (nonJsonObject) {\n // The app tries to stringify blobs which results in broken functionality.\n // There may be some edge cases where we pass in an empty object.\n // @ts-expect-error There may be a better way to do this, but for now it solves the problem.\n return data as BodyInit;\n }\n return stringifiedData;\n}\n\nexport const apiOverride = async (\n {\n url,\n method,\n params,\n data,\n headers,\n responseType,\n signal,\n }: {\n url: string;\n method: \"get\" | \"post\" | \"put\" | \"delete\" | \"patch\";\n params?: URLSearchParams;\n data?: U;\n headers?: HeadersInit;\n responseType?: \"blob\";\n signal?: AbortSignal;\n },\n options?: ApiOverrideRequestOptions\n): Promise => {\n if (!options) {\n throw new Error(\"Please provide middlewares and config!\");\n }\n\n const { apiUrl } = options.config;\n // Remove the `v1/` in the end of the apiUrl for now, during the transition period\n // to get rid of it from all environment variables.\n const requestUrl = `${apiUrl.replace(/\\/v1\\/?$/, \"\")}${url.startsWith(\"/\") ? \"\" : \"/\"}${url}`;\n\n for (const middleware of options.middlewares) {\n headers = (await middleware({ headers })).headers;\n }\n const jwtToken = localStorage.getItem(\"token\");\n if (isDefined(jwtToken)) {\n headers = { ...headers, Authorization: `Bearer ${jwtToken}` };\n }\n\n const response = await fetch(`${requestUrl}${new URLSearchParams(params)}`, {\n method,\n ...(data ? { body: getRequestBody(data) } : {}),\n headers,\n signal: signal ?? options.signal,\n });\n\n return parseResponse(response, responseType);\n\n /*\n * Orval only generates `responseType: \"blob\"` if the schema for an endpoint\n * is `type: string`, and `format: binary`.\n * If it references a type that is `type: string`, and `format: binary` it does not interpret\n * it correctly. So I am making an assumption that if it's not explicitly JSON, it's a binary file.\n */\n};\n\n/** Parses errors from server */\nasync function parseResponse(response: Response, responseType?: \"blob\"): Promise {\n if (response.status === 401) {\n localStorage.removeItem(\"username\");\n localStorage.removeItem(\"token\");\n const currentPath = window.location.pathname;\n const loginPath = RoutePaths.Login; // 假设 RoutePaths.Login 是登录页面的基础路径\n if (!currentPath.startsWith(loginPath)) {\n const loginUrl = `${RoutePaths.Login}?from=${encodeURIComponent(currentPath)}`;\n window.location.href = loginUrl;\n }\n }\n\n if (response.status === 404) {\n console.log(\"404 - Page not found\");\n window.history.back();\n return {} as T;\n }\n if (response.status === 204) {\n return {} as T;\n }\n if (response.status >= 200 && response.status < 300) {\n /*\n * Orval only generates `responseType: \"blob\"` if the schema for an endpoint\n * is `type: string, and format: binary`.\n * If it references a type that is `type: string, and format: binary` it does not interpret\n * it correct. So I am making an assumption that if it's not explicitly JSON, it's a binary file.\n */\n return responseType === \"blob\" || response.headers.get(\"Content-Type\") !== \"application/json\"\n ? response.blob()\n : response.json();\n }\n\n if (response.status === 504) {\n console.log(\"// server.timeout.message\");\n throw new CommonRequestError(response, \"server.timeout.message\");\n }\n\n if (response.status === 413) {\n console.log(\"// upload.file.too.large\");\n throw new CommonRequestError(response, \"upload.file.too.large\");\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let resultJsonResponse: any;\n\n // If some error returned in json, lets try to parse it\n try {\n resultJsonResponse = await response.json();\n } catch (e) {\n // non json result\n console.log(\"// non json result\");\n throw new CommonRequestError(response, \"non-json response\");\n }\n\n if (resultJsonResponse?.error) {\n if (resultJsonResponse.error.startsWith(\"Version mismatch between\")) {\n throw new VersionError(resultJsonResponse.error);\n }\n }\n\n throw new CommonRequestError(response, resultJsonResponse?.message, resultJsonResponse?.data);\n}\n","/* eslint-disable */\n/**\n * Generated by orval 🍺\n * Do not edit manually. Run \"npm run generate-client\" instead.\n * Pawsql Configuration API\n * Pawsql Configuration API\n[https://pawsql.io](https://pawsql.io).\n\nThis API is a collection of HTTP RPC-style methods. While it is not a REST API, those familiar with REST should find the conventions of this API recognizable.\n\nHere are some conventions that this API follows:\n* All endpoints are http POST methods.\n* All endpoints accept data via `application/json` request bodies. The API does not accept any data via query params.\n* The naming convention for endpoints is: localhost:8000/{VERSION}/{METHOD_FAMILY}/{METHOD_NAME} e.g. `localhost:8000/v1/connections/create`.\n* For all `update` methods, the whole object must be passed in, even the fields that did not change.\n\nChange Management:\n* The major version of the API endpoint can be determined / specified in the URL `localhost:8080/v1/connections/create`\n* Minor version bumps will be invisible to the end user. The user cannot specify minor versions in requests.\n* All backwards incompatible changes will happen in major version bumps. We will not make backwards incompatible changes in minor version bumps. Examples of non-breaking changes (includes but not limited to...):\n * Adding fields to request or response bodies.\n * Adding new HTTP endpoints.\n* All `web_backend` APIs are not considered public APIs and are not guaranteeing backwards compatibility.\n\n * OpenAPI spec version: 1.0.0\n */\nimport { PreviewUpdateSubscriptionResponse } from \"cloud/types/paddle\";\nimport { apiOverride } from \"./apiOverride\";\n/**\n * Input failed validation\n */\nexport type InvalidInputResponseResponse = InvalidInputExceptionInfo;\n\nexport interface KnownExceptionInfo {\n message: string;\n exceptionClassName?: string;\n exceptionStack?: string[];\n rootCauseExceptionClassName?: string;\n rootCauseExceptionStack?: string[];\n}\n\n/**\n * Exception occurred; see message for details.\n */\nexport type ExceptionResponseResponse = KnownExceptionInfo;\n\nexport interface NotFoundKnownExceptionInfo {\n id?: string;\n message: string;\n exceptionClassName?: string;\n exceptionStack?: string[];\n rootCauseExceptionClassName?: string;\n rootCauseExceptionStack?: string[];\n}\n\n/**\n * Object with given id was not found.\n */\nexport type NotFoundResponseResponse = NotFoundKnownExceptionInfo;\n\nexport interface InvalidInputProperty {\n propertyPath: string;\n invalidValue?: string;\n message?: string;\n}\n\nexport interface InvalidInputExceptionInfo {\n message: string;\n exceptionClassName?: string;\n exceptionStack?: string[];\n validationErrors: InvalidInputProperty[];\n}\n\nexport type UploadReadStatus = typeof UploadReadStatus[keyof typeof UploadReadStatus];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const UploadReadStatus = {\n succeeded: \"succeeded\",\n failed: \"failed\",\n} as const;\n\nexport type ResourceId = string;\n\nexport interface ImportRequestBody {\n resourceId: ResourceId;\n workspaceId: WorkspaceId;\n}\n\nexport interface UploadRead {\n status: UploadReadStatus;\n resourceId?: ResourceId;\n}\n\nexport type ImportReadStatus = typeof ImportReadStatus[keyof typeof ImportReadStatus];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const ImportReadStatus = {\n succeeded: \"succeeded\",\n failed: \"failed\",\n} as const;\n\nexport interface ImportRead {\n status: ImportReadStatus;\n reason?: string;\n}\n\n/**\n * Tarball Archive (.tar.gz) of Pawsql Configuration and Database\n */\nexport type PawsqlArchive = Blob;\n\nexport type WorkloadFile = Blob;\n\nexport type DestinationSyncMode = typeof DestinationSyncMode[keyof typeof DestinationSyncMode];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const DestinationSyncMode = {\n append: \"append\",\n overwrite: \"overwrite\",\n append_dedup: \"append_dedup\",\n} as const;\n\nexport type WorkloadSyncMode = typeof WorkloadSyncMode[keyof typeof WorkloadSyncMode];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const WorkloadSyncMode = {\n append: \"append\",\n overwrite: \"overwrite\",\n append_dedup: \"append_dedup\",\n} as const;\n\nexport type SupportLevel = typeof SupportLevel[keyof typeof SupportLevel];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const SupportLevel = {\n community: \"community\",\n certified: \"certified\",\n none: \"none\",\n} as const;\n\nexport type SyncMode = typeof SyncMode[keyof typeof SyncMode];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const SyncMode = {\n full_refresh: \"full_refresh\",\n incremental: \"incremental\",\n} as const;\n\nexport interface WebBackendConnectionRead {\n connectionId: ConnectionId;\n name: string;\n namespaceDefinition?: NamespaceDefinitionType;\n /** Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If \"${SOURCE_NAMESPACE}\" then behaves like namespaceDefinition = 'source'. */\n namespaceFormat?: string;\n /** Prefix that will be prepended to the name of each stream when it is written to the destination. */\n prefix?: string;\n sourceId: SourceId;\n destinationId: DestinationId;\n syncCatalog: PawsqlCatalog;\n schedule?: ConnectionSchedule;\n status: ConnectionStatus;\n operationIds?: OperationId[];\n source: SourceRead;\n destination: DestinationRead;\n operations?: OperationRead[];\n /** epoch time of the latest sync job. null if no sync job has taken place. */\n latestSyncJobCreatedAt?: number;\n latestSyncJobStatus?: JobStatus;\n isSyncing: boolean;\n resourceRequirements?: ResourceRequirements;\n catalogId?: string;\n}\n\nexport interface NameUpdate {\n id: string;\n name: string;\n userId: string;\n}\n\nexport interface AnalysisRead {\n analysisId: AnalysisId;\n analysisName: string;\n analysisMode: string;\n source: string;\n workspaceId: WorkspaceId;\n workspaceDefinitionId: string;\n workspaceRawText: string;\n workspaceName: string;\n workloadId: WorkloadId;\n workloadDefinitionId: string;\n workloadName: string;\n workloadRawText: string;\n status: AnalysisStatus;\n validateFlag: boolean;\n numberOfQuery: number;\n numberOfSyntaxError: number;\n numberOfIndex: number;\n numberOfRewrite: number;\n numberOfRewriteRules: number;\n numberOfViolations: number;\n numberOfViolatedQuery: number;\n performanceImprove: number;\n createUserId: string;\n createUserName: string;\n createTime: string;\n deleteFlag: number;\n commentCount: number;\n needReply: number;\n isDemo: boolean;\n dbTypeDefinitionId: string;\n anyStmtId?: string;\n}\n\nexport interface PptAnalysisRead {\n analysisId: string;\n analysisName: string;\n analysisMode: string;\n dbinstanceId: string;\n dbinstanceName: string;\n dbinstanceDefinitionId: string;\n slowQueryIds: string;\n validateFlag: boolean;\n updateStatsBeforeValidationFlag: boolean;\n numberOfQuery: number;\n numberOfSyntaxError: number;\n numberOfIndex: number;\n numberOfRewrite: number;\n numberOfRewriteRules: number;\n numberOfViolations: number;\n numberOfViolatedQuery: number;\n performanceImprove: number;\n createUserId: string;\n createUserName: string;\n createTime: string;\n deleteFlag: number;\n commentCount: number;\n needReply: number;\n status: AnalysisStatus;\n}\n\nexport interface ExplainRead {\n explainId: ExplainId;\n explainName: string;\n explainSource: string;\n querySource: string;\n databaseType: string;\n explainFormat: string;\n executionTime?: number;\n planningTime?: number;\n workspaceType?: string;\n analysisStmtId?: string;\n validatePhase?: number;\n analysisId?: string;\n analysisName?: string;\n createTime?: string;\n createUserId: string;\n createUserName: string;\n deleteFlag?: number;\n}\n\nexport interface FunctionDictionaryRead {\n functionId: string;\n functionNameZh: string;\n functionNameEn: string;\n descriptionZh: string | null;\n descriptionEn: string | null;\n functionVariableName: string;\n threshold: string | null;\n enabled: boolean;\n}\n\nexport interface PricePlanRead {\n planId: string;\n name: string;\n description: string;\n paddleProductId: string;\n monthlyPriceId: string;\n yearlyPriceId: string;\n monthlyPriceDetail: string;\n yearlyPriceDetail: string;\n oneTimePriceId: string;\n features: {\n [key: string]: {\n enabled: boolean;\n threshold: number | null;\n nameKey: string;\n descKey: string;\n sort: number;\n };\n };\n sort: number;\n status: number;\n}\n\nexport interface PlanOrderRead {\n orderId: string;\n userId: string;\n subscriptionId: string;\n remarks: string;\n issuedAt: string;\n amount: number;\n currency: string;\n dueDate: string;\n status: string;\n}\nexport interface PaymentIntentBody {\n order: string;\n}\n\nexport interface CreatePaymentIntentRequest {\n planId: string;\n billingCycle: string;\n gatewayType: string;\n locale: string;\n}\n\nexport interface SubscriptionIdRequest {\n subscriptionId: string;\n}\n\nexport interface PlanUserSubscriptionRead {\n subscriptionId: string;\n paddleSubscriptionId: string;\n userId: string;\n planId: string;\n paddleCustomerId: string;\n paddleProductId: string;\n paddlePriceId: string;\n billingCycle: \"month\" | \"year\" | null; // 限定周期为月或年\n periodStart: string; // 可以考虑用 Date 类型,如果你有日期解析逻辑\n periodEnd: string;\n createdAt: string;\n updatedAt: string;\n autoRenewal: boolean;\n lastPlanOptTimes: number;\n optTimes: number;\n oneTimeOptTimes: number;\n oneTimeOptTimesTotal: number;\n nextResetTime: string;\n status: string;\n latestPaddleSubscriptionId: string;\n lastPaddlePriceId: string;\n}\n\nexport interface SubscriptionUsageRead {\n userId: number;\n planAnalysisLimit: number;\n lastPlanRemaining: number;\n currentRemaining: number;\n oneTimeRemaining: number;\n oneTimeLimit: number;\n expireTime: string;\n nextBillingTime: string;\n}\n\nexport interface PaddleErrorResponse {\n error: {\n type: string;\n code: string;\n detail: string;\n documentation_url: string;\n };\n meta: {\n request_id: string;\n };\n}\n\nexport interface PaddleCustomerPortalResponse {\n data: PaddleData;\n meta: PaddleMeta;\n}\n\ninterface PaddleData {\n id: string;\n customer_id: string;\n urls: PaddleUrls;\n created_at: string;\n}\n\ninterface PaddleUrls {\n general: PaddleGeneral;\n subscriptions: PaddleSubscription[];\n}\n\ninterface PaddleGeneral {\n overview: string;\n}\n\ninterface PaddleSubscription {\n id: string;\n cancel_subscription: string;\n update_subscription_payment_method: string;\n}\n\ninterface PaddleMeta {\n request_id: string;\n}\n\nexport interface PlanUserPaymentData {\n userPaymentDataId: number;\n userId: number;\n subscriptionId: string;\n subscriptionPlanId: string;\n subscriptionEndDate: string;\n subscriptionStatus: string;\n subscriptionUpdateUrl: string;\n subscriptionCancelUrl: string;\n}\n\nexport interface WebBackendConnectionReadList {\n connections: WebBackendConnectionRead[];\n}\n\nexport interface AnalysisReadList {\n analyses: AnalysisRead[];\n}\n\nexport interface ExplainReadList {\n explains: ExplainRead[];\n}\n\nexport type SetInstancewideDestinationOauthParamsRequestBodyParams = { [key: string]: any };\n\nexport interface SetInstancewideDestinationOauthParamsRequestBody {\n destinationDefinitionId: DestinationDefinitionId;\n params: SetInstancewideDestinationOauthParamsRequestBodyParams;\n}\n\nexport type SetInstancewideSourceOauthParamsRequestBodyParams = { [key: string]: any };\n\nexport interface SetInstancewideSourceOauthParamsRequestBody {\n sourceDefinitionId: SourceDefinitionId;\n params: SetInstancewideSourceOauthParamsRequestBodyParams;\n}\n\nexport interface CompleteOAuthResponse {\n [key: string]: any;\n}\n\n/**\n * The query parameters present in the redirect URL after a user granted consent e.g auth code\n */\nexport type CompleteDestinationOAuthRequestQueryParams = { [key: string]: any };\n\n/**\n * The query parameters present in the redirect URL after a user granted consent e.g auth code\n */\nexport type CompleteSourceOauthRequestQueryParams = { [key: string]: any };\n\nexport interface CompleteSourceOauthRequest {\n sourceDefinitionId: SourceDefinitionId;\n workspaceId: WorkspaceId;\n /** When completing OAuth flow to gain an access token, some API sometimes requires to verify that the app re-send the redirectUrl that was used when consent was given. */\n redirectUrl?: string;\n /** The query parameters present in the redirect URL after a user granted consent e.g auth code */\n queryParams?: CompleteSourceOauthRequestQueryParams;\n oAuthInputConfiguration?: OAuthInputConfiguration;\n}\n\nexport interface OAuthConsentRead {\n consentUrl: string;\n}\n\nexport interface DestinationOauthConsentRequest {\n destinationDefinitionId: DestinationDefinitionId;\n workspaceId: WorkspaceId;\n /** The url to redirect to after getting the user consent */\n redirectUrl: string;\n oAuthInputConfiguration?: OAuthInputConfiguration;\n}\n\nexport interface SourceOauthConsentRequest {\n sourceDefinitionId: SourceDefinitionId;\n workspaceId: WorkspaceId;\n /** The url to redirect to after getting the user consent */\n redirectUrl: string;\n oAuthInputConfiguration?: OAuthInputConfiguration;\n}\n\nexport interface OAuthConfigSpecification {\n /** OAuth specific blob. This is a Json Schema used to validate Json configurations used as input to OAuth.\nMust be a valid non-nested JSON that refers to properties from InstanceSpecification.connectionSpecification\nusing special annotation 'path_in_instance_config'.\nThese are input values the user is entering through the UI to authenticate to the instance, that might also shared\nas inputs for syncing data via the instance.\n\nExamples:\n\nif no instance values is shared during oauth flow, oauth_user_input_from_instance_config_specification=[]\nif instance values such as 'app_id' inside the top level are used to generate the API url for the oauth flow,\n oauth_user_input_from_instance_config_specification={\n app_id: {\n type: string\n path_in_instance_config: ['app_id']\n }\n }\nif instance values such as 'info.app_id' nested inside another object are used to generate the API url for the oauth flow,\n oauth_user_input_from_instance_config_specification={\n app_id: {\n type: string\n path_in_instance_config: ['info', 'app_id']\n }\n } */\n oauthUserInputFromInstanceConfigSpecification?: OAuthConfiguration;\n /** OAuth specific blob. This is a Json Schema used to validate Json configurations produced by the OAuth flows as they are\nreturned by the distant OAuth APIs.\nMust be a valid JSON describing the fields to merge back to `InstanceSpecification.connectionSpecification`.\nFor each field, a special annotation `path_in_instance_config` can be specified to determine where to merge it,\n\nExamples:\n\n complete_oauth_output_specification={\n refresh_token: {\n type: string,\n path_in_instance_config: ['credentials', 'refresh_token']\n }\n } */\n completeOAuthOutputSpecification?: OAuthConfiguration;\n /** OAuth specific blob. This is a Json Schema used to validate Json configurations persisted as Pawsql Server configurations.\nMust be a valid non-nested JSON describing additional fields configured by the Pawsql Instance or Workspace Admins to be used by the\nserver when completing an OAuth flow (typically exchanging an auth code for refresh token).\n\nExamples:\n\n complete_oauth_server_input_specification={\n client_id: {\n type: string\n },\n client_secret: {\n type: string\n }\n } */\n completeOAuthServerInputSpecification?: OAuthConfiguration;\n /** OAuth specific blob. This is a Json Schema used to validate Json configurations persisted as Pawsql Server configurations that\nalso need to be merged back into the instance configuration at runtime.\nThis is a subset configuration of `complete_oauth_server_input_specification` that filters fields out to retain only the ones that\nare necessary for the instance to function with OAuth. (some fields could be used during oauth flows but not needed afterwards, therefore\nthey would be listed in the `complete_oauth_server_input_specification` but not `complete_oauth_server_output_specification`)\nMust be a valid non-nested JSON describing additional fields configured by the Pawsql Instance or Workspace Admins to be used by the\ninstance when using OAuth flow APIs.\nThese fields are to be merged back to `InstanceSpecification.connectionSpecification`.\nFor each field, a special annotation `path_in_instance_config` can be specified to determine where to merge it,\n\nExamples:\n\n complete_oauth_server_output_specification={\n client_id: {\n type: string,\n path_in_instance_config: ['credentials', 'client_id']\n },\n client_secret: {\n type: string,\n path_in_instance_config: ['credentials', 'client_secret']\n }\n } */\n completeOAuthServerOutputSpecification?: OAuthConfiguration;\n}\n\nexport type AdvancedAuthAuthFlowType = typeof AdvancedAuthAuthFlowType[keyof typeof AdvancedAuthAuthFlowType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AdvancedAuthAuthFlowType = {\n oauth20: \"oauth2.0\",\n oauth10: \"oauth1.0\",\n} as const;\n\nexport interface AdvancedAuth {\n authFlowType?: AdvancedAuthAuthFlowType;\n /** Json Path to a field in the instanceSpecification that should exist for the advanced auth to be applicable. */\n predicateKey?: string[];\n /** Value of the predicate_key fields for the advanced auth to be applicable. */\n predicateValue?: string;\n oauthConfigSpecification?: OAuthConfigSpecification;\n}\n\n/**\n * OAuth specific blob.\n */\nexport type OAuthConfiguration = unknown;\n\n/**\n * The values required to configure OAuth flows. The schema for this must match the `OAuthConfigSpecification.oauthUserInputFromInstanceConfigSpecification` schema.\n */\nexport type OAuthInputConfiguration = OAuthConfiguration;\n\nexport interface CompleteDestinationOAuthRequest {\n destinationDefinitionId: DestinationDefinitionId;\n workspaceId: WorkspaceId;\n /** When completing OAuth flow to gain an access token, some API sometimes requires to verify that the app re-send the redirectUrl that was used when consent was given. */\n redirectUrl?: string;\n /** The query parameters present in the redirect URL after a user granted consent e.g auth code */\n queryParams?: CompleteDestinationOAuthRequestQueryParams;\n oAuthInputConfiguration?: OAuthInputConfiguration;\n}\n\nexport type DbMigrationState = typeof DbMigrationState[keyof typeof DbMigrationState];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const DbMigrationState = {\n pending: \"pending\",\n above_target: \"above_target\",\n below_baseline: \"below_baseline\",\n baseline: \"baseline\",\n ignored: \"ignored\",\n missing_success: \"missing_success\",\n missing_failed: \"missing_failed\",\n success: \"success\",\n undone: \"undone\",\n available: \"available\",\n failed: \"failed\",\n out_of_order: \"out_of_order\",\n future_success: \"future_success\",\n future_failed: \"future_failed\",\n outdated: \"outdated\",\n superseded: \"superseded\",\n deleted: \"deleted\",\n} as const;\n\nexport interface DbMigrationRead {\n migrationType: string;\n migrationVersion: string;\n migrationDescription: string;\n migrationState?: DbMigrationState;\n migratedBy?: string;\n migratedAt?: number;\n migrationScript?: string;\n}\n\nexport interface DbMigrationExecutionRead {\n initialVersion?: string;\n targetVersion?: string;\n executedMigrations?: DbMigrationRead[];\n}\n\nexport interface DbMigrationReadList {\n migrations?: DbMigrationRead[];\n}\n\n/**\n * optional resource requirements to run workers (blank for unbounded allocations)\n */\nexport type ResourceRequirements = {\n cpu_request?: string;\n cpu_limit?: string;\n memory_request?: string;\n memory_limit?: string;\n} | null;\n\n/**\n * enum that describes the different types of jobs that the platform runs.\n */\nexport type JobType = typeof JobType[keyof typeof JobType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const JobType = {\n get_spec: \"get_spec\",\n check_connection: \"check_connection\",\n discover_schema: \"discover_schema\",\n sync: \"sync\",\n reset_connection: \"reset_connection\",\n connection_updater: \"connection_updater\",\n replicate: \"replicate\",\n} as const;\n\n/**\n * sets resource requirements for a specific job type for an actor definition. these values override the default, if both are set.\n */\nexport interface JobTypeResourceLimit {\n jobType: JobType;\n resourceRequirements: ResourceRequirements;\n}\n\n/**\n * actor definition specific resource requirements. if default is set, these are the requirements that should be set for ALL jobs run for this actor definition. it is overriden by the job type specific configurations. if not set, the platform will use defaults. these values will be overriden by configuration at the connection level.\n */\nexport interface ActorDefinitionResourceRequirements {\n default?: ResourceRequirements;\n jobSpecific?: JobTypeResourceLimit[];\n}\n\nexport interface StateBlob {\n [key: string]: any;\n}\n\nexport interface ConnectionState {\n connectionId: ConnectionId;\n state?: StateBlob;\n}\n\nexport interface AnalysisState {\n analysisId: AnalysisId;\n stateType: string;\n}\n\nexport interface AdviseIndexInfo {\n advIndiceId: string;\n analysisId: AnalysisId;\n tblName: string;\n idxName: string;\n idxText: string;\n validate: string;\n benefit: number;\n diskSize: number;\n}\n\nexport interface StatementDetail {\n analysisId: string;\n analysisName: string;\n statementName: string;\n stmtId: string;\n stmtText: string;\n detailMarkdown: string;\n detailMarkdownZh: string;\n openaiOptimizeTextEn: string;\n openaiOptimizeTextZh: string;\n indexRecommended: string[];\n rewrittenQuery: RuleRewrittenQuery[];\n violationRule: RuleRewrittenFragments[];\n validationDetails: ValidationDetails;\n}\n\nexport interface SlowQueryDetail {\n analysisName: string;\n analysisId: string;\n analysisStmtId: string;\n slowQueryId: string;\n dbinstanceId: string;\n dbinstanceName: string;\n stmtText: string;\n detailMarkdown: string;\n detailMarkdownZh: string;\n openaiOptimizeTextEn: string;\n openaiOptimizeTextZh: string;\n indexRecommended: string[];\n rewrittenQuery: RuleRewrittenQuery[];\n violationRule: RuleRewrittenFragments[];\n validationDetails: ValidationDetails;\n}\n\nexport interface SlowQueryPeriodRead {\n statDt: string;\n slowQueryNum: number;\n slowQueryTemplateNum: number;\n}\n\nexport interface RuleRewrittenQuery {\n ruleCode: string;\n ruleNameZh: string;\n ruleNameEn: string;\n rewrittenQueriesStr: string;\n violatedQueriesStr: string;\n}\n\nexport interface RuleRewrittenFragments {\n ruleName: string;\n fragmentsStr: string;\n}\n\nexport interface ValidationDetails {\n beforeCost: number;\n afterCost: number;\n beforePlan: string;\n afterPlan: string;\n performImprovePer: number;\n stmtText: string;\n}\n\nexport interface AnalysisStatementList {\n analysisStatementList: SummaryStatementInfo[];\n}\n\nexport interface AnalysisSummary {\n basicSummary: BasicSummary;\n analysisRuleInfo: SummaryStmtRuleInfo[];\n analysisIndexInfo: string[];\n summaryStatementInfo: SummaryStatementInfo[];\n}\n\nexport interface JiraIssue {\n url: string;\n}\n\nexport interface BasicSummary {\n numberOfQuery: number;\n numberOfSyntaxError: number;\n numberOfRewrite: number;\n numberOfRewriteRules: number;\n numberOfRewrittenQuery: number;\n numberOfViolations: number;\n numberOfViolatedQuery: number;\n numberOfIndex: number;\n numberOfHitIndex: number;\n numberOfQueryIndex: number;\n performanceImprove: number;\n summaryMarkdown: string;\n summaryMarkdownZh: string;\n}\n\nexport interface SummaryStmtRuleInfo {\n ruleName: string;\n stmtNameStr: string;\n}\n\nexport interface SummaryStatementInfo {\n analysisStmtId: string;\n stmtId: string;\n stmtName: string;\n stmtType: string;\n stmtText: string;\n costBefore: number;\n costAfter: number;\n numberOfSyntaxError: number;\n numberOfIndex: number;\n numberOfHitIndex: number;\n numberOfRewrite: number;\n numberOfRewriteRules: number;\n numberOfViolations: number;\n performance: number;\n contributingIndices: string;\n commentCount: number;\n needReply: number;\n}\n\nexport interface SummarySlowQueryInfo {\n analysisStmtId: string;\n slowQueryId: string;\n stmtType: string;\n stmtText: string;\n costBefore: number;\n costAfter: number;\n numberOfSyntaxError: number;\n numberOfIndex: number;\n numberOfHitIndex: number;\n numberOfRewrite: number;\n numberOfRewriteRules: number;\n numberOfViolations: number;\n performance: number;\n contributingIndices: string;\n}\n\nexport type CheckConnectionReadStatus = typeof CheckConnectionReadStatus[keyof typeof CheckConnectionReadStatus];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const CheckConnectionReadStatus = {\n succeeded: \"succeeded\",\n failed: \"failed\",\n} as const;\n\nexport interface CheckConnectionRead {\n status: CheckConnectionReadStatus;\n message?: string;\n}\n\nexport interface HealthCheckRead {\n available: boolean;\n}\n\nexport interface Pagination {\n pageSize?: number;\n rowOffset?: number;\n}\n\nexport interface PageController {\n pageSize: number;\n pageIndex: number;\n sortBy?: string;\n order?: string;\n}\n\nexport interface PageContent {\n records: T[];\n total: number;\n size: number;\n current: number;\n}\n\nexport interface LogRead {\n logLines: string[];\n}\n\nexport interface SynchronousJobRead {\n id: string;\n configType: JobConfigType;\n /** only present if a config id was provided. */\n configId?: string;\n createdAt: number;\n endedAt: number;\n succeeded: boolean;\n logs?: LogRead;\n}\n\nexport interface AttemptInfoRead {\n attempt: AttemptRead;\n logs: LogRead;\n}\n\nexport interface JobDebugInfoRead {\n job: JobDebugRead;\n attempts: AttemptInfoRead[];\n}\n\nexport interface JobInfoRead {\n job: JobRead;\n attempts: AttemptInfoRead[];\n}\n\nexport interface JobReadList {\n jobs: JobWithAttemptsRead[];\n}\n\nexport type AttemptStatus = typeof AttemptStatus[keyof typeof AttemptStatus];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AttemptStatus = {\n running: \"running\",\n failed: \"failed\",\n succeeded: \"succeeded\",\n} as const;\n\n/**\n * Categorizes well known errors into types for programmatic handling. If not set, the type of error is not well known.\n */\nexport type AttemptFailureType = typeof AttemptFailureType[keyof typeof AttemptFailureType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AttemptFailureType = {\n config_error: \"config_error\",\n system_error: \"system_error\",\n manual_cancellation: \"manual_cancellation\",\n} as const;\n\n/**\n * Indicates where the error originated. If not set, the origin of error is not well known.\n */\nexport type AttemptFailureOrigin = typeof AttemptFailureOrigin[keyof typeof AttemptFailureOrigin];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AttemptFailureOrigin = {\n source: \"source\",\n destination: \"destination\",\n replication: \"replication\",\n persistence: \"persistence\",\n normalization: \"normalization\",\n dbt: \"dbt\",\n pawsql_platform: \"pawsql_platform\",\n} as const;\n\nexport interface AttemptFailureReason {\n failureOrigin?: AttemptFailureOrigin;\n failureType?: AttemptFailureType;\n externalMessage?: string;\n internalMessage?: string;\n stacktrace?: string;\n /** True if it is known that retrying may succeed, e.g. for a transient failure. False if it is known that a retry will not succeed, e.g. for a configuration issue. If not set, retryable status is not well known. */\n retryable?: boolean;\n timestamp: number;\n}\n\nexport type AttemptFailureSummary = {\n failures: AttemptFailureReason[];\n /** True if the number of committed records for this attempt was greater than 0. False if 0 records were committed. If not set, the number of committed records is unknown. */\n partialSuccess?: boolean;\n} | null;\n\nexport type AttemptStats = {\n recordsEmitted?: number;\n bytesEmitted?: number;\n stateMessagesEmitted?: number;\n recordsCommitted?: number;\n} | null;\n\nexport interface AttemptStreamStats {\n streamName: string;\n stats: AttemptStats;\n}\n\nexport interface AttemptRead {\n id: number;\n status: AttemptStatus;\n createdAt: number;\n updatedAt: number;\n endedAt?: number;\n bytesSynced?: number;\n recordsSynced?: number;\n totalStats?: AttemptStats;\n streamStats?: AttemptStreamStats[];\n failureSummary?: AttemptFailureSummary;\n}\n\nexport type JobStatus = typeof JobStatus[keyof typeof JobStatus];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const JobStatus = {\n pending: \"pending\",\n running: \"running\",\n incomplete: \"incomplete\",\n failed: \"failed\",\n succeeded: \"succeeded\",\n cancelled: \"cancelled\",\n} as const;\n\nexport interface JobWithAttemptsRead {\n job?: JobRead;\n attempts?: AttemptRead[];\n}\n\nexport type JobConfigType = typeof JobConfigType[keyof typeof JobConfigType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const JobConfigType = {\n check_connection_source: \"check_connection_source\",\n check_connection_destination: \"check_connection_destination\",\n discover_schema: \"discover_schema\",\n get_spec: \"get_spec\",\n sync: \"sync\",\n reset_connection: \"reset_connection\",\n} as const;\n\nexport interface JobListRequestBody {\n configTypes: JobConfigType[];\n configId: string;\n pagination?: Pagination;\n}\n\nexport type JobId = number;\n\nexport interface JobDebugRead {\n id: JobId;\n configType: JobConfigType;\n configId: string;\n status: JobStatus;\n pawsqlVersion: string;\n sourceDefinition: SourceDefinitionRead;\n destinationDefinition: DestinationDefinitionRead;\n}\n\nexport interface JobRead {\n id: JobId;\n configType: JobConfigType;\n configId: string;\n createdAt: number;\n updatedAt: number;\n status: JobStatus;\n}\n\nexport interface JobIdRequestBody {\n id: JobId;\n}\n\nexport type DataType = typeof DataType[keyof typeof DataType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const DataType = {\n string: \"string\",\n number: \"number\",\n boolean: \"boolean\",\n object: \"object\",\n array: \"array\",\n} as const;\n\n/**\n * the mutable part of the stream to configure the destination\n */\nexport interface PawsqlStreamConfiguration {\n syncMode: SyncMode;\n /** Path to the field that will be used to determine if a record is new or modified since the last sync. This field is REQUIRED if `sync_mode` is `incremental`. Otherwise it is ignored. */\n cursorField?: string[];\n destinationSyncMode: DestinationSyncMode;\n /** Paths to the fields that will be used as primary key. This field is REQUIRED if `destination_sync_mode` is `*_dedup`. Otherwise it is ignored. */\n primaryKey?: string[][];\n /** Alias name to the stream to be used in the destination */\n aliasName?: string;\n selected?: boolean;\n}\n\nexport interface StreamJsonSchema {\n [key: string]: any;\n}\n\n/**\n * the immutable schema defined by the source\n */\nexport interface PawsqlStream {\n /** Stream's name. */\n name: string;\n /** Stream schema using Json Schema specs(规范). */\n jsonSchema?: StreamJsonSchema;\n supportedSyncModes?: SyncMode[];\n /** If the source defines the cursor field, then any other cursor field inputs will be ignored. If it does not, either the user_provided one is used, or the default one is used as a backup. */\n sourceDefinedCursor?: boolean | null;\n /** Path to the field that will be used to determine if a record is new or modified since the last sync. If not provided by the source, the end user will have to specify the comparable themselves. */\n defaultCursorField?: string[];\n /** If the source defines the primary key, paths to the fields that will be used as a primary key. If not provided by the source, the end user will have to specify the primary key themselves. */\n sourceDefinedPrimaryKey?: string[][];\n /** Optional Source-defined namespace. Pawsql streams from the same sources should have the same namespace. Currently only used by JDBC destinations to determine what schema to write to. */\n namespace?: string | null;\n}\n\n/**\n * each stream is split in two parts; the immutable schema from source and mutable configuration for destination\n */\nexport interface PawsqlStreamAndConfiguration {\n stream?: PawsqlStream;\n config?: PawsqlStreamConfiguration;\n}\n\n/**\n * describes the available schema (catalog).\n */\nexport interface PawsqlCatalog {\n streams: PawsqlStreamAndConfiguration[];\n}\n\n/**\n * type/source of logs produced\n */\nexport type LogType = typeof LogType[keyof typeof LogType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const LogType = {\n server: \"server\",\n scheduler: \"scheduler\",\n} as const;\n\nexport interface LogsRequestBody {\n logType: LogType;\n}\n\nexport type CheckOperationReadStatus = typeof CheckOperationReadStatus[keyof typeof CheckOperationReadStatus];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const CheckOperationReadStatus = {\n succeeded: \"succeeded\",\n failed: \"failed\",\n} as const;\n\nexport interface CheckOperationRead {\n status: CheckOperationReadStatus;\n message?: string;\n}\n\nexport type OperatorDbt = {\n gitRepoUrl: string;\n gitRepoBranch?: string;\n dockerImage?: string;\n dbtArguments?: string;\n} | null;\n\nexport type OperatorNormalizationOption = typeof OperatorNormalizationOption[keyof typeof OperatorNormalizationOption];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const OperatorNormalizationOption = {\n basic: \"basic\",\n} as const;\n\nexport interface OperatorNormalization {\n option?: OperatorNormalizationOption;\n}\n\nexport type OperatorType = typeof OperatorType[keyof typeof OperatorType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const OperatorType = {\n normalization: \"normalization\",\n dbt: \"dbt\",\n} as const;\n\nexport interface OperatorConfiguration {\n operatorType: OperatorType;\n normalization?: OperatorNormalization;\n dbt?: OperatorDbt;\n}\n\nexport interface OperationRead {\n workspaceId: WorkspaceId;\n operationId: OperationId;\n name: string;\n operatorConfiguration: OperatorConfiguration;\n}\n\nexport interface OperationReadList {\n operations: OperationRead[];\n}\n\nexport interface OperationCreate {\n workspaceId: WorkspaceId;\n name: string;\n operatorConfiguration: OperatorConfiguration;\n}\n\nexport type OperationId = string;\n\nexport interface OperationUpdate {\n operationId: OperationId;\n name: string;\n operatorConfiguration: OperatorConfiguration;\n}\n\nexport interface OperationIdRequestBody {\n operationId: OperationId;\n}\n\n/**\n * Method used for computing final namespace in destination\n */\nexport type NamespaceDefinitionType = typeof NamespaceDefinitionType[keyof typeof NamespaceDefinitionType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const NamespaceDefinitionType = {\n source: \"source\",\n destination: \"destination\",\n customformat: \"customformat\",\n} as const;\n\nexport type ConnectionScheduleDataCron = {\n cronExpression: string;\n cronTimeZone: string;\n};\n\nexport type ConnectionScheduleDataBasicScheduleTimeUnit =\n typeof ConnectionScheduleDataBasicScheduleTimeUnit[keyof typeof ConnectionScheduleDataBasicScheduleTimeUnit];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const ConnectionScheduleDataBasicScheduleTimeUnit = {\n minutes: \"minutes\",\n hours: \"hours\",\n days: \"days\",\n weeks: \"weeks\",\n months: \"months\",\n} as const;\n\nexport type ConnectionScheduleDataBasicSchedule = {\n timeUnit: ConnectionScheduleDataBasicScheduleTimeUnit;\n units: number;\n};\n\n/**\n * schedule for when the the connection should run, per the schedule type\n */\nexport interface ConnectionScheduleData {\n basicSchedule?: ConnectionScheduleDataBasicSchedule;\n cron?: ConnectionScheduleDataCron;\n}\n\n/**\n * determine how the schedule data should be interpreted\n */\nexport type ConnectionScheduleType = typeof ConnectionScheduleType[keyof typeof ConnectionScheduleType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const ConnectionScheduleType = {\n manual: \"manual\",\n basic: \"basic\",\n cron: \"cron\",\n} as const;\n\nexport type ConnectionScheduleTimeUnit = typeof ConnectionScheduleTimeUnit[keyof typeof ConnectionScheduleTimeUnit];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const ConnectionScheduleTimeUnit = {\n minutes: \"minutes\",\n hours: \"hours\",\n days: \"days\",\n weeks: \"weeks\",\n months: \"months\",\n} as const;\n\n/**\n * if null, then no schedule is set.\n */\nexport type ConnectionSchedule = {\n units: number;\n timeUnit: ConnectionScheduleTimeUnit;\n} | null;\n\n/**\n * Active means that data is flowing through the connection. Inactive means it is not. Deprecated means the connection is off and cannot be re-activated. the schema field describes the elements of the schema that will be synced.\n */\nexport type ConnectionStatus = typeof ConnectionStatus[keyof typeof ConnectionStatus];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const ConnectionStatus = {\n active: \"active\",\n inactive: \"inactive\",\n deprecated: \"deprecated\",\n} as const;\n\nexport type AnalysisStatus = typeof EntityStatus[keyof typeof EntityStatus];\n\nexport const EntityStatus = {\n success: \"success\",\n running: \"running\",\n loading: \"loading\",\n failed: \"failed\",\n deprecated: \"deprecated\",\n} as const;\n\nexport interface ConnectionReadList {\n connections: ConnectionRead[];\n}\n\nexport interface WebBackendConnectionUpdate {\n /** Name that will be set to the connection */\n name?: string;\n connectionId: ConnectionId;\n namespaceDefinition?: NamespaceDefinitionType;\n /** Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If \"${SOURCE_NAMESPACE}\" then behaves like namespaceDefinition = 'source'. */\n namespaceFormat?: string;\n /** Prefix that will be prepended to the name of each stream when it is written to the destination. */\n prefix?: string;\n operationIds?: OperationId[];\n syncCatalog: PawsqlCatalog;\n schedule?: ConnectionSchedule;\n status: ConnectionStatus;\n resourceRequirements?: ResourceRequirements;\n withRefreshedCatalog?: boolean;\n operations?: WebBackendOperationCreateOrUpdate[];\n sourceCatalogId?: string;\n}\n\nexport interface WebBackendConnectionCreate {\n /** Optional name of the connection */\n name?: string;\n namespaceDefinition?: NamespaceDefinitionType;\n /** Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If \"${SOURCE_NAMESPACE}\" then behaves like namespaceDefinition = 'source'. */\n namespaceFormat?: string;\n /** Prefix that will be prepended to the name of each stream when it is written to the destination. */\n prefix?: string;\n sourceId: SourceId;\n destinationId: DestinationId;\n operationIds?: OperationId[];\n syncCatalog?: PawsqlCatalog;\n schedule?: ConnectionSchedule;\n status: ConnectionStatus;\n resourceRequirements?: ResourceRequirements;\n operations?: OperationCreate[];\n sourceCatalogId?: string;\n}\n\nexport interface AnalysisCreate {\n analysisName: string;\n workspaceId: WorkspaceId;\n workspaceDefinitionId: WorkspaceDefinitionId;\n workloadId: WorkloadId;\n userId?: UserId;\n analyzeFlag: boolean;\n validateFlag: boolean;\n deduplicateFlag: boolean;\n updateStatsBeforeValidationFlag: boolean;\n indexOnly: boolean;\n maxMembersForIndexOnly: number;\n maxMembers: number;\n maxPerTable: number;\n maxSpace: number;\n closeRewrite: boolean;\n rules: RuleBasicRead[];\n dbTypeDefinitionId: string;\n}\n\nexport interface PptAnalysisCreate {\n analysisName: string;\n dbinstanceId: string;\n dbinstanceName: string;\n dbinstanceDefinitionId: string;\n slowQueryIds: string;\n userId: UserId;\n analyzeFlag: boolean;\n validateFlag: boolean;\n updateStatsBeforeValidationFlag: boolean;\n deduplicateFlag: boolean;\n indexOnly: boolean;\n maxMembersForIndexOnly: number;\n maxMembers: number;\n maxPerTable: number;\n maxSpace: number;\n closeRewrite: boolean;\n rules: RuleCreate[];\n}\n\nexport interface ExplainCreate {\n explainName: string;\n explainSource: string;\n querySource: string;\n databaseType: string;\n explainFormat: string;\n executionTime?: number;\n planningTime?: number;\n workspaceType?: string;\n analysisStmtId?: string;\n validatePhase?: number;\n analysisId?: string;\n analysisName?: string;\n createTime?: string;\n createUserId: string;\n createUserName: string;\n deleteFlag?: number;\n}\n\nexport interface ExplainUpdate {\n explainId: string;\n explainName: string;\n}\nexport interface InstanceUpdate {\n instanceId: string;\n instanceName: string;\n}\n\nexport interface ConnectionCreate {\n /** Optional name of the connection */\n name?: string;\n namespaceDefinition?: NamespaceDefinitionType;\n /** Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If \"${SOURCE_NAMESPACE}\" then behaves like namespaceDefinition = 'source'. */\n namespaceFormat?: string;\n /** Prefix that will be prepended to the name of each stream when it is written to the destination. */\n prefix?: string;\n sourceId: SourceId;\n destinationId: DestinationId;\n operationIds?: OperationId[];\n syncCatalog?: PawsqlCatalog;\n schedule?: ConnectionSchedule;\n status: ConnectionStatus;\n resourceRequirements?: ResourceRequirements;\n sourceCatalogId?: string | null;\n}\n\nexport interface DbMigrationRequestBody {\n database: string;\n}\n\nexport type ConnectionId = string;\n\nexport type AnalysisId = string;\n\nexport type ExplainId = string;\n\nexport type StatementId = string;\n\nexport interface ConnectionSearch {\n connectionId?: ConnectionId;\n name?: string;\n namespaceDefinition?: NamespaceDefinitionType;\n /** Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If \"${SOURCE_NAMESPACE}\" then behaves like namespaceDefinition = 'source'. */\n namespaceFormat?: string;\n /** Prefix that will be prepended to the name of each stream when it is written to the destination. */\n prefix?: string;\n sourceId?: SourceId;\n destinationId?: DestinationId;\n schedule?: ConnectionSchedule;\n status?: ConnectionStatus;\n source?: SourceSearch;\n destination?: DestinationSearch;\n}\n\nexport interface ConnectionUpdate {\n connectionId: ConnectionId;\n namespaceDefinition?: NamespaceDefinitionType;\n /** Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If \"${SOURCE_NAMESPACE}\" then behaves like namespaceDefinition = 'source'. */\n namespaceFormat?: string;\n /** Name that will be set to this connection */\n name?: string;\n /** Prefix that will be prepended to the name of each stream when it is written to the destination. */\n prefix?: string;\n operationIds?: OperationId[];\n syncCatalog: PawsqlCatalog;\n schedule?: ConnectionSchedule;\n status: ConnectionStatus;\n resourceRequirements?: ResourceRequirements;\n sourceCatalogId?: string | null;\n}\n\nexport interface WebBackendConnectionRequestBody {\n withRefreshedCatalog?: boolean;\n connectionId: ConnectionId;\n}\n\nexport interface ConnectionIdRequestBody {\n connectionId: ConnectionId;\n}\n\nexport interface AnalysisIdRequestBody {\n analysisId: AnalysisId;\n}\n\nexport interface JiraIssueCreate {\n jiraBaseUrl: string;\n apiToken: string;\n projectId: string;\n issueType: string;\n summary: string;\n translatedADF: unknown;\n}\n\nexport interface StatementIdRequestBody {\n statementId: StatementId;\n}\n\nexport interface OpenaiRequestBody {\n statementId: StatementId;\n prompt: string;\n locale: string;\n}\n\nexport type ReleaseStage = typeof ReleaseStage[keyof typeof ReleaseStage];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const ReleaseStage = {\n alpha: \"alpha\",\n beta: \"beta\",\n generally_available: \"generally_available\",\n custom: \"custom\",\n} as const;\n\n/**\n * The values required to configure the destination. The schema for this must match the schema return by destination_definition_specifications/get for the destinationDefinition.\n */\nexport type DestinationConfiguration = unknown;\n\nexport type WorkloadConfiguration = unknown;\n\nexport interface DestinationSearch {\n destinationDefinitionId?: DestinationDefinitionId;\n destinationId?: DestinationId;\n workspaceId?: WorkspaceId;\n connectionConfiguration?: DestinationConfiguration;\n name?: string;\n destinationName?: string;\n}\n\nexport interface DestinationRead {\n destinationDefinitionId: DestinationDefinitionId;\n destinationId: DestinationId;\n workspaceId: WorkspaceId;\n connectionConfiguration: DestinationConfiguration;\n name: string;\n destinationName: string;\n}\n\nexport interface WorkloadRead {\n workloadId: WorkloadId;\n createUserId: UserId;\n createUserName: string;\n workloadName: string;\n queryMode: string;\n numberOfQuery: number;\n rawText: string;\n createTime: string;\n queries: string;\n deleteFlag?: boolean;\n status?: string;\n enabled?: boolean;\n}\n\nexport interface QueryRead {\n queryLogId: string;\n dbname: string;\n userHost: string;\n startTime: string;\n queryTime: string;\n sqlText: string;\n selected?: boolean;\n}\n\nexport interface DestinationReadList {\n destinations: DestinationRead[];\n}\n\nexport interface WorkloadReadList {\n workloads: WorkloadRead[];\n}\n\nexport interface QueryReadList {\n queries: QueryRead[];\n}\n\nexport interface DestinationUpdate {\n destinationId: DestinationId;\n connectionConfiguration: DestinationConfiguration;\n name: string;\n}\n\nexport interface DestinationCreate {\n workspaceId: WorkspaceId;\n name: string;\n destinationDefinitionId: DestinationDefinitionId;\n connectionConfiguration: DestinationConfiguration;\n}\n\nexport interface WorkloadCreate {\n userId: UserId;\n workloadName: string;\n queryMode: string;\n rawText?: string;\n workloadFile?: WorkloadFile;\n}\n\nexport interface DestinationCoreConfig {\n destinationDefinitionId: DestinationDefinitionId;\n connectionConfiguration: DestinationConfiguration;\n}\n\nexport type DestinationId = string;\n\nexport type WorkloadId = string;\n\nexport interface WebBackendConnectionSearch {\n connectionId?: ConnectionId;\n name?: string;\n namespaceDefinition?: NamespaceDefinitionType;\n /** Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If \"${SOURCE_NAMESPACE}\" then behaves like namespaceDefinition = 'source'. */\n namespaceFormat?: string;\n /** Prefix that will be prepended to the name of each stream when it is written to the destination. */\n prefix?: string;\n sourceId?: SourceId;\n destinationId?: DestinationId;\n schedule?: ConnectionSchedule;\n status?: ConnectionStatus;\n source?: SourceSearch;\n destination?: DestinationSearch;\n}\n\nexport interface ConnectionRead {\n connectionId: ConnectionId;\n name: string;\n namespaceDefinition?: NamespaceDefinitionType;\n /** Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If \"${SOURCE_NAMESPACE}\" then behaves like namespaceDefinition = 'source'. */\n namespaceFormat?: string;\n /** Prefix that will be prepended to the name of each stream when it is written to the destination. */\n prefix?: string;\n sourceId: SourceId;\n destinationId: DestinationId;\n operationIds?: OperationId[];\n syncCatalog: PawsqlCatalog;\n schedule?: ConnectionSchedule;\n status: ConnectionStatus;\n resourceRequirements?: ResourceRequirements;\n sourceCatalogId?: string | null;\n}\n\nexport interface DestinationIdRequestBody {\n destinationId: DestinationId;\n}\n\nexport interface WorkloadIdRequestBody {\n workloadId: WorkloadId;\n}\n\n/**\n * The specification for what values are required to configure the destinationDefinition.\n */\nexport type DestinationDefinitionSpecification = unknown;\n\nexport type WorkloadDefinitionSpecification = unknown;\n\nexport interface DestinationDefinitionSpecificationRead {\n destinationDefinitionId: DestinationDefinitionId;\n documentationUrl?: string;\n connectionSpecification?: DestinationDefinitionSpecification;\n authSpecification?: DestinationAuthSpecification;\n advancedAuth?: AdvancedAuth;\n jobInfo: SynchronousJobRead;\n supportedDestinationSyncModes?: DestinationSyncMode[];\n supportsDbt?: boolean;\n supportsNormalization?: boolean;\n}\n\nexport interface WorkloadDefinitionSpecificationRead {\n workloadDefinitionId: WorkloadDefinitionId;\n documentationUrl?: string;\n connectionSpecification?: WorkloadDefinitionSpecification;\n authSpecification?: WorkloadAuthSpecification;\n advancedAuth?: AdvancedAuth;\n jobInfo: SynchronousJobRead;\n supportedDestinationSyncModes?: WorkloadSyncMode[];\n supportsDbt?: boolean;\n supportsNormalization?: boolean;\n}\n\nexport interface PrivateDestinationDefinitionRead {\n destinationDefinition: DestinationDefinitionRead;\n granted: boolean;\n}\n\nexport interface PrivateDestinationDefinitionReadList {\n destinationDefinitions: PrivateDestinationDefinitionRead[];\n}\n\nexport interface DestinationDefinitionIdWithWorkspaceId {\n destinationDefinitionId: DestinationDefinitionId;\n workspaceId: WorkspaceId;\n}\n\nexport interface WorkloadDefinitionIdWithUserId {\n workloadDefinitionId: WorkloadDefinitionId;\n // userId: UserId;\n}\n\nexport interface CustomDestinationDefinitionUpdate {\n workspaceId: WorkspaceId;\n destinationDefinition: DestinationDefinitionUpdate;\n}\n\nexport interface CustomDestinationDefinitionCreate {\n workspaceId: WorkspaceId;\n destinationDefinition: DestinationDefinitionCreate;\n}\n\nexport interface DestinationDefinitionRead {\n destinationDefinitionId: DestinationDefinitionId;\n name: string;\n dockerRepository: string;\n dockerImageTag: string;\n documentationUrl: string;\n icon?: string;\n releaseStage?: ReleaseStage;\n /** The date when this instance was first released, in yyyy-mm-dd format. */\n releaseDate?: string;\n resourceRequirements?: ActorDefinitionResourceRequirements;\n}\n\nexport interface WorkloadDefinitionRead {\n workloadDefinitionId: WorkloadDefinitionId;\n name: string;\n dockerRepository: string;\n dockerImageTag: string;\n documentationUrl: string;\n icon?: string;\n releaseStage?: ReleaseStage;\n /** The date when this instance was first released, in yyyy-mm-dd format. */\n releaseDate?: string;\n resourceRequirements?: ActorDefinitionResourceRequirements;\n}\n\nexport interface DestinationDefinitionReadList {\n destinationDefinitions: DestinationDefinitionRead[];\n}\n\nexport interface WorkloadDefinitionReadList {\n workloadDefinitions: WorkloadDefinitionRead[];\n}\n\nexport interface DestinationDefinitionUpdate {\n destinationDefinitionId: DestinationDefinitionId;\n dockerImageTag?: string;\n resourceRequirements?: ActorDefinitionResourceRequirements;\n}\n\nexport interface DestinationDefinitionCreate {\n name: string;\n dockerRepository: string;\n dockerImageTag: string;\n documentationUrl: string;\n icon?: string;\n resourceRequirements?: ActorDefinitionResourceRequirements;\n}\n\nexport interface DestinationDefinitionIdRequestBody {\n destinationDefinitionId: DestinationDefinitionId;\n}\n\nexport interface LoginRequestBody {\n email: string;\n password: string;\n}\n\nexport interface ResetPasswordRequestBody {\n email: string;\n}\n\nexport interface ResetPasswordActionRequestBody {\n token: string;\n newPassword: string;\n}\n\nexport interface UpdatePasswordRequestBody {\n email: string;\n oldPassword: string;\n newPassword: string;\n}\n\nexport interface UpdateNameRequestBody {\n userId: string;\n username: string;\n}\n\nexport interface UpdateCompanyNameRequestBody {\n userId: string;\n companyName: string;\n}\n\nexport interface UpdateOrgRequestBody {\n userId: string;\n orgId: string;\n}\n\nexport interface CreateOrgRequestBody {\n userId: string;\n orgName: string;\n introduce: string;\n}\n\nexport interface JWTToken {\n token: string;\n}\n\nexport interface UserCreate {\n userName: string;\n companyName: string;\n mobile: string;\n language: string;\n email: string;\n password: string;\n}\n\nexport interface WorkloadDefinitionIdRequestBody {\n workloadDefinitionId: WorkloadDefinitionId;\n}\n\nexport type DestinationAuthSpecification = AuthSpecification;\n\nexport type WorkloadAuthSpecification = AuthSpecification;\n\nexport type DestinationDefinitionId = string;\n\nexport type WorkloadDefinitionId = string;\n\n/**\n * Returns the results of a discover catalog job. If the job was not successful, the catalog field will not be present. jobInfo will aways be present and its status be used to determine if the job was successful or not.\n */\nexport interface SourceDiscoverSchemaRead {\n catalog?: PawsqlCatalog;\n jobInfo: SynchronousJobRead;\n catalogId?: string;\n}\n\nexport interface SourceReadList {\n sources: SourceRead[];\n}\n\nexport interface SourceDiscoverSchemaRequestBody {\n sourceId: SourceId;\n disable_cache?: boolean;\n}\n\n/**\n * The values required to configure the source. The schema for this must match the schema return by source_definition_specifications/get for the source.\n */\nexport type SourceConfiguration = unknown;\n\nexport type WorkspaceConfiguration = unknown;\nexport type InstanceConfiguration = unknown;\n\nexport interface SourceUpdate {\n sourceId: SourceId;\n connectionConfiguration: SourceConfiguration;\n name: string;\n}\n\nexport interface SourceCreate {\n sourceDefinitionId: SourceDefinitionId;\n connectionConfiguration: SourceConfiguration;\n workspaceId: WorkspaceId;\n name: string;\n}\n\nexport interface SourceCoreConfig {\n sourceDefinitionId: SourceDefinitionId;\n connectionConfiguration: SourceConfiguration;\n}\n\nexport type SourceId = string;\n\nexport interface SourceRead {\n sourceDefinitionId: SourceDefinitionId;\n sourceId: SourceId;\n workspaceId: WorkspaceId;\n connectionConfiguration: SourceConfiguration;\n name: string;\n sourceName: string;\n}\n\nexport interface SourceIdRequestBody {\n sourceId: SourceId;\n}\n\nexport interface RuleRead {\n id?: number;\n ruleId: string;\n ruleCode: string;\n ruleNameCn: string;\n ruleNameEn: string;\n ruleType: string;\n category: number;\n review: boolean;\n threshold: string | null;\n defaultThreshold: string | null;\n validate: boolean;\n defaultValidate: boolean;\n rewrite: boolean;\n level: number;\n dbType: string;\n descCn: string;\n descEn: string;\n exampleAfter: string;\n exampleBefore: string;\n hasChange?: boolean;\n objectType: string;\n nodeId: number;\n nodeLevel: number;\n nodeLevelOrder: number;\n pid: number;\n firstPid?: number;\n secondPid?: number;\n isLeaf: boolean;\n children?: RuleRead[];\n className?: string;\n label: string;\n value: string;\n icon?: React.ReactNode;\n pidHasChange?: boolean;\n}\n\nexport interface RuleBasicRead {\n ruleCode: string;\n rewrite: boolean;\n threshold: string | null;\n}\n\nexport interface RuleCreate {\n id?: number;\n ruleCode: string;\n ruleType: string;\n category: number;\n review: boolean;\n threshold: string | null;\n defaultThreshold: string | null;\n validate: boolean;\n defaultValidate: boolean;\n rewrite: boolean;\n level: number;\n dbType: string;\n hasChange?: boolean;\n}\n\nexport interface UserConfigRead {\n userConfigId: string;\n userId: string;\n validateFlag: boolean;\n analyzeFlag: boolean;\n updateStatsBeforeValidationFlag: boolean;\n gptButtonFlag: boolean;\n deduplicateFlag: boolean;\n indexOnly: boolean;\n maxMembersForIndexOnly: number;\n maxMembers: number;\n maxPerTable: number;\n maxSpace: number;\n closeRewrite: boolean;\n}\n\nexport interface ConfigRead {\n configId: string;\n validateFlag: boolean;\n analyzeFlag: boolean;\n updateStatsBeforeValidationFlag: boolean;\n gptButtonFlag: boolean;\n deduplicateFlag: boolean;\n indexOnly: boolean;\n maxMembersForIndexOnly: number;\n maxMembers: number;\n maxPerTable: number;\n maxSpace: number;\n closeRewrite: boolean;\n maxWorkloadMembers: number;\n enableExplain: boolean;\n enableVariableOpt: boolean;\n enablePpt: boolean;\n switchDashboard: boolean;\n openInstanceInNewTab: boolean;\n enableBanner: boolean;\n bannerTextZh: string;\n bannerTextEn: string;\n}\n\nexport interface ConfigUpdate {\n userId: string;\n field: string;\n value: any;\n}\n\nexport interface MyWorkspaceRead {\n workspaceDefinitionId: WorkspaceDefinitionId;\n workspaceId: WorkspaceId;\n userId: UserId;\n connectionConfiguration: WorkspaceConfiguration;\n name: string;\n workspaceName: string;\n dbType: string;\n numberOfAnalysis: number;\n createTime: string;\n createUserName: string;\n latestAnalysisTime: string;\n numberOfAudit: number;\n latestAuditTime: string;\n deleteFlag: number;\n status: string;\n tableNum: number;\n viewNum: number;\n indexNum: number;\n parseErrorNum: number;\n customValidateServer: boolean;\n isDemo: boolean;\n}\n\nexport interface InstanceRead {\n dbinstanceId: string;\n dbinstanceName: string;\n dbinstanceDefinitionId: string;\n dbinstanceDefinitionName: string;\n dbType: string;\n defaultDb: string;\n dbSchemas: string;\n dbHost: string;\n dbPort: string;\n dbUser: string;\n dbVersion: string;\n startTime: string;\n createUserId: string;\n createUserName: string;\n createOrgId: string;\n createOrgName: string;\n createTime: string;\n deleteFlag: number;\n status: string;\n enabled?: boolean;\n dbConnectStatus: string;\n slowQueryStatus: string;\n currentState: string;\n dbObjectStatus: string;\n slowQueryCronExpression: string;\n lastSlowQueryCronTime: string;\n lastDbObjectCollectTime: string;\n dbObjectCount: number;\n ddlAdvisorSummaryZh: string;\n ddlAdvisorSummaryEn: string;\n initConfig: string;\n ddlAdvisorRuleRankInfo: string;\n ddlAdvisorRuleRiskRankInfo: string;\n slowQueryTimeRankInfo: string;\n dbObjectRuleTemplateId: string;\n dbObjectRuleTemplateName: string;\n}\n\nexport interface InstanceStatusRead {\n statDt: string;\n uptime: number;\n maxConnections: number;\n threadsConnected: number;\n threadsRunning: number;\n threadsError: number;\n qps: number;\n tps: number;\n questions: number;\n comSelect: number;\n comCommit: number;\n comRollback: number;\n comInsertUpdateDelete: number;\n bufferPoolSize: number;\n innodbBufferPoolPagesTotal: number;\n innodbBufferPoolPagesFree: number;\n bufferPoolUtilization: number;\n bufferPoolHitRate: number;\n innodbBufferPoolReadRequests: number;\n innodbBufferPoolReads: number;\n periodReads: InstanceStatusRead[];\n}\n\nexport interface PptJobRead {\n jobId: string;\n jobName: string;\n jobType: string;\n dbinstanceId: string;\n dbinstanceName: string;\n queryConfig: string;\n cronExpression: string;\n enableCronTask: boolean;\n createTime: string;\n latestJobRun?: PptJobRun;\n}\n\nexport interface PptJobRun {\n jobRunId: string;\n dbinstanceId: string;\n jobId: string;\n startTime: string;\n endTime: string;\n jobStatus: number;\n message: string;\n}\n\nexport interface checkVariablesRead {\n result: boolean;\n successMessage: string;\n errorMessage: string;\n data: any;\n}\nexport interface DatabaseRead {\n databaseId: string;\n dbinstanceId: string;\n dbName: string;\n tableCount: number;\n viewCount: number;\n indexCount: number;\n dataSize: number;\n toastSize: number;\n indexSize: number;\n totalSize: number;\n}\n\nexport interface SlowQueryRead {\n id?: number;\n slowQueryId: string;\n slowQueryTemplateId: string;\n dbinstanceId: string;\n sqlText: string;\n slowQuerySqlText: string;\n sqlHash: string;\n dbName: string;\n levelOfNested: number;\n numOfQueryBlocks: number;\n sqlType: string;\n numOfFoundTables: number;\n numOfTables: number;\n parseExceptions: string;\n textLen: number;\n isBusiness: boolean;\n startTime: string;\n userHost: string;\n userName: string;\n queryTime: string;\n avgQueryTime: string;\n maxQueryTime: string;\n lockTime: string;\n cpuTime: string;\n logicalIo: string;\n writeIo: string;\n physicalIo: string;\n rowsAffected: string;\n rowsSent: number;\n maxRowsSent: number;\n avgRowsSent: number;\n rowsExamined: number;\n avgRowsExamined: number;\n maxRowsExamined: number;\n runTimes: number;\n lastQueryTime: string;\n lastInsertId: number;\n insertId: number;\n serverId: number;\n numberOfIndex: number;\n numberOfRewrite: number;\n numberOfRewriteRules: number;\n numberOfViolations: number;\n performanceImprove: number;\n slowQueryStatus: string;\n slowQueryRemark: string;\n nodeInfo?: string;\n selected?: boolean;\n enabled?: boolean;\n}\n\nexport interface DbObjectDropdownData {\n schemas: GroupCountRead[];\n ruleCodes: GroupCountRead[];\n tags: DbObjectTagRead[];\n}\n\nexport interface VariablesRequestBody {\n dbType: string;\n dbVersion?: string;\n}\nexport interface DbObjectRead {\n id?: number;\n dbObjectId: string;\n dbinstanceId: string;\n tableName: string;\n dbName: string;\n schemaName: string;\n columnCount: number;\n rowCount: number;\n indexCount: number;\n violateRuleCount: number;\n tags: DbObjectTagRead[];\n detailsEn: string;\n detailsZh: string;\n createTime: string;\n updateTime: string;\n selected?: boolean;\n enabled?: boolean;\n tableRuleSummary: string;\n}\n\nexport interface AuditObjectRead {\n id?: number;\n auditObjectId: string;\n auditId: string;\n rawSql: string;\n parsingException: string;\n sqlType: string;\n workspaceId: string;\n violateRuleCount: number;\n isViolated: boolean;\n tags: string;\n detailsEn: string;\n detailsZh: string;\n comment: string;\n createTime: string;\n objectRuleSummary: string;\n score: number;\n}\n\nexport interface AuditRead {\n auditId: string;\n workloadId: string;\n workspaceId: string;\n ruleTemplateId: string;\n ruleTemplateName: string;\n auditName: string;\n workloadName: string;\n workspaceName: string;\n dbType: string;\n dbVersion: string;\n sqlCount: number;\n detailsEn: string;\n detailsZh: string;\n ruleRankInfo: string;\n sqlRuleRankInfo: string;\n levelRankInfo: string;\n createTime: string;\n status: string;\n createUserId: string;\n createUserName: string;\n auditObjectList: AuditObjectRead[];\n deleteFlag: boolean;\n auditScore: number;\n}\n\nexport interface DbObjectTagRead {\n tagId: string;\n tagName: string;\n isGlobal: boolean;\n}\n\nexport interface DbObjectStatisticSummaryRead {\n schemaList: DbObjectStatisticRead[];\n objectList: DbObjectStatisticRead[];\n}\nexport interface DbObjectStatisticRead {\n name: string;\n code: string;\n dataCount: number;\n}\nexport interface InstanceReadList {\n instances: InstanceRead[];\n}\n\nexport interface VariableRead {\n variableId: string;\n defaultVariableId: string;\n dbinstanceId: string;\n statDt: string;\n variableName: string;\n variableValue: string;\n defaultVariableValue: string;\n sameWithDefault: boolean;\n description: string;\n descriptionZh: string;\n enabled: boolean;\n}\n\nexport interface VariableSummaryRead {\n statDt: string;\n allVariableNum: number;\n sameWithDefaultNum: number;\n diffFromDefaultNum: number;\n}\n\nexport interface InstanceDefaultVariable {\n defaultVariableId: string;\n dbType: string;\n dbVersion: string;\n variableName: string;\n variableType: string;\n variableValue: string;\n description: string;\n descriptionZh: string;\n enabled: boolean;\n}\n\nexport interface PptTableRead {\n tableId: string;\n dbinstanceId: string;\n statDt: string;\n dbName: string;\n schemaName: string;\n tableName: string;\n primaryKey: string;\n tableText: string;\n tableType: string;\n columnCount: number;\n indexCount: number;\n rowCount: number;\n dataSize: number;\n indexSize: number;\n partitionFlag: number;\n brokenPageRate: number;\n dataSkewDegree: number;\n}\n\nexport interface VariableReadList {\n variables: VariableRead[];\n}\n\nexport interface PptTableReadList {\n tables: PptTableRead[];\n}\n\nexport interface DatabaseReadList {\n databases: DatabaseRead[];\n}\n\nexport interface SlowQueryReadList {\n slowQueries: SlowQueryRead[];\n}\n\nexport interface SlowQueryReadList {\n slowQueryTemplates: SlowQueryRead[];\n}\nexport interface SlowQuerySummaryVo {\n lastSlowQueryCronTime: string;\n businessSlowQueryCnt: number;\n slowQueryCnt: number;\n unoptimizedCnt: number;\n successCnt: number;\n failedCnt: number;\n adoptedCnt: number;\n ignoredCnt: number;\n slowQueryThreshold: string;\n}\n\nexport interface WorkspaceVo {\n workspaceId: string;\n workspaceName: string;\n dbType: string;\n dbHost: string;\n dbPort: string;\n dbUser: string;\n dbPassword: string;\n dbName: string;\n dbSchemaName: string;\n}\n\nexport interface WorkspaceTblRead {\n workspaceId: string;\n tblId: string;\n tblName: string;\n primarykey: string;\n tblText: string;\n dbName: string;\n schemaName: string;\n columnCount: number;\n rowCount: number;\n}\n\nexport interface WorkspaceIndexRead {\n workspaceId: string;\n idxId: string;\n idxName: string;\n tblId: string;\n tblName: string;\n idxText: string;\n schemaName: string;\n}\n\nexport interface MyWorkspaceDetailRead {\n workspaceId: WorkspaceId;\n tableList: WorkspaceTblRead[];\n viewList: WorkspaceTblRead[];\n indexList: WorkspaceIndexRead[];\n}\n\nexport interface MyWorkspaceReadList {\n workspaces: MyWorkspaceRead[];\n}\n\nexport interface RuleReadList {\n rules: RuleRead[];\n}\n\nexport interface RuleUpdate {\n ruleCode: string;\n threshold: string | null;\n category: number;\n level: number;\n validate: boolean;\n hasChange?: boolean;\n}\n\nexport interface RuleListUpdate {\n userId: string;\n objectType: string;\n rules: RuleRead[];\n}\n\nexport interface UserConfigUpdate {\n userId: string;\n field: string;\n value: any;\n // deduplicateFlag?: boolean;\n // analyzeFlag?: boolean;\n // gptButtonFlag?: boolean;\n}\n\nexport interface CronConfigUpdate {\n dbinstanceId: string;\n jobType: string;\n field: string;\n value: any;\n}\n\nexport interface RemarkUpdate {\n slowQueryId: string;\n slowQueryStatus?: string;\n slowQueryRemark?: string;\n}\n\nexport interface StatusUpdate {\n id: string;\n slowQueryStatus?: string;\n}\n\nexport interface BatchStatusUpdate {\n ids: string[];\n slowQueryStatus?: string;\n}\n\nexport interface RuleConfigUpdate {\n userId: string;\n rules: RuleRead[];\n deduplicateFlag?: boolean;\n analyzeFlag?: boolean;\n gptButtonFlag?: boolean;\n}\n\nexport interface MyWorkspaceCreate {\n workspaceDefinitionId: WorkspaceDefinitionId;\n connectionConfiguration: WorkspaceConfiguration;\n userId: string;\n name: string;\n}\n\nexport interface InstanceCreate {\n dbinstanceId?: string;\n instanceDefinitionId: string;\n userId: string;\n connectionConfiguration: InstanceConfiguration;\n name: string;\n}\n\n/**\n * An object containing any metadata needed to describe this instance's Oauth flow\n */\nexport interface OAuth2Specification {\n /** A list of strings representing a pointer to the root object which contains any oauth parameters in the InstanceSpecification.\nExamples:\nif oauth parameters were contained inside the top level, rootObject=[] If they were nested inside another object {'credentials': {'app_id' etc...}, rootObject=['credentials'] If they were inside a oneOf {'switch': {oneOf: [{client_id...}, {non_oauth_param]}}, rootObject=['switch', 0] */\n rootObject: unknown[];\n /** Pointers to the fields in the rootObject needed to obtain the initial refresh/access tokens for the OAuth flow. Each inner array represents the path in the rootObject of the referenced field. For example. Assume the rootObject contains params 'app_secret', 'app_id' which are needed to get the initial refresh token. If they are not nested in the rootObject, then the array would look like this [['app_secret'], ['app_id']] If they are nested inside an object called 'auth_params' then this array would be [['auth_params', 'app_secret'], ['auth_params', 'app_id']] */\n oauthFlowInitParameters: string[][];\n /** Pointers to the fields in the rootObject which can be populated from successfully completing the oauth flow using the init parameters. This is typically a refresh/access token. Each inner array represents the path in the rootObject of the referenced field. */\n oauthFlowOutputParameters: string[][];\n}\n\nexport type AuthSpecificationAuthType = typeof AuthSpecificationAuthType[keyof typeof AuthSpecificationAuthType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AuthSpecificationAuthType = {\n oauth20: \"oauth2.0\",\n} as const;\n\nexport interface AuthSpecification {\n auth_type?: AuthSpecificationAuthType;\n oauth2Specification?: OAuth2Specification;\n}\n\nexport type SourceAuthSpecification = AuthSpecification;\n\nexport type WorkspaceAuthSpecification = AuthSpecification;\n\n/**\n * The specification for what values are required to configure the sourceDefinition.\n */\nexport interface SourceDefinitionSpecification {\n [key: string]: any;\n}\n\nexport interface WorkspaceDefinitionSpecification {\n [key: string]: any;\n}\n\nexport interface InstanceDefinitionSpecification {\n [key: string]: any;\n}\n\nexport interface SourceDefinitionSpecificationRead {\n sourceDefinitionId: SourceDefinitionId;\n documentationUrl?: string;\n connectionSpecification?: SourceDefinitionSpecification;\n authSpecification?: SourceAuthSpecification;\n advancedAuth?: AdvancedAuth;\n jobInfo: SynchronousJobRead;\n}\n\nexport interface WorkspaceDefinitionSpecificationRead {\n workspaceDefinitionId: WorkspaceDefinitionId;\n documentationUrl?: string;\n connectionSpecification?: WorkspaceDefinitionSpecification;\n authSpecification?: WorkspaceAuthSpecification;\n advancedAuth?: AdvancedAuth;\n jobInfo: SynchronousJobRead;\n}\n\nexport interface InstanceDefinitionSpecificationRead {\n instanceDefinitionId: string;\n documentationUrl?: string;\n connectionSpecification?: WorkspaceDefinitionSpecification;\n authSpecification?: WorkspaceAuthSpecification;\n advancedAuth?: AdvancedAuth;\n jobInfo: SynchronousJobRead;\n}\n\nexport interface PrivateSourceDefinitionRead {\n sourceDefinition: SourceDefinitionRead;\n granted: boolean;\n}\n\nexport interface PrivateSourceDefinitionReadList {\n sourceDefinitions: PrivateSourceDefinitionRead[];\n}\n\nexport interface CustomSourceDefinitionUpdate {\n workspaceId: WorkspaceId;\n sourceDefinition: SourceDefinitionUpdate;\n}\n\nexport interface SourceDefinitionCreate {\n name: string;\n dockerRepository: string;\n dockerImageTag: string;\n documentationUrl: string;\n icon?: string;\n resourceRequirements?: ActorDefinitionResourceRequirements;\n}\n\nexport interface CustomSourceDefinitionCreate {\n workspaceId: WorkspaceId;\n sourceDefinition: SourceDefinitionCreate;\n}\n\nexport type SourceDefinitionId = string;\n\nexport type WorkspaceDefinitionId = string;\n\nexport interface SourceDefinitionIdWithWorkspaceId {\n sourceDefinitionId: SourceDefinitionId;\n workspaceId: WorkspaceId;\n}\n\nexport interface SourceDefinitionRead {\n sourceDefinitionId: SourceDefinitionId;\n name: string;\n dockerRepository: string;\n dockerImageTag: string;\n documentationUrl?: string;\n icon?: string;\n releaseStage?: ReleaseStage;\n /** The date when this instance was first released, in yyyy-mm-dd format. */\n releaseDate?: string;\n resourceRequirements?: ActorDefinitionResourceRequirements;\n}\n\nexport interface WorkspaceDefinitionRead {\n workspaceDefinitionId: WorkspaceDefinitionId;\n name: string;\n isOnlineWorkspace?: boolean;\n isOnlineInstance?: boolean;\n dbType?: string;\n dbVersion?: string[];\n dockerRepository: string;\n dockerImageTag: string;\n documentationUrl?: string;\n icon?: string;\n releaseStage?: ReleaseStage;\n /** The date when this instance was first released, in yyyy-mm-dd format. */\n releaseDate?: string;\n resourceRequirements?: ActorDefinitionResourceRequirements;\n}\n\nexport interface InstanceDefinitionRead {\n instanceDefinitionId: string;\n pid: string;\n stepOrder: string;\n name: string;\n dockerRepository: string;\n dockerImageTag: string;\n documentationUrl?: string;\n icon?: string;\n releaseStage?: ReleaseStage;\n resourceRequirements?: ActorDefinitionResourceRequirements;\n connectionSpecification?: InstanceDefinitionSpecification;\n jobInfo: SynchronousJobRead;\n dbType: string;\n}\n\nexport interface InstanceDefinitionReadList {\n instanceDefinitions: InstanceDefinitionRead[];\n}\n\nexport interface SourceDefinitionReadList {\n sourceDefinitions: SourceDefinitionRead[];\n}\n\nexport interface WorkspaceDefinitionReadList {\n workspaceDefinitions: WorkspaceDefinitionRead[];\n}\n\n/**\n * Update the SourceDefinition. Currently, the only allowed attribute to update is the default docker image version.\n */\nexport interface SourceDefinitionUpdate {\n sourceDefinitionId: SourceDefinitionId;\n dockerImageTag: string;\n resourceRequirements?: ActorDefinitionResourceRequirements;\n}\n\nexport interface SourceDefinitionIdRequestBody {\n sourceDefinitionId: SourceDefinitionId;\n}\n\nexport interface WorkspaceDefinitionIdRequestBody {\n workspaceDefinitionId: WorkspaceDefinitionId;\n}\n\nexport interface SlugRequestBody {\n slug: string;\n}\n\nexport interface WebBackendWorkspaceStateResult {\n hasConnections: boolean;\n hasSources: boolean;\n hasDestinations: boolean;\n}\n\nexport interface WebBackendWorkspaceState {\n workspaceId: WorkspaceId;\n}\n\nexport interface WorkspaceGiveFeedback {\n workspaceId: WorkspaceId;\n}\n\nexport interface WorkspaceUpdate {\n workspaceId: WorkspaceId;\n email?: string;\n initialSetupComplete: boolean;\n displaySetupWizard?: boolean;\n anonymousDataCollection: boolean;\n news: boolean;\n securityUpdates: boolean;\n notifications?: Notification[];\n}\n\nexport interface UserUpdate {\n userId: UserId;\n userName: string;\n}\n\nexport interface WorkspaceUpdateName {\n workspaceId: WorkspaceId;\n name: string;\n}\n\nexport interface Authority {\n authority: string;\n}\n\nexport interface UserRead {\n userId: UserId;\n email: string;\n userName: string;\n language: string;\n companyName: string;\n orgId: string;\n orgName: string;\n orgApproved?: boolean;\n orgCreateTime?: string;\n orgRole?: string;\n analysisTimes: number;\n workspaceNumber?: number;\n expireDays: number;\n todayAnalysisTimes: number;\n licenseCode: string;\n authorities: Authority[];\n createTime: string;\n commentCount: number;\n needReply: number;\n enabled: boolean;\n}\n\nexport interface LicenseRead {\n limitMode: string;\n authorizedProduct: string;\n authorizedProductCode: string;\n authorizedProductVersion: string;\n authorizer: string;\n authorizedPerson: string;\n authorizedPersonEmail: string;\n authorizationTime: string;\n authorizationExpirationDate: string;\n macAddress: string;\n token: string;\n jarVersion: string;\n}\n\nexport interface EmailSendRead {\n emails: string;\n emailTemplateId: string;\n}\n\nexport interface EmailTemplateRead {\n emailTemplateId?: string;\n name: string;\n senderNikeNameZh: string;\n senderNikeNameEn: string;\n titleZh: string;\n titleEn: string;\n titleMessageZh: string;\n titleMessageEn: string;\n contentZh: string;\n contentEn: string;\n filterRules: string;\n}\n\nexport interface RuleTemplateCreate {\n templateName: string;\n description: string;\n baseTemplateId: string;\n isGlobal: boolean;\n objectType: string;\n dbType: string;\n definitionId: string;\n ruleList: RuleRead[];\n}\n\nexport interface RuleTemplateDetailUpdate {\n ruleTemplateId: string;\n ruleCode: string;\n threshold: string;\n validate: boolean;\n pid: number;\n}\n\nexport interface RuleTemplateNameUpdate {\n ruleTemplateId: string;\n name: string;\n}\n\nexport interface RuleTemplateRead {\n ruleTemplateId: string;\n description: string;\n baseTemplateId: string;\n userId: string;\n templateName: string;\n isGlobal: boolean;\n ruleList: RuleRead[];\n objectType: string;\n createTime: string;\n dbType: string;\n}\n\nexport interface RuleTemplateDetailRead {\n ruleTemplateDetailId?: string;\n ruleTemplateId: string;\n ruleCode: string;\n threshold: string | null;\n validate: boolean;\n}\n\nexport interface SelfHostCreate {\n companyName: string;\n companyEmail: string;\n mobile: string;\n contactName: string;\n productSet: string;\n amountOfUsers: string;\n infoChannels: string;\n remark: string;\n}\n\nexport interface SelfHostRead {\n applyId: string;\n companyName: string;\n companyEmail: string;\n mobile: string;\n contactName: string;\n productSet: string;\n amountOfUsers: string;\n infoChannels: string;\n remark: string;\n createTime: string;\n deleteFlag: number;\n}\nexport interface EmailReminderRead {\n emailReminderId?: string;\n senderNikeNameZh: string;\n senderNikeNameEn: string;\n titleZh: string;\n titleEn: string;\n titleMessageZh: string;\n titleMessageEn: string;\n contentZh: string;\n contentEn: string;\n filterRules: string;\n cronExpression: string;\n enabled: boolean;\n remark: string;\n emailTemplateId: string;\n executeOnlyOnce: boolean;\n}\n\nexport interface GitHubAccessTokenCreate {\n userId: string;\n accessToken: string;\n}\n\nexport interface IntegrationItemCreate {\n userId: string;\n repository: string;\n branch: string;\n baseDirectory: string;\n events: string[];\n dbType: string;\n dbVersion: string;\n ruleTemplateId: string;\n ruleTemplateName: string;\n workspaceId?: string;\n workspaceName?: string;\n}\n\nexport interface IntegrationRead {\n devopsIntegrationId: string;\n userId: string;\n status: boolean;\n createTime: string;\n updateTime: string;\n}\n\nexport interface IntegrationItemRead {\n devopsIntegrationItemId: string;\n userId: string;\n repository: string;\n branch: string;\n baseDirectory: string;\n dbType: string;\n dbVersion: string;\n ruleTemplateId: string;\n ruleTemplateName: string;\n workspaceId: string;\n workspaceName: string;\n enabled: boolean;\n createTime: string;\n updateTime: string;\n}\n\nexport interface EmailTaskCreate {\n title: string;\n senderNickname: string;\n contentZh: string;\n contentEn: string;\n}\n\nexport interface EmailSendResult {\n success: string[];\n error: string[];\n}\n\nexport interface ApiResult {\n field: string;\n fieldData: any;\n message: string;\n data: T;\n code: number;\n}\n\nexport interface GroupCountRead {\n fieldValue: string;\n fieldCount: number;\n fieldLabelZh: string;\n fieldLabelEn: string;\n fieldAttr: any;\n}\n\nexport interface UserReadList {\n users: UserRead[];\n}\n\nexport interface QueryFeedbackCreate {\n createUserId: UserId;\n createUserName: string;\n analysisStmtId: string;\n rate?: string;\n content: string;\n messageType: boolean;\n messageStatus: boolean;\n createTime?: string;\n}\n\nexport interface UserFeedbackCreate {\n createUserId: UserId;\n createUserName: string;\n userId: string;\n rate?: string;\n content: string;\n messageType: boolean;\n messageStatus: boolean;\n createTime?: string;\n}\n\nexport interface FeedbackRead {\n queryFeedbackMessageId: string;\n userFeedbackMessageId: string;\n createUserId: string;\n createUserName: string;\n analysisStmtId: string;\n rate?: string;\n content: string;\n messageType: boolean;\n messageStatus: boolean;\n createTime: string;\n}\n\nexport interface QueryFeedbackRead {\n queryFeedbackMessageId: string;\n createUserId: string;\n createUserName: string;\n analysisStmtId: string;\n rate?: string;\n content: string;\n messageType: boolean;\n messageStatus: boolean;\n createTime: string;\n}\n\nexport interface UserFeedbackRead {\n userFeedbackMessageId: string;\n createUserId: string;\n createUserName: string;\n userId: string;\n rate?: string;\n content: string;\n messageType: boolean;\n messageStatus: boolean;\n createTime: string;\n}\n\nexport interface OrganizationCreate {\n userId: UserId;\n orgName: string;\n introduce: string;\n}\n\nexport interface OrganizationRead {\n orgId: string;\n orgName: string;\n introduce: string;\n createTime: string;\n createUserName: string;\n orgApproved?: boolean;\n}\n\nexport interface OrgBetaStatusRead {\n orgId: string;\n orgName: string;\n betaExplainFlag: boolean;\n}\n\nexport interface OrganizationUpdate {\n userId: UserId;\n orgId: string;\n orgName: string;\n introduce: string;\n}\n\nexport interface OrgBetaFuncUpdate {\n orgId: string;\n status: boolean;\n betaFuncRole: string;\n}\n\nexport interface OrganizationQuit {\n userId: UserId;\n orgId: string;\n}\n\nexport interface OrganizationDelete {\n userId: UserId;\n orgId: string;\n}\n\nexport interface OrganizationReadList {\n orgs: OrganizationRead[];\n}\n\nexport interface WorkspaceRead {\n workspaceId: WorkspaceId;\n customerId: CustomerId;\n email?: string;\n name: string;\n slug: string;\n initialSetupComplete: boolean;\n displaySetupWizard?: boolean;\n anonymousDataCollection?: boolean;\n news?: boolean;\n securityUpdates?: boolean;\n notifications?: Notification[];\n firstCompletedSync?: boolean;\n feedbackDone?: boolean;\n}\n\nexport interface WorkspaceReadList {\n workspaces: WorkspaceRead[];\n}\n\nexport interface WorkspaceIdRequestBody {\n workspaceId: WorkspaceId;\n}\n\nexport interface InstanceIdRequestBody {\n dbinstanceId: string;\n}\n\nexport interface SlowQueryChartRequestBody {\n dbinstanceId: string;\n onlyBusiness: boolean;\n}\n\nexport interface InstanceFieldUpdate {\n instanceId: string;\n field: string;\n value: string;\n}\n\nexport interface PageSlowQueryRequestBody {\n dbinstanceId: string;\n searchQuery: string;\n statusList: string[];\n databaseList: string[];\n sqlTypeList: string[];\n shardList: string[];\n isBusiness: boolean;\n pagination: PageController;\n}\n\nexport interface PptJobListRequestBody {\n dbinstanceId: string;\n searchQuery: string;\n jobType: string;\n onlyEnabled: boolean;\n pagination: PageController;\n}\n\nexport interface DbObjectRequestBody {\n dbinstanceId: string;\n searchQuery: string;\n schemaList: string[];\n ruleCodeList: string[];\n database: string;\n tag: string;\n isViolated: boolean;\n isNewObject: boolean;\n pagination: PageController;\n}\n\nexport interface EditTagRequestBody {\n tagId?: string;\n tagName?: string;\n dbObjectId?: string;\n dbinstanceId?: string;\n userId?: string;\n}\n\nexport interface IdRequestBody {\n id: string;\n}\n\nexport interface updateSubscriptionRequestBody {\n priceId: string;\n}\n\nexport interface PaddleLinkRequestBody {\n userId: string;\n}\nexport interface SubscriptionStatusRequestBody {\n status: number;\n type: string;\n}\n\nexport interface SlowQueryTrendRequestBody {\n id: string;\n onlyBusiness?: boolean;\n}\nexport interface InstanceRequestBody {\n userId: string;\n currentUserId?: string;\n}\nexport interface OrderRequestBody {\n subscriptionId: string;\n}\n\nexport interface RepayRequestBody {\n subscriptionId: string;\n locale: string;\n}\nexport interface StatusRequest {\n userId: string;\n status: string;\n}\nexport interface BranchRequestBody {\n id: string;\n name: string;\n}\n\nexport interface AuditObjectListRequestBody {\n auditId: string;\n searchString: string;\n ruleCodes: string[];\n sqlTypes: string[];\n scoreUp: number;\n scoreDown: number;\n}\n\nexport interface GroupCountRead {\n fieldLabelZh: string;\n fieldLabelEn: string;\n fieldValue: string;\n fieldCount: number;\n fieldAttr: any;\n}\n\nexport interface AuditGroupCountRead {\n ruleCodes: GroupCountRead[];\n sqlTypes: GroupCountRead[];\n}\n\nexport interface EmailRequestBody {\n email: string;\n}\n\nexport interface RuleTemplateDeleteRequestBody {\n id: string;\n isGlobal: boolean;\n objectType: string;\n}\n\nexport interface CommonRequestBody {\n isGlobal?: boolean;\n objectType: string;\n}\nexport interface RuleTemplateRequestDto {\n ruleTemplateId?: string;\n objectType: string;\n}\n\nexport interface UpdateByIdRequestBody {\n id: string;\n field: string;\n value: any;\n}\n\nexport interface RuleTypeRequestBody {\n objectType?: string;\n withTreeNode?: boolean;\n}\n\nexport interface JobRequestBody {\n dbinstanceId: string;\n jobType: string;\n config?: string;\n}\n\nexport interface CheckVariablesRequestBody {\n id: string;\n configuration: any;\n}\n\nexport interface DatabaseIdRequestBody {\n databaseId: string;\n}\n\nexport interface SlowQueryIdRequestBody {\n slowQueryId: string;\n}\n\nexport interface PageWorkspaceIdRequestBody {\n workspaceId: WorkspaceId;\n searchQuery: string;\n pagination: PageController;\n}\n\nexport interface WorkloadIdRequestBody {\n workloadId: string;\n}\n\nexport interface UserIdRequestBody {\n userId: string;\n}\n\nexport interface WorkspaceRequestBody {\n userId?: string;\n}\n\nexport interface UserListRequestBody {\n type?: string;\n userId: UserId;\n}\n\nexport interface OrgBetaFuncRequestBody {\n betaFuncRole: string;\n}\n\nexport interface DescribeContainerLogRequestBody {\n startTime: string | null;\n tail: number | null;\n}\n\nexport interface MessageIdsRequestBody {\n messageIds: string[];\n}\n\nexport interface QueryIdRequestDto {\n analysisStmtId: string;\n}\n\nexport interface AnalysisRequestBody {\n userId: UserId;\n currentUserId?: UserId;\n searchQuery?: string;\n workspaceId?: string;\n pagination: PageController;\n}\n\nexport interface AuditRequestBody {\n workspaceId?: string;\n userId: UserId;\n currentUserId?: UserId;\n searchQuery?: string;\n pagination: PageController;\n}\n\nexport interface ExplainIdRequestBody {\n explainId: ExplainId;\n}\n\nexport interface ExplainRequestBody {\n userId: UserId;\n searchQuery?: string;\n pagination: PageController;\n}\n\nexport interface OrgIdRequestBody {\n orgId: string;\n}\n\nexport interface RuleCodeRequestBody {\n ruleCode: string;\n}\n\nexport interface UsernameRequestBody {\n username: string;\n}\n\nexport type NotificationReadStatus = typeof NotificationReadStatus[keyof typeof NotificationReadStatus];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const NotificationReadStatus = {\n succeeded: \"succeeded\",\n failed: \"failed\",\n} as const;\n\nexport interface NotificationRead {\n status: NotificationReadStatus;\n message?: string;\n}\n\nexport type NotificationType = typeof NotificationType[keyof typeof NotificationType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const NotificationType = {\n slack: \"slack\",\n customerio: \"customerio\",\n} as const;\n\nexport type CustomerioNotificationConfiguration = { [key: string]: any };\n\nexport interface SlackNotificationConfiguration {\n webhook: string;\n}\n\nexport interface Notification {\n notificationType: NotificationType;\n sendOnSuccess: boolean;\n sendOnFailure: boolean;\n slackConfiguration?: SlackNotificationConfiguration;\n customerioConfiguration?: CustomerioNotificationConfiguration;\n}\n\nexport interface WorkspaceCreate {\n email?: string;\n anonymousDataCollection?: boolean;\n name: string;\n news?: boolean;\n securityUpdates?: boolean;\n notifications?: Notification[];\n displaySetupWizard?: boolean;\n}\n\nexport type CustomerId = string;\n\nexport type WorkspaceId = string;\n\nexport type UserId = string;\n\nexport interface WebBackendOperationCreateOrUpdate {\n operationId?: OperationId;\n workspaceId: WorkspaceId;\n name: string;\n operatorConfiguration: OperatorConfiguration;\n}\n\nexport interface SourceSearch {\n sourceDefinitionId?: SourceDefinitionId;\n sourceId?: SourceId;\n workspaceId?: WorkspaceId;\n connectionConfiguration?: SourceConfiguration;\n name?: string;\n sourceName?: string;\n}\n\n// eslint-disable-next-line\nexport type SecondParameter any> = T extends (config: any, args: infer P) => any\n ? P\n : never;\n\n/**\n * @summary Creates a workspace\n */\nexport const createWorkspace = (workspaceCreate: WorkspaceCreate, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/workspaces/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceCreate,\n },\n options\n );\n};\n\n/**\n * @summary Creates an instance\n */\nexport const createInstance = (instanceCreate: InstanceCreate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/instances/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: instanceCreate,\n },\n options\n );\n};\n\n/**\n * @summary List all workspaces registered in the current Pawsql deployment\n */\nexport const listWorkspaces = (options?: SecondParameter) => {\n return apiOverride({ url: `/v1/workspaces/list`, method: \"post\" }, options);\n};\n\n/**\n * @summary List all organizations\n */\nexport const listOrgs = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/orgs/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary List all beta func organizations\n */\nexport const listBetaOrg = (\n orgBetaFuncRequestBody: OrgBetaFuncRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/orgs/listBetaOrg`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: orgBetaFuncRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Find org by userId\n */\nexport const getOrg = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/orgs/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const getUser = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/users/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n\n/**\n * @summary Find user by userId\n */\nexport const getUserById = (userIdRequestBody: UserIdRequestBody, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/users/getById`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: userIdRequestBody,\n },\n options\n );\n};\n\nexport const getLicense = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/getLicense`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n\nexport const listUsers = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/users/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n\nexport const listOrgUsers = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/users/listOrgUsers`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n\n/**\n * @summary Find workspace by ID\n */\nexport const getWorkspace = (\n workspaceIdRequestBody: WorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/workspaces/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Find workspace by slug\n */\nexport const getWorkspaceBySlug = (slugRequestBody: SlugRequestBody, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/workspaces/get_by_slug`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: slugRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Update workspace state\n */\nexport const updateWorkspace = (workspaceUpdate: WorkspaceUpdate, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/workspaces/update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceUpdate,\n },\n options\n );\n};\n\n/**\n * @summary sendEmails\n */\nexport const sendEmails = (emailSendRead: EmailSendRead, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/users/sendEmails`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: emailSendRead,\n },\n options\n );\n};\n\n/**\n * @summary createEmailTask\n */\nexport const createEmailTask = (emailTaskCreate: EmailTaskCreate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/users/createEmailTask`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: emailTaskCreate,\n },\n options\n );\n};\n\n/**\n * @summary Update workspace name\n */\nexport const updateWorkspaceName = (\n workspaceUpdateName: WorkspaceUpdateName,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/workspaces/update_name`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceUpdateName,\n },\n options\n );\n};\n\n/**\n * @summary Update workspace feedback state\n */\nexport const updateWorkspaceFeedback = (\n workspaceGiveFeedback: WorkspaceGiveFeedback,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/workspaces/tag_feedback_status_as_done`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceGiveFeedback,\n },\n options\n );\n};\n\n/**\n * @summary Try sending a notifications\n */\nexport const tryNotificationConfig = (notification: Notification, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/notifications/try`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: notification,\n },\n options\n );\n};\n\n/**\n * @summary Creates a sourceDefinition\n */\nexport const createSourceDefinition = (\n sourceDefinitionCreate: SourceDefinitionCreate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_definitions/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceDefinitionCreate,\n },\n options\n );\n};\n\n/**\n * @summary Update a sourceDefinition\n */\nexport const updateSourceDefinition = (\n sourceDefinitionUpdate: SourceDefinitionUpdate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_definitions/update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceDefinitionUpdate,\n },\n options\n );\n};\n\n/**\n * @summary List all the sourceDefinitions the current Pawsql deployment is configured to use\n */\nexport const listSourceDefinitions = (options?: SecondParameter) => {\n return apiOverride({ url: `/v1/source_definitions/list`, method: \"post\" }, options);\n};\n\n/**\n * @summary List all the workspaceDefinitions the current Pawsql deployment is configured to use\n */\nexport const listWorkspaceDefinitions = (options?: SecondParameter) => {\n return apiOverride({ url: `/v1/workspace_definitions/list`, method: \"post\" }, options);\n};\n\n/**\n * Guaranteed to retrieve the latest information on supported sources.\n * @summary List the latest sourceDefinitions Pawsql supports\n */\nexport const listLatestSourceDefinitions = (options?: SecondParameter) => {\n return apiOverride({ url: `/v1/source_definitions/list_latest`, method: \"post\" }, options);\n};\n\n/**\n * Guaranteed to retrieve the latest information on supported sources.\n * @summary List the latest sourceDefinitions Pawsql supports\n */\nexport const listLatestWorkspaceDefinitions = (options?: SecondParameter) => {\n return apiOverride(\n { url: `/v1/workspace_definitions/list_latest`, method: \"post\" },\n options\n );\n};\n\n/**\n * @summary Get source\n */\nexport const getSourceDefinition = (\n sourceDefinitionIdRequestBody: SourceDefinitionIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_definitions/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceDefinitionIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get instance\n */\nexport const getInstanceDefinition = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/pptInstanceDefinitions/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get instance\n */\nexport const getInstanceDefinitionSteps = (\n idRequestBody: IdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/pptInstanceDefinitions/getSteps`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get workspace\n */\nexport const getWorkspaceDefinition = (\n workspaceDefinitionIdRequestBody: WorkspaceDefinitionIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/workspace_definitions/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceDefinitionIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Delete a source definition\n */\nexport const deleteSourceDefinition = (\n sourceDefinitionIdRequestBody: SourceDefinitionIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_definitions/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceDefinitionIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary List all private, non-custom sourceDefinitions, and for each indicate whether the given workspace has a grant for using the definition. Used by admins to view and modify a given workspace's grants.\n */\nexport const listPrivateSourceDefinitions = (\n workspaceIdRequestBody: WorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_definitions/list_private`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary List all the sourceDefinitions the given workspace is configured to use\n */\nexport const listSourceDefinitionsForWorkspace = (\n workspaceIdRequestBody: WorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_definitions/list_for_workspace`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Creates a custom sourceDefinition for the given workspace\n */\nexport const createCustomSourceDefinition = (\n customSourceDefinitionCreate: CustomSourceDefinitionCreate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_definitions/create_custom`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: customSourceDefinitionCreate,\n },\n options\n );\n};\n\n/**\n * @summary Get a sourceDefinition that is configured for the given workspace\n */\nexport const getSourceDefinitionForWorkspace = (\n sourceDefinitionIdWithWorkspaceId: SourceDefinitionIdWithWorkspaceId,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_definitions/get_for_workspace`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceDefinitionIdWithWorkspaceId,\n },\n options\n );\n};\n\n/**\n * @summary Update a custom sourceDefinition for the given workspace\n */\nexport const updateCustomSourceDefinition = (\n customSourceDefinitionUpdate: CustomSourceDefinitionUpdate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_definitions/update_custom`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: customSourceDefinitionUpdate,\n },\n options\n );\n};\n\n/**\n * @summary Delete a custom source definition for the given workspace\n */\nexport const deleteCustomSourceDefinition = (\n sourceDefinitionIdWithWorkspaceId: SourceDefinitionIdWithWorkspaceId,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_definitions/delete_custom`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceDefinitionIdWithWorkspaceId,\n },\n options\n );\n};\n\n/**\n * @summary grant a private, non-custom sourceDefinition to a given workspace\n */\nexport const grantSourceDefinitionToWorkspace = (\n sourceDefinitionIdWithWorkspaceId: SourceDefinitionIdWithWorkspaceId,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_definitions/grant_definition`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceDefinitionIdWithWorkspaceId,\n },\n options\n );\n};\n\n/**\n * @summary revoke a grant to a private, non-custom sourceDefinition from a given workspace\n */\nexport const revokeSourceDefinitionFromWorkspace = (\n sourceDefinitionIdWithWorkspaceId: SourceDefinitionIdWithWorkspaceId,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_definitions/revoke_definition`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceDefinitionIdWithWorkspaceId,\n },\n options\n );\n};\n\n/**\n * @summary Get specification for a SourceDefinition.\n */\nexport const getSourceDefinitionSpecification = (\n sourceDefinitionIdWithWorkspaceId: SourceDefinitionIdWithWorkspaceId,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_definition_specifications/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceDefinitionIdWithWorkspaceId,\n },\n options\n );\n};\n\n/**\n * @summary Get specification for a WorkspaceDefinition.\n */\nexport const getWorkspaceDefinitionSpecification = (\n workspaceDefinitionId: WorkspaceDefinitionId,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/workspace_definition_specifications/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceDefinitionId,\n },\n options\n );\n};\n\n/**\n * @summary Create a source\n */\nexport const createSource = (sourceCreate: SourceCreate, options?: SecondParameter) => {\n return apiOverride(\n { url: `/v1/sources/create`, method: \"post\", headers: { \"Content-Type\": \"application/json\" }, data: sourceCreate },\n options\n );\n};\n\n/**\n * @summary Update a source\n */\nexport const updateSource = (sourceUpdate: SourceUpdate, options?: SecondParameter) => {\n return apiOverride(\n { url: `/v1/sources/update`, method: \"post\", headers: { \"Content-Type\": \"application/json\" }, data: sourceUpdate },\n options\n );\n};\n\n/**\n * List sources for workspace. Does not return deleted sources.\n * @summary List sources for workspace\n */\nexport const listSourcesForWorkspace = (\n workspaceIdRequestBody: WorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/sources/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get source\n */\nexport const getSource = (sourceIdRequestBody: SourceIdRequestBody, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/sources/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Search sources\n */\nexport const searchSources = (sourceSearch: SourceSearch, options?: SecondParameter) => {\n return apiOverride(\n { url: `/v1/sources/search`, method: \"post\", headers: { \"Content-Type\": \"application/json\" }, data: sourceSearch },\n options\n );\n};\n\n/**\n * @summary Clone source\n */\nexport const cloneSource = (\n sourceIdRequestBody: SourceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/sources/clone`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Delete a source\n */\nexport const deleteSource = (\n sourceIdRequestBody: SourceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/sources/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceIdRequestBody,\n },\n options\n );\n};\n\nexport const deleteMyWorkspace = (\n workspaceIdRequestBody: WorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/workspaces/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Delete a dbinstance\n */\nexport const deleteInstance = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/instances/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Set a workspace as demo workspace,include its analysis\n */\nexport const setWorkspaceAsDemo = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/workspaces/setAsDemo`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Check connection to the source\n */\nexport const checkConnectionToSource = (\n sourceIdRequestBody: SourceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/sources/check_connection`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Check connection for a proposed update to a source\n */\nexport const checkConnectionToSourceForUpdate = (\n sourceUpdate: SourceUpdate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/sources/check_connection_for_update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceUpdate,\n },\n options\n );\n};\n\n/**\n * @summary Discover the schema catalog of the source\n */\nexport const discoverSchemaForSource = (\n sourceDiscoverSchemaRequestBody: SourceDiscoverSchemaRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/sources/discover_schema`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceDiscoverSchemaRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Create a createMyWorkspace With File\n */\nexport const createMyWorkspaceWithLocalFile = (\n workspaceCreate: FormData,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/workspaces/createWithLocalFile`,\n method: \"post\",\n headers: { Accept: \"application/json\" },\n data: workspaceCreate,\n },\n options\n );\n};\n\n/**\n * @summary Create a workspace\n */\nexport const createMyWorkspace = (\n workspaceCreate: MyWorkspaceCreate,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/workspaces/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceCreate,\n },\n options\n );\n};\n\n/**\n * List default rules.\n * @summary List default rules\n */\nexport const listDefaultRules = (\n ruleTypeRequestBody: RuleTypeRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/rules/listDefault`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: ruleTypeRequestBody,\n },\n options\n );\n};\n\n/**\n * get eci log\n * @summary get eci log\n */\nexport const getEciLog = (\n describeContainerLogRequestBody: DescribeContainerLogRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/getEciLog`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: describeContainerLogRequestBody,\n },\n options\n );\n};\n\n/**\n * decode\n * @summary decode\n */\nexport const decode = (textBody: { text: string }, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/decode`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: textBody,\n },\n options\n );\n};\n\n/**\n * get user config template\n * @summary get user config template\n */\nexport const getUserConfig = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/userConfigs/getByUserId`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * get config template\n * @summary get config template\n */\nexport const getConfig = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/configs/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n\n/**\n * update user config template\n * @summary update user config template\n */\nexport const updateConfig = (configUpdate: ConfigUpdate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/configs/update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: configUpdate,\n },\n options\n );\n};\n/**\n * get default config template\n * @summary get default config template\n */\nexport const getDefaultConfig = (options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/userConfigs/getDefault`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n/**\n * update user config template\n * @summary update user config template\n */\nexport const updateUserConfig = (userConfigUpdate: UserConfigUpdate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/userConfigs/updateUserConfig`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: userConfigUpdate,\n },\n options\n );\n};\n\n/**\n * @summary update cron config of an instance\n */\nexport const updateCronConfig = (cronConfigUpdate: CronConfigUpdate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/slowQueries/updateCronConfig`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: cronConfigUpdate,\n },\n options\n );\n};\n\n/**\n * @summary manually collect slow queries\n */\nexport const manualCollect = (collectRequestBody: JobRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/instances/manuallyCollect`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: collectRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary update remark for slowQuery\n */\nexport const updateSlowQueryRemark = (remarkUpdate: RemarkUpdate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/slowQueries/updateStatus`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: remarkUpdate,\n },\n options\n );\n};\n\n/**\n * @summary update remark for slowQuerytemplate\n */\nexport const updateSlowQueryTemplateStatus = (\n statusUpdate: StatusUpdate,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/slowQueryTemplates/updateStatus`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: statusUpdate,\n },\n options\n );\n};\n\nexport const batchUpdateSlowQueryTemplateStatus = (\n batchStatusUpdate: BatchStatusUpdate,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/slowQueryTemplates/batchUpdateStatus`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: batchStatusUpdate,\n },\n options\n );\n};\n\n/**\n * List rules for analysis.\n * @summary List rules for analysis\n */\nexport const listRules = (ruleTypeRequestBody: RuleTypeRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/rules/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: ruleTypeRequestBody,\n },\n options\n );\n};\n\n/**\n * update all rule by userId\n * @summary update all rule by userId\n */\nexport const updateUserRule = (ruleListUpdate: RuleListUpdate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/rules/updateUser`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: ruleListUpdate,\n },\n options\n );\n};\n\n/**\n * update all rule default value\n * @summary update all rule default value\n */\nexport const updateDefault = (ruleListUpdate: RuleListUpdate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/rules/updateDefault`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: ruleListUpdate,\n },\n options\n );\n};\n\nexport const updateDefaultRule = (update: RuleRead, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/rules/updateDefaultRule`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: update,\n },\n options\n );\n};\n/**\n * getRuleByCode\n * @summary getRuleByCode\n */\nexport const getRuleByCode = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/rules/getRuleByCode`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary List all the listInstanceDefinitions the current Pawsql deployment is configured to use\n */\nexport const listInstanceDefinitions = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/pptInstanceDefinitions/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n\nexport const listWorkspacesForUser = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/workspaces/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get workspace\n */\nexport const getMyWorkspace = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/workspaces/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get Instance by id\n */\nexport const getInstance = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/instances/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const updateInstanceField = (\n instanceFieldUpdate: InstanceFieldUpdate,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/instances/updateInstanceField`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: instanceFieldUpdate,\n },\n options\n );\n};\n\n/**\n * @summary Get Instance status by id\n */\nexport const getInstanceStatus = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/instances/getStatus`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get Instance job by instance id\n */\nexport const getInstanceJob = (jobRequestBody: JobRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/pptJobs/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: jobRequestBody,\n },\n options\n );\n};\n\nexport const getPptJobType = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/pptJobs/getJobType`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n/**\n * @summary check variables\n */\nexport const checkVariables = (\n checkVariablesRequestBody: CheckVariablesRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/instances/checkVariables`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: checkVariablesRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary check connection\n */\nexport const checkConnection = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/instances/checkConnection`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Update an instance\n */\nexport const updateInstanceName = (instanceUpdate: InstanceUpdate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/instances/updateName`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: instanceUpdate,\n },\n options\n );\n};\n\n/**\n * @summary Get database by id\n */\nexport const getDatabase = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/databases/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const deleteRuleTemplate = (\n ruleTemplateDeleteRequestBody: RuleTemplateDeleteRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/ruleTemplates/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: ruleTemplateDeleteRequestBody,\n },\n options\n );\n};\n\nexport const createRuleTemplate = (\n ruleTemplateCreate: RuleTemplateCreate,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/ruleTemplates/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: ruleTemplateCreate,\n },\n options\n );\n};\n\nexport const updateTemplateName = (\n ruleTemplateNameUpdate: RuleTemplateNameUpdate,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/ruleTemplates/updateName`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: ruleTemplateNameUpdate,\n },\n options\n );\n};\n\nexport const updateTemplateRule = (\n ruleTemplateDetailUpdate: RuleTemplateDetailUpdate,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/ruleTemplates/updateRule`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: ruleTemplateDetailUpdate,\n },\n options\n );\n};\n\nexport const listEmailTemplate = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/emailTemplates/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n\nexport const getEmailTemplate = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/emailTemplates/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const deleteEmailTemplate = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/emailTemplates/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\nexport const saveOrUpdateEmailTemplate = (\n emailTemplateCreate: EmailTemplateRead,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/emailTemplates/saveOrUpdate`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: emailTemplateCreate,\n },\n options\n );\n};\n\nexport const listSelfHost = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/selfHostApply/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n\nexport const getSelfHost = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/selfHostApply/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const deleteSelfHost = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/selfHostApply/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\nexport const saveSelfHost = (selfHostCreate: SelfHostCreate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/selfHostApply/save`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: selfHostCreate,\n },\n options\n );\n};\n\nexport const listRuleTemplate = (\n commonRequestBody: CommonRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/ruleTemplates/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: commonRequestBody,\n },\n options\n );\n};\n\nexport const getRuleTemplate = (\n ruleTemplateRequestDto: RuleTemplateRequestDto,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/ruleTemplates/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: ruleTemplateRequestDto,\n },\n options\n );\n};\nexport const getDefaultRuleTemplate = (\n ruleTemplateRequestDto: RuleTemplateRequestDto,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/ruleTemplates/getDefault`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: ruleTemplateRequestDto,\n },\n options\n );\n};\n\nexport const getEmailReminder = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/emailReminders/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const doEmailReminderTask = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/emailReminders/doTask`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const testEmailTemplateTask = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/emailTemplates/testTask`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const deleteEmailReminder = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/emailReminders/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const saveOrUpdateEmailReminder = (\n emailReminderCreate: EmailReminderRead,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/emailReminders/saveOrUpdate`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: emailReminderCreate,\n },\n options\n );\n};\n\nexport const listEmailReminder = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/emailReminders/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n\n/**\n * @summary Get slow query by id\n */\nexport const getSlowQuery = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/slowQueries/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n/**\n * @summary Get slow query by id\n */\nexport const getSlowQueryDetails = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/slowQueries/getDetails`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get dbinstance period data by id\n */\nexport const getPeriodData = (\n slowQueryTrendRequestBody: SlowQueryTrendRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/slowQueries/getPeriodData`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: slowQueryTrendRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get workspace detail\n */\nexport const getMyWorkspaceDetail = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/workspaces/getDetail`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get workspace table list\n */\nexport const getMyWorkspaceTables = (\n workspaceIdRequestBody: PageWorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>>(\n {\n url: `/v1/workspaces/getTables`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get workspace view list\n */\nexport const getMyWorkspaceViews = (\n workspaceIdRequestBody: PageWorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>>(\n {\n url: `/v1/workspaces/getViews`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get workspace index list\n */\nexport const getMyWorkspaceIndexes = (\n workspaceIdRequestBody: PageWorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>>(\n {\n url: `/v1/workspaces/getIndexes`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Creates a destinationsDefinition\n */\nexport const createDestinationDefinition = (\n destinationDefinitionCreate: DestinationDefinitionCreate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_definitions/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationDefinitionCreate,\n },\n options\n );\n};\n\n/**\n * @summary Update destinationDefinition\n */\nexport const updateDestinationDefinition = (\n destinationDefinitionUpdate: DestinationDefinitionUpdate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_definitions/update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationDefinitionUpdate,\n },\n options\n );\n};\n\n/**\n * @summary List all the destinationDefinitions the current Pawsql deployment is configured to use\n */\nexport const listDestinationDefinitions = (options?: SecondParameter) => {\n return apiOverride(\n { url: `/v1/destination_definitions/list`, method: \"post\" },\n options\n );\n};\n\n/**\n * @summary List all the workloadDefinitions the current Pawsql deployment is configured to use\n */\nexport const listWorkloadDefinitions = (options?: SecondParameter) => {\n return apiOverride({ url: `/v1/workload_definitions/list`, method: \"post\" }, options);\n};\n\n/**\n * Guaranteed to retrieve the latest information on supported destinations.\n * @summary List the latest destinationDefinitions Pawsql supports\n */\nexport const listLatestDestinationDefinitions = (options?: SecondParameter) => {\n return apiOverride(\n { url: `/v1/destination_definitions/list_latest`, method: \"post\" },\n options\n );\n};\n\n/**\n * Guaranteed to retrieve the latest information on supported destinations.\n * @summary List the latest destinationDefinitions Pawsql supports\n */\nexport const listLatestWorkloadDefinitions = (options?: SecondParameter) => {\n return apiOverride(\n { url: `/v1/workload_definitions/list_latest`, method: \"post\" },\n options\n );\n};\n\n/**\n * @summary Get destinationDefinition\n */\nexport const getDestinationDefinition = (\n destinationDefinitionIdRequestBody: DestinationDefinitionIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_definitions/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationDefinitionIdRequestBody,\n },\n options\n );\n};\n\nexport const signupUser = (requestBody: UserCreate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/users/signup`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: requestBody,\n },\n options\n );\n};\n\nexport const loginUser = (loginRequestBody: LoginRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/users/authenticate`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: loginRequestBody,\n },\n options\n );\n};\n\nexport const resetPassword = (\n resetPasswordRequestBody: EmailRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/users/resetPassword`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: resetPasswordRequestBody,\n },\n options\n );\n};\n\nexport const resetPasswordAction = (\n resetPasswordActionRequestBody: ResetPasswordActionRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/users/resetPasswordAction`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: resetPasswordActionRequestBody,\n },\n options\n );\n};\n\nexport const updatePassword = (\n updatePasswordRequestBody: UpdatePasswordRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/users/updatePassword`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: updatePasswordRequestBody,\n },\n options\n );\n};\n\nexport const updateName = (\n updateNameRequestBody: UpdateNameRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/users/updateName`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: updateNameRequestBody,\n },\n options\n );\n};\n\nexport const updateCompanyName = (\n updateCompanyNameRequestBody: UpdateCompanyNameRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/users/updateCompanyName`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: updateCompanyNameRequestBody,\n },\n options\n );\n};\n/**\n * @summary create query feedback\n */\nexport const createQueryFeedback = (\n feedbackCreate: QueryFeedbackCreate,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/queryFeedbackMessages/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: feedbackCreate,\n },\n options\n );\n};\n\n/**\n * @summary create user feedback\n */\nexport const createUserFeedback = (\n feedbackCreate: UserFeedbackCreate,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/userFeedbackMessages/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: feedbackCreate,\n },\n options\n );\n};\n\n/**\n * @summary get query feedback list\n */\nexport const listQueryFeedbackById = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/queryFeedbackMessages/listByQueryId`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary get user feedback list\n */\nexport const listUserFeedbackById = (\n userIdRequestBody: UserIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/userFeedbackMessages/listByUserId`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: userIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary mark All query feedback As Read\n */\nexport const markAllQueryAsRead = (\n messageIdsRequestBody: MessageIdsRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/queryFeedbackMessages/markAllQueryAsRead`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: messageIdsRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary mark All user feedback As Read\n */\nexport const markAllUserAsRead = (\n messageIdsRequestBody: MessageIdsRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/userFeedbackMessages/markAllUserAsRead`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: messageIdsRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary createOrg\n */\nexport const createOrg = (organizationCreate: OrganizationCreate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/orgs/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: organizationCreate,\n },\n options\n );\n};\n\n/**\n * @summary updateOrg\n */\nexport const updateOrg = (organizationUpdate: OrganizationUpdate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/orgs/update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: organizationUpdate,\n },\n options\n );\n};\n\n/**\n * @summary update org beta func\n */\nexport const updateOrgToBeta = (\n orgBetaFuncUpdate: OrgBetaFuncUpdate,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/orgs/updateOrgToBeta`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: orgBetaFuncUpdate,\n },\n options\n );\n};\n\n/**\n * @summary quitOrg\n */\nexport const quitOrg = (organizationQuit: OrganizationQuit, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/orgs/quit`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: organizationQuit,\n },\n options\n );\n};\n\n/**\n * @summary deleteOrg\n */\nexport const deleteOrg = (organizationDelete: OrganizationDelete, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/orgs/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: organizationDelete,\n },\n options\n );\n};\n\n/**\n * @summary kickoutOrg\n */\nexport const kickoutOrg = (\n updateOrgRequestBody: UpdateOrgRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/orgs/kickout`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: updateOrgRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary rejectOrg\n */\nexport const rejectOrg = (\n updateOrgRequestBody: UpdateOrgRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/orgs/reject`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: updateOrgRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary approveOrg\n */\nexport const approveOrg = (\n updateOrgRequestBody: UpdateOrgRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/orgs/approve`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: updateOrgRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary cancelAdmin\n */\nexport const cancelAdmin = (\n updateOrgRequestBody: UpdateOrgRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/orgs/cancelAdmin`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: updateOrgRequestBody,\n },\n options\n );\n};\n/**\n * @summary setAdmin\n */\nexport const setAdmin = (updateOrgRequestBody: UpdateOrgRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/orgs/setAdmin`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: updateOrgRequestBody,\n },\n options\n );\n};\n/**\n * @summary changeOrg\n */\nexport const changeOrg = (\n updateOrgRequestBody: UpdateOrgRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/orgs/change`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: updateOrgRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary logout\n */\nexport const logoutUser = (userId: UserId, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/users/logout`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: userId,\n },\n options\n );\n};\n\nexport const reactiveUser = (requestBody: EmailRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/users/reactive`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: requestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get workloadDefinition\n */\nexport const getWorkloadDefinition = (\n workloadDefinitionIdRequestBody: WorkloadDefinitionIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/workload_definitions/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workloadDefinitionIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Delete a destination definition\n */\nexport const deleteDestinationDefinition = (\n destinationDefinitionIdRequestBody: DestinationDefinitionIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_definitions/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationDefinitionIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary List all private, non-custom destinationDefinitions, and for each indicate whether the given workspace has a grant for using the definition. Used by admins to view and modify a given workspace's grants.\n */\nexport const listPrivateDestinationDefinitions = (\n workspaceIdRequestBody: WorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_definitions/list_private`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary List all the destinationDefinitions the given workspace is configured to use\n */\nexport const listDestinationDefinitionsForWorkspace = (\n workspaceIdRequestBody: WorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_definitions/list_for_workspace`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Creates a custom destinationDefinition for the given workspace\n */\nexport const createCustomDestinationDefinition = (\n customDestinationDefinitionCreate: CustomDestinationDefinitionCreate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_definitions/create_custom`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: customDestinationDefinitionCreate,\n },\n options\n );\n};\n\n/**\n * @summary Get a destinationDefinition that is configured for the given workspace\n */\nexport const getDestinationDefinitionForWorkspace = (\n destinationDefinitionIdWithWorkspaceId: DestinationDefinitionIdWithWorkspaceId,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_definitions/get_for_workspace`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationDefinitionIdWithWorkspaceId,\n },\n options\n );\n};\n\n/**\n * @summary Update a custom destinationDefinition for the given workspace\n */\nexport const updateCustomDestinationDefinition = (\n customDestinationDefinitionUpdate: CustomDestinationDefinitionUpdate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_definitions/update_custom`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: customDestinationDefinitionUpdate,\n },\n options\n );\n};\n\n/**\n * @summary Delete a custom destination definition for the given workspace\n */\nexport const deleteCustomDestinationDefinition = (\n destinationDefinitionIdWithWorkspaceId: DestinationDefinitionIdWithWorkspaceId,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_definitions/delete_custom`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationDefinitionIdWithWorkspaceId,\n },\n options\n );\n};\n\n/**\n * @summary grant a private, non-custom destinationDefinition to a given workspace\n */\nexport const grantDestinationDefinitionToWorkspace = (\n destinationDefinitionIdWithWorkspaceId: DestinationDefinitionIdWithWorkspaceId,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_definitions/grant_definition`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationDefinitionIdWithWorkspaceId,\n },\n options\n );\n};\n\n/**\n * @summary revoke a grant to a private, non-custom destinationDefinition from a given workspace\n */\nexport const revokeDestinationDefinitionFromWorkspace = (\n destinationDefinitionIdWithWorkspaceId: DestinationDefinitionIdWithWorkspaceId,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_definitions/revoke_definition`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationDefinitionIdWithWorkspaceId,\n },\n options\n );\n};\n\n/**\n * @summary Get specification for a destinationDefinition\n */\nexport const getDestinationDefinitionSpecification = (\n destinationDefinitionIdWithWorkspaceId: DestinationDefinitionIdWithWorkspaceId,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_definition_specifications/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationDefinitionIdWithWorkspaceId,\n },\n options\n );\n};\n\n/**\n * @summary Get specification for a workloadDefinition\n */\nexport const getWorkloadDefinitionSpecification = (\n workloadDefinitionIdWithUserId: WorkloadDefinitionIdWithUserId,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/workload_definition_specifications/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workloadDefinitionIdWithUserId,\n },\n options\n );\n};\n\n/**\n * @summary Create a destination\n */\nexport const createDestination = (\n destinationCreate: DestinationCreate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destinations/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationCreate,\n },\n options\n );\n};\n\n/**\n * @summary Create a workload\n */\nexport const updateWorkload = (workload: WorkloadRead, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/workloads/update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workload,\n },\n options\n );\n};\n\nexport const deleteWorkload = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/workloads/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Create a workload\n */\nexport const createWorkload = (workloadCreate: FormData, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/workloads/create`,\n method: \"post\",\n headers: { Accept: \"application/json\" },\n data: workloadCreate,\n },\n options\n );\n};\n\nexport const listAudit = (auditRequestBody: AuditRequestBody, options?: SecondParameter) => {\n return apiOverride>>(\n {\n url: `/v1/audits/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: auditRequestBody,\n },\n options\n );\n};\n\nexport const getAuditObject = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/audits/getAuditObject`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const listAuditObjectList = (\n auditObjectListRequestBody: AuditObjectListRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/audits/getObjectList`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: auditObjectListRequestBody,\n },\n options\n );\n};\n\nexport const getGroupCountRead = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/audits/getGroupCountRead`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const deleteAudit = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/audits/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\nexport const getAudit = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/audits/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const createAudit = (auditCreate: FormData, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/audits/create`,\n method: \"post\",\n headers: { Accept: \"application/json\" },\n data: auditCreate,\n },\n options\n );\n};\n/**\n * @summary Update a destination\n */\nexport const updateDestination = (\n destinationUpdate: DestinationUpdate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destinations/update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationUpdate,\n },\n options\n );\n};\n\n/**\n * @summary List configured destinations for a workspace\n */\nexport const listDestinationsForWorkspace = (\n workspaceIdRequestBody: WorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destinations/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary List configured workloads for a user\n */\nexport const listWorkloadsForUser = (\n userIdRequestBody: UserIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/workloads/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: userIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get configured destination\n */\nexport const getDestination = (\n destinationIdRequestBody: DestinationIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destinations/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get configured workload\n */\nexport const getWorkload = (workloadIdRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/workloads/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workloadIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Search destinations\n */\nexport const searchDestinations = (\n destinationSearch: DestinationSearch,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destinations/search`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationSearch,\n },\n options\n );\n};\n\n/**\n * @summary Check connection to the destination\n */\nexport const checkConnectionToDestination = (\n destinationIdRequestBody: DestinationIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destinations/check_connection`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Check connection for a proposed update to a destination\n */\nexport const checkConnectionToDestinationForUpdate = (\n destinationUpdate: DestinationUpdate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destinations/check_connection_for_update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationUpdate,\n },\n options\n );\n};\n\n/**\n * @summary Delete the destination\n */\nexport const deleteDestination = (\n destinationIdRequestBody: DestinationIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destinations/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Clone destination\n */\nexport const cloneDestination = (\n destinationIdRequestBody: DestinationIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destinations/clone`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Create a connection between a source and a destination\n */\nexport const createConnection = (connectionCreate: ConnectionCreate, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/connections/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: connectionCreate,\n },\n options\n );\n};\n\n/**\n * @summary Update a connection\n */\nexport const updateConnection = (connectionUpdate: ConnectionUpdate, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/connections/update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: connectionUpdate,\n },\n options\n );\n};\n\n/**\n * List connections for workspace. Does not return deleted connections.\n * @summary Returns all connections for a workspace.\n */\nexport const listConnectionsForWorkspace = (\n workspaceIdRequestBody: WorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/connections/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * List connections for workspace, including deleted connections.\n * @summary Returns all connections for a workspace, including deleted connections.\n */\nexport const listAllConnectionsForWorkspace = (\n workspaceIdRequestBody: WorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/connections/list_all`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get a connection\n */\nexport const getConnection = (\n connectionIdRequestBody: ConnectionIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/connections/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: connectionIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Fetch the current state for a connection.\n */\nexport const getState = (\n connectionIdRequestBody: ConnectionIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/state/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: connectionIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Fetch the Jira issue url for a analysis.\n */\nexport const getAnalysisJiraIssue = (\n analysisIdRequestBody: JiraIssueCreate,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/createJiraIssue`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: analysisIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Fetch the summary info for a analysis.\n */\nexport const getAnalysisSummary = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/analyses/getSummary`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n/**\n * @summary Fetch the summary info for a analysis.\n */\nexport const getPptAnalysisSummary = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/pptAnalyses/getPptAnalysisSummary`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n/**\n * @summary Fetch the statement list for a analysis.\n */\nexport const getStatementList = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/analyses/getStatementList`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Fetch the detail for a statement.\n */\nexport const getStatementDetail = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/analyses/getStatementDetail`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary update analysis name.\n */\nexport const updateAnalysisName = (update: NameUpdate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/analyses/updateName`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: update,\n },\n options\n );\n};\n\n/**\n * @summary update pptAnalysis name.\n */\nexport const updatePptAnalysisName = (update: NameUpdate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/pptAnalyses/updateName`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: update,\n },\n options\n );\n};\n/**\n * @summary Fetch the optimize detail for a statement by chatgpt.\n */\nexport const getOpenaiStatementDetail = (\n openaiRequestBody: OpenaiRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/openai/api`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: openaiRequestBody,\n },\n options\n );\n};\n\nexport const validateAccessToken = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/devopsIntegration/validate`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n\nexport const addOrUpdateAccessToken = (\n reuqest: GitHubAccessTokenCreate,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/devopsIntegration/addOrUpdateAccessToken`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: reuqest,\n },\n options\n );\n};\n\nexport const getIntegration = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/devopsIntegration/getIntegration`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\nexport const getRepositories = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/devopsIntegration/getRepositories`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const getBranches = (request: BranchRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/devopsIntegration/getBranches`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const addIntegrationItem = (request: IntegrationItemCreate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/devopsIntegration/addIntegrationItem`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const updateIntegrationItem = (request: IntegrationItemRead, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/devopsIntegration/updateIntegrationItem`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const deleteIntegrationItem = (request: IntegrationItemRead, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/devopsIntegration/deleteIntegrationItem`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const listIntegrationItem = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/devopsIntegration/listIntegrationItem`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n\n/**\n * @summary Delete an explain.\n */\nexport const deleteExplain = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/explains/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Fetch the explain detail for a statement.\n */\nexport const getExplainDetail = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/explains/detail`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns all explain.\n */\nexport const getExplainList = (\n explainRequestBody: ExplainRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>>(\n {\n url: `/v1/explains/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: explainRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Create an explain\n */\nexport const createExplain = (explainCreate: ExplainCreate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/explains/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: explainCreate,\n },\n options\n );\n};\n\n/**\n * @summary Update an explain\n */\nexport const updateExplainName = (explainUpdate: ExplainUpdate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/explains/updateName`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: explainUpdate,\n },\n options\n );\n};\n\n/**\n * @summary list all pricing plans\n */\nexport const listPricingPlans = (\n request: SubscriptionStatusRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/plans/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const getPlanRead = (request: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/plans/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const getCurrentSubscription = (request: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/subscriptionUsers/current`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const getCurrentSubscriptionUsage = (request: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/subscriptionUsers/usage`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const getPaddleLink = (request: PaddleLinkRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/subscriptionUsers/getPortalSession`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const getUserPaymentData = (request: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/userPaymentData/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const completeSubscription = (transactionId: string, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/subscriptionUsers/callback/success`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: transactionId,\n },\n options\n );\n};\nexport const createPaymentIntent = (\n request: CreatePaymentIntentRequest,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/subscriptions/update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const cancelPaymentIntent = (request: SubscriptionIdRequest, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/subscriptions/cancel`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const completePayment = (request: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/subscriptions/complete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const updateSubscriptionPlan = (\n request: updateSubscriptionRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/subscriptionUsers/update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const previewUpdateSubscriptionPlan = (\n request: updateSubscriptionRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/subscriptionUsers/previewUpdate`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\nexport const getPaymentIntent = (request: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/payments/getIntent`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const getPlanOrder = (request: OrderRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/orders/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const repaySubscription = (request: RepayRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/subscriptions/repay`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const cancelSubscription = (request: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/subscriptionUsers/cancel`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const unsubscribePlan = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/subscriptions/unsubscribe`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\n\n/**\n * @summary Search connections\n */\nexport const searchConnections = (\n connectionSearch: ConnectionSearch,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/connections/search`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: connectionSearch,\n },\n options\n );\n};\n\n/**\n * @summary Delete a connection\n */\nexport const deleteConnection = (\n connectionIdRequestBody: ConnectionIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/connections/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: connectionIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Delete a analysis\n */\nexport const deleteAnalysis = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/analyses/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Trigger a manual sync of the connection\n */\nexport const syncConnection = (\n connectionIdRequestBody: ConnectionIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/connections/sync`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: connectionIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Reset the data for the connection. Deletes data generated by the connection in the destination. Resets any cursors back to initial state.\n */\nexport const resetConnection = (\n connectionIdRequestBody: ConnectionIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/connections/reset`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: connectionIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Check if an operation to be created is valid\n */\nexport const checkOperation = (\n operatorConfiguration: OperatorConfiguration,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/operations/check`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: operatorConfiguration,\n },\n options\n );\n};\n\n/**\n * @summary Create an operation to be applied as part of a connection pipeline\n */\nexport const createOperation = (operationCreate: OperationCreate, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/operations/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: operationCreate,\n },\n options\n );\n};\n\n/**\n * @summary Update an operation\n */\nexport const updateOperation = (operationUpdate: OperationUpdate, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/operations/update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: operationUpdate,\n },\n options\n );\n};\n\n/**\n * List operations for connection.\n * @summary Returns all operations for a connection.\n */\nexport const listOperationsForConnection = (\n connectionIdRequestBody: ConnectionIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/operations/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: connectionIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns an operation\n */\nexport const getOperation = (\n operationIdRequestBody: OperationIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/operations/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: operationIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Delete an operation\n */\nexport const deleteOperation = (\n operationIdRequestBody: OperationIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/operations/delete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: operationIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Run check connection for a given source configuration\n */\nexport const checkDBConnection = (request: MyWorkspaceCreate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/checkDBConnection`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\n/**\n * @summary Run discover schema for a given source a source configuration\n */\nexport const executeSourceDiscoverSchema = (\n sourceCoreConfig: SourceCoreConfig,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/scheduler/sources/discover_schema`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceCoreConfig,\n },\n options\n );\n};\n\n/**\n * @summary Run check connection for a given destination configuration\n */\nexport const executeDestinationCheckConnection = (\n destinationCoreConfig: DestinationCoreConfig,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/scheduler/destinations/check_connection`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationCoreConfig,\n },\n options\n );\n};\n\n/**\n * @summary List all database migrations\n */\nexport const listMigrations = (\n dbMigrationRequestBody: DbMigrationRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/db_migrations/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: dbMigrationRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Migrate the database to the latest version\n */\nexport const executeMigrations = (\n dbMigrationRequestBody: DbMigrationRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/db_migrations/migrate`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: dbMigrationRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Sets instancewide variables to be used for the oauth flow when creating this source. When set, these variables will be injected into a instance's configuration before any interaction with the instance image itself. This enables running oauth flows with consistent variables e.g: the company's Google Ads developer_token, client_id, and client_secret without the user having to know about these variables.\n\n */\nexport const setInstancewideSourceOauthParams = (\n setInstancewideSourceOauthParamsRequestBody: SetInstancewideSourceOauthParamsRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_oauths/oauth_params/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: setInstancewideSourceOauthParamsRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Given a source instance definition ID, return the URL to the consent screen where to redirect the user to.\n */\nexport const getSourceOAuthConsent = (\n sourceOauthConsentRequest: SourceOauthConsentRequest,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_oauths/get_consent_url`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: sourceOauthConsentRequest,\n },\n options\n );\n};\n\n/**\n * @summary Given a source def ID generate an access/refresh token etc.\n */\nexport const completeSourceOAuth = (\n completeSourceOauthRequest: CompleteSourceOauthRequest,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/source_oauths/complete_oauth`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: completeSourceOauthRequest,\n },\n options\n );\n};\n\n/**\n * @summary Given a destination instance definition ID, return the URL to the consent screen where to redirect the user to.\n */\nexport const getDestinationOAuthConsent = (\n destinationOauthConsentRequest: DestinationOauthConsentRequest,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_oauths/get_consent_url`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: destinationOauthConsentRequest,\n },\n options\n );\n};\n\n/**\n * @summary Given a destination def ID generate an access/refresh token etc.\n */\nexport const completeDestinationOAuth = (\n completeDestinationOAuthRequest: CompleteDestinationOAuthRequest,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_oauths/complete_oauth`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: completeDestinationOAuthRequest,\n },\n options\n );\n};\n\n/**\n * @summary Sets instancewide variables to be used for the oauth flow when creating this destination. When set, these variables will be injected into a instance's configuration before any interaction with the instance image itself. This enables running oauth flows with consistent variables e.g: the company's Google Ads developer_token, client_id, and client_secret without the user having to know about these variables.\n\n */\nexport const setInstancewideDestinationOauthParams = (\n setInstancewideDestinationOauthParamsRequestBody: SetInstancewideDestinationOauthParamsRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/destination_oauths/oauth_params/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: setInstancewideDestinationOauthParamsRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns all non-deleted connections for a workspace.\n */\nexport const webBackendListConnectionsForWorkspace = (\n workspaceIdRequestBody: WorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/web_backend/connections/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns all non-deleted analyses for a user.\n */\nexport const listAnalysesForUser = (\n analysisRequestBody: AnalysisRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>>(\n {\n url: `/v1/analyses/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: analysisRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns all non-deleted instances for a user or org.\n */\nexport const listInstances = (requestBody: InstanceRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/instances/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: requestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns all variables\n */\nexport const listVariables = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/instances/listVariable`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const getVariableSummary = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/instances/getVariableSummary`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const listDefaultVariables = (\n variablesRequestBody: VariablesRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/instances/listDefaultVariables`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: variablesRequestBody,\n },\n options\n );\n};\n\nexport const enableDefaultVariable = (\n updateByIdRequestBody: UpdateByIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/instances/enableDefaultVariable`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: updateByIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns all tables\n */\nexport const listPptTables = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/instances/listTable`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns all databases for an instance\n */\nexport const listDatabases = (\n instanceIdRequestBody: InstanceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/databases/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: instanceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns all slow queries for an instance\n */\nexport const listSlowQueries = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/slowQueries/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\nexport const getStatusList = (\n slowQueryChartRequestBody: SlowQueryChartRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/slowQueryTemplates/getStatusList`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: slowQueryChartRequestBody,\n },\n options\n );\n};\nexport const getAvgTimeRankList = (\n slowQueryChartRequestBody: SlowQueryChartRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/slowQueryTemplates/getAvgTimeRankList`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: slowQueryChartRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns all databases for an instance\n */\nexport const getDatabaseList = (\n slowQueryChartRequestBody: SlowQueryChartRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/slowQueryTemplates/getDatabaseList`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: slowQueryChartRequestBody,\n },\n options\n );\n};\n\nexport const getShardList = (\n slowQueryChartRequestBody: SlowQueryChartRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/slowQueryTemplates/getShardList`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: slowQueryChartRequestBody,\n },\n options\n );\n};\nexport const getSqlTypeList = (\n slowQueryChartRequestBody: SlowQueryChartRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/slowQueryTemplates/getSqlTypeList`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: slowQueryChartRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns all slow queries for an instance\n */\nexport const listSlowQueryTemplates = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/slowQueryTemplates/list`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns slow query summary for an instance\n */\nexport const getSlowQueryTemplateSummary = (\n idRequestBody: IdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/slowQueryTemplates/getSlowQuerySummary`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n/**\n * @summary Returns one page slow queries for an instance\n */\nexport const listSlowQueriesWithPage = (\n pageSlowQueryRequestBody: PageSlowQueryRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>>(\n {\n url: `/v1/slowQueries/pageList`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: pageSlowQueryRequestBody,\n },\n options\n );\n};\n/**\n * @summary Returns one page slow queries for an instance\n */\nexport const listSlowQueryTemplatesWithPage = (\n pageSlowQueryRequestBody: PageSlowQueryRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>>(\n {\n url: `/v1/slowQueryTemplates/pageList`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: pageSlowQueryRequestBody,\n },\n options\n );\n};\n\nexport const listPptJobsWithPage = (\n pptJobListRequestBody: PptJobListRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>>(\n {\n url: `/v1/pptJobs/pageList`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: pptJobListRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns one page dbObjects for an instance\n */\nexport const listDbObjectsWithPage = (\n dbObjectRequestBody: DbObjectRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride>>(\n {\n url: `/v1/dbObjects/pageList`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: dbObjectRequestBody,\n },\n options\n );\n};\n\nexport const getDbObjectDropdownData = (request: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/dbObjects/getDropdownData`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const addGlobalTag = (request: EditTagRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/dbObjects/addGlobalTag`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const deleteGlobalTag = (request: EditTagRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/dbObjects/deleteGlobalTag`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\n\nexport const addCustomTag = (request: EditTagRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/dbObjects/addCustomTag`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\nexport const deleteTagRelation = (request: EditTagRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/dbObjects/deleteTagRelation`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: request,\n },\n options\n );\n};\nexport const getGlobalTags = (options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/dbObjects/getGlobalTags`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n },\n options\n );\n};\nexport const getStatisticData = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/dbObjects/getStatisticData`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Returns all connections for a workspace.\n */\nexport const webBackendListAllConnectionsForWorkspace = (\n workspaceIdRequestBody: WorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/web_backend/connections/list_all`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get a connection\n */\nexport const webBackendGetConnection = (\n webBackendConnectionRequestBody: WebBackendConnectionRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/web_backend/connections/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: webBackendConnectionRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get a analysis\n */\nexport const getAnalysis = (idRequestBody: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/analyses/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: idRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Get a pptAnalysis\n */\nexport const getPptAnalysis = (id: IdRequestBody, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/pptAnalyses/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: id,\n },\n options\n );\n};\n\n/**\n * @summary Create a connection\n */\nexport const webBackendCreateConnection = (\n webBackendConnectionCreate: WebBackendConnectionCreate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/web_backend/connections/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: webBackendConnectionCreate,\n },\n options\n );\n};\n\n/**\n * @summary Create an analysis\n */\nexport const createAnalysis = (analysisCreate: AnalysisCreate, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/analyses/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: analysisCreate,\n },\n options\n );\n};\nexport const createWithoutSignup = (request: FormData, options?: SecondParameter) => {\n return apiOverride>(\n {\n url: `/v1/analyses/createWithoutSignup`,\n method: \"post\",\n headers: { Accept: \"application/json\" },\n data: request,\n },\n options\n );\n};\n\ncreateWithoutSignup;\n/**\n * @summary Create a pptAnalysis\n */\nexport const createPptAnalysis = (\n pptAnalysisCreate: PptAnalysisCreate,\n options?: SecondParameter\n) => {\n return apiOverride>(\n {\n url: `/v1/pptAnalyses/create`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: pptAnalysisCreate,\n },\n options\n );\n};\n\n/**\n * @summary Update a connection\n */\nexport const webBackendUpdateConnection = (\n webBackendConnectionUpdate: WebBackendConnectionUpdate,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/web_backend/connections/update`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: webBackendConnectionUpdate,\n },\n options\n );\n};\n\n/**\n * @summary Search connections\n */\nexport const webBackendSearchConnections = (\n webBackendConnectionSearch: WebBackendConnectionSearch,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/web_backend/connections/search`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: webBackendConnectionSearch,\n },\n options\n );\n};\n\n/**\n * @summary Returns the current state of a workspace\n */\nexport const webBackendGetWorkspaceState = (\n webBackendWorkspaceState: WebBackendWorkspaceState,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/web_backend/workspace/state`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: webBackendWorkspaceState,\n },\n options\n );\n};\n\n/**\n * @summary Returns recent jobs for a connection. Jobs are returned in descending order by createdAt.\n */\nexport const listJobsFor = (jobListRequestBody: JobListRequestBody, options?: SecondParameter) => {\n return apiOverride(\n { url: `/v1/jobs/list`, method: \"post\", headers: { \"Content-Type\": \"application/json\" }, data: jobListRequestBody },\n options\n );\n};\n\n/**\n * @summary Get information about a job\n */\nexport const getJobInfo = (jobIdRequestBody: JobIdRequestBody, options?: SecondParameter) => {\n return apiOverride(\n { url: `/v1/jobs/get`, method: \"post\", headers: { \"Content-Type\": \"application/json\" }, data: jobIdRequestBody },\n options\n );\n};\n\n/**\n * @summary Cancels a job\n */\nexport const cancelJob = (jobIdRequestBody: JobIdRequestBody, options?: SecondParameter) => {\n return apiOverride(\n { url: `/v1/jobs/cancel`, method: \"post\", headers: { \"Content-Type\": \"application/json\" }, data: jobIdRequestBody },\n options\n );\n};\n\n/**\n * @summary Gets all information needed to debug this job\n */\nexport const getJobDebugInfo = (jobIdRequestBody: JobIdRequestBody, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/jobs/get_debug_info`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: jobIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Health Check\n */\nexport const getHealthCheck = (options?: SecondParameter, signal?: AbortSignal) => {\n return apiOverride({ url: `/v1/health`, method: \"get\", signal }, options);\n};\n\n/**\n * @summary Get logs\n */\nexport const getLogs = (logsRequestBody: LogsRequestBody, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/logs/get`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: logsRequestBody,\n responseType: \"blob\",\n },\n options\n );\n};\n\n/**\n * @summary Returns the openapi specification\n */\nexport const getOpenApiSpec = (options?: SecondParameter, signal?: AbortSignal) => {\n return apiOverride({ url: `/v1/openapi`, method: \"get\", signal, responseType: \"blob\" }, options);\n};\n\n/**\n * @summary Export Pawsql Configuration and Data Archive\n */\nexport const exportArchive = (options?: SecondParameter) => {\n return apiOverride({ url: `/v1/deployment/export`, method: \"post\" }, options);\n};\n\n/**\n * @summary Import Pawsql Configuration and Data Archive\n */\nexport const importArchive = (pawsqlArchive: PawsqlArchive, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/deployment/import`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/x-gzip\" },\n data: pawsqlArchive,\n },\n options\n );\n};\n\n/**\n * @summary Export Pawsql Workspace Configuration\n */\nexport const exportWorkspace = (\n workspaceIdRequestBody: WorkspaceIdRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/deployment/export_workspace`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: workspaceIdRequestBody,\n },\n options\n );\n};\n\n/**\n * @summary Upload a GZIP archive tarball and stage it in the server's cache as a temporary resource\n */\nexport const uploadArchiveResource = (pawsqlArchive: PawsqlArchive, options?: SecondParameter) => {\n return apiOverride(\n {\n url: `/v1/deployment/upload_archive_resource`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/x-gzip\" },\n data: pawsqlArchive,\n },\n options\n );\n};\n\n/**\n * @summary Import Pawsql Configuration into Workspace (this operation might change ids of imported configurations). Note, in order to use this api endpoint, you might need to upload a temporary archive resource with 'deployment/upload_archive_resource' first\n\n */\nexport const importIntoWorkspace = (\n importRequestBody: ImportRequestBody,\n options?: SecondParameter\n) => {\n return apiOverride(\n {\n url: `/v1/deployment/import_into_workspace`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: importRequestBody,\n },\n options\n );\n};\n\ntype AwaitedInput = PromiseLike | T;\n\ntype Awaited = O extends AwaitedInput ? T : never;\n\nexport type CreateWorkspaceResult = NonNullable>>;\nexport type ListWorkspacesResult = NonNullable>>;\nexport type GetWorkspaceResult = NonNullable>>;\nexport type GetWorkspaceBySlugResult = NonNullable>>;\nexport type UpdateWorkspaceResult = NonNullable>>;\nexport type UpdateWorkspaceNameResult = NonNullable>>;\nexport type UpdateWorkspaceFeedbackResult = NonNullable>>;\nexport type TryNotificationConfigResult = NonNullable>>;\nexport type CreateSourceDefinitionResult = NonNullable>>;\nexport type UpdateSourceDefinitionResult = NonNullable>>;\nexport type ListSourceDefinitionsResult = NonNullable>>;\nexport type ListLatestSourceDefinitionsResult = NonNullable>>;\nexport type GetSourceDefinitionResult = NonNullable>>;\nexport type DeleteSourceDefinitionResult = NonNullable>>;\nexport type ListPrivateSourceDefinitionsResult = NonNullable>>;\nexport type ListSourceDefinitionsForWorkspaceResult = NonNullable<\n Awaited>\n>;\nexport type CreateCustomSourceDefinitionResult = NonNullable>>;\nexport type GetSourceDefinitionForWorkspaceResult = NonNullable<\n Awaited>\n>;\nexport type UpdateCustomSourceDefinitionResult = NonNullable>>;\nexport type DeleteCustomSourceDefinitionResult = NonNullable>>;\nexport type GrantSourceDefinitionToWorkspaceResult = NonNullable<\n Awaited>\n>;\nexport type RevokeSourceDefinitionFromWorkspaceResult = NonNullable<\n Awaited>\n>;\nexport type GetSourceDefinitionSpecificationResult = NonNullable<\n Awaited>\n>;\nexport type CreateSourceResult = NonNullable>>;\nexport type UpdateSourceResult = NonNullable>>;\nexport type ListSourcesForWorkspaceResult = NonNullable>>;\nexport type GetSourceResult = NonNullable>>;\nexport type SearchSourcesResult = NonNullable>>;\nexport type CloneSourceResult = NonNullable>>;\nexport type DeleteSourceResult = NonNullable>>;\nexport type CheckConnectionToSourceResult = NonNullable>>;\nexport type CheckConnectionToSourceForUpdateResult = NonNullable<\n Awaited>\n>;\nexport type DiscoverSchemaForSourceResult = NonNullable>>;\nexport type CreateDestinationDefinitionResult = NonNullable>>;\nexport type UpdateDestinationDefinitionResult = NonNullable>>;\nexport type ListDestinationDefinitionsResult = NonNullable>>;\nexport type ListLatestDestinationDefinitionsResult = NonNullable<\n Awaited>\n>;\nexport type GetDestinationDefinitionResult = NonNullable>>;\nexport type DeleteDestinationDefinitionResult = NonNullable>>;\nexport type ListPrivateDestinationDefinitionsResult = NonNullable<\n Awaited>\n>;\nexport type ListDestinationDefinitionsForWorkspaceResult = NonNullable<\n Awaited>\n>;\nexport type CreateCustomDestinationDefinitionResult = NonNullable<\n Awaited>\n>;\nexport type GetDestinationDefinitionForWorkspaceResult = NonNullable<\n Awaited>\n>;\nexport type UpdateCustomDestinationDefinitionResult = NonNullable<\n Awaited>\n>;\nexport type DeleteCustomDestinationDefinitionResult = NonNullable<\n Awaited>\n>;\nexport type GrantDestinationDefinitionToWorkspaceResult = NonNullable<\n Awaited>\n>;\nexport type RevokeDestinationDefinitionFromWorkspaceResult = NonNullable<\n Awaited>\n>;\nexport type GetDestinationDefinitionSpecificationResult = NonNullable<\n Awaited>\n>;\nexport type CreateDestinationResult = NonNullable>>;\nexport type UpdateDestinationResult = NonNullable>>;\nexport type ListDestinationsForWorkspaceResult = NonNullable>>;\nexport type GetDestinationResult = NonNullable>>;\nexport type SearchDestinationsResult = NonNullable>>;\nexport type CheckConnectionToDestinationResult = NonNullable>>;\nexport type CheckConnectionToDestinationForUpdateResult = NonNullable<\n Awaited>\n>;\nexport type DeleteDestinationResult = NonNullable>>;\nexport type CloneDestinationResult = NonNullable>>;\nexport type CreateConnectionResult = NonNullable>>;\nexport type UpdateConnectionResult = NonNullable>>;\nexport type ListConnectionsForWorkspaceResult = NonNullable>>;\nexport type ListAllConnectionsForWorkspaceResult = NonNullable<\n Awaited>\n>;\nexport type GetConnectionResult = NonNullable>>;\nexport type GetStateResult = NonNullable>>;\nexport type SearchConnectionsResult = NonNullable>>;\nexport type DeleteConnectionResult = NonNullable>>;\nexport type SyncConnectionResult = NonNullable>>;\nexport type ResetConnectionResult = NonNullable>>;\nexport type CheckOperationResult = NonNullable>>;\nexport type CreateOperationResult = NonNullable>>;\nexport type UpdateOperationResult = NonNullable>>;\nexport type ListOperationsForConnectionResult = NonNullable>>;\nexport type GetOperationResult = NonNullable>>;\nexport type DeleteOperationResult = NonNullable>>;\nexport type ExecuteSourceCheckConnectionResult = NonNullable>>;\nexport type ExecuteSourceDiscoverSchemaResult = NonNullable>>;\nexport type ExecuteDestinationCheckConnectionResult = NonNullable<\n Awaited>\n>;\nexport type ListMigrationsResult = NonNullable>>;\nexport type ExecuteMigrationsResult = NonNullable>>;\nexport type SetInstancewideSourceOauthParamsResult = NonNullable<\n Awaited>\n>;\nexport type GetSourceOAuthConsentResult = NonNullable>>;\nexport type CompleteSourceOAuthResult = NonNullable>>;\nexport type GetDestinationOAuthConsentResult = NonNullable>>;\nexport type CompleteDestinationOAuthResult = NonNullable>>;\nexport type SetInstancewideDestinationOauthParamsResult = NonNullable<\n Awaited>\n>;\nexport type WebBackendListConnectionsForWorkspaceResult = NonNullable<\n Awaited>\n>;\nexport type WebBackendListAllConnectionsForWorkspaceResult = NonNullable<\n Awaited>\n>;\nexport type WebBackendGetConnectionResult = NonNullable>>;\nexport type WebBackendCreateConnectionResult = NonNullable>>;\nexport type WebBackendUpdateConnectionResult = NonNullable>>;\nexport type WebBackendSearchConnectionsResult = NonNullable>>;\nexport type WebBackendGetWorkspaceStateResult = NonNullable>>;\nexport type ListJobsForResult = NonNullable>>;\nexport type GetJobInfoResult = NonNullable>>;\nexport type CancelJobResult = NonNullable>>;\nexport type GetJobDebugInfoResult = NonNullable>>;\nexport type GetHealthCheckResult = NonNullable>>;\nexport type GetLogsResult = NonNullable>>;\nexport type GetOpenApiSpecResult = NonNullable>>;\nexport type ExportArchiveResult = NonNullable>>;\nexport type ImportArchiveResult = NonNullable>>;\nexport type ExportWorkspaceResult = NonNullable>>;\nexport type UploadArchiveResourceResult = NonNullable>>;\nexport type ImportIntoWorkspaceResult = NonNullable>>;\n","import { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { GAIcon } from \"components/icons/GAIcon\";\n// import ToolTip from \"components/ToolTip\";\n\nimport { ReleaseStage } from \"core/request/PawsqlClient\";\n\nconst Stage = styled.div<{ $small: boolean }>`\n display: inline-block;\n padding: 2px 6px;\n background: ${({ theme }) => theme.greyColor20};\n border-radius: 25px;\n text-transform: uppercase;\n font-size: ${({ $small }) => ($small ? \"8px\" : \"10px\")};\n line-height: initial;\n color: ${({ theme }) => theme.textColor};\n`;\n\ninterface ReleaseStageBadgeProps {\n small?: boolean;\n stage?: ReleaseStage;\n /**\n * Whether to show a detailed message via a tooltip. If not specified, will be {@code true}.\n */\n tooltip?: boolean;\n tooltipMessage?: string | React.ReactNode;\n}\n\nexport const ReleaseStageBadge: React.FC = ({\n stage,\n small,\n // tooltip = true,\n // tooltipMessage,\n}) => {\n if (!stage || stage === ReleaseStage.custom) {\n return null;\n }\n\n const badge =\n stage === ReleaseStage.generally_available ? (\n \n ) : (\n \n \n \n );\n\n // return tooltip ? (\n // \n // {tooltipMessage ? tooltipMessage : }\n // \n // ) : (\n // badge\n // );\n return badge;\n};\n","import styled from \"styled-components\";\n\nimport { ReleaseStageBadge } from \"components/ReleaseStageBadge\";\n\nimport { ReleaseStage } from \"core/request/PawsqlClient\";\nimport { getIcon } from \"utils/imageUtils\";\n\ninterface Props {\n connectionName: string;\n icon?: string;\n instanceName: string;\n releaseStage?: ReleaseStage;\n}\n\nconst MainComponent = styled.div`\n display: flex;\n padding: 10px;\n width: 600px;\n align-items: center;\n`;\n\nconst Details = styled.div`\n width: 360px;\n margin-left: 10px;\n display: flex;\n flex-direction: column;\n font-weight: normal;\n`;\n\nconst EntityIcon = styled.div`\n height: 30px;\n width: 30px;\n`;\n\nconst ConnectionName = styled.div`\n font-size: 14px;\n color: #1a194d;\n text-align: left;\n margin-right: 10px;\n`;\n\nconst InstanceDetails = styled.div`\n display: flex;\n justify-content: flex-start;\n align-items: center;\n`;\n\nconst InstanceName = styled.div`\n font-size: 11px;\n margin-top: 1px;\n color: #afafc1;\n text-align: left;\n`;\n\nfunction WorkspaceCard(props: Props) {\n const { connectionName, instanceName, icon, releaseStage } = props;\n\n return (\n \n {icon && {getIcon(icon)}}\n
\n \n {connectionName}\n {releaseStage && }\n \n {instanceName} \n
\n
\n );\n}\n\nexport default WorkspaceCard;\n","import WorkspaceCard from \"./WorkspaceCard\";\n\nexport default WorkspaceCard;\n","import React, { useContext, useMemo } from \"react\";\nimport { useAsync } from \"react-use\";\n\nimport { LoadingPage } from \"components\";\n\nimport { applyProviders } from \"./configProviders\";\nimport { Config, ValueProvider } from \"./types\";\n\nexport interface ConfigContextData {\n config: T;\n}\n\nexport const ConfigContext = React.createContext(null);\n\nexport function useConfig(): T {\n const configService = useContext(ConfigContext);\n\n if (configService === null) {\n throw new Error(\"useConfig must be used within a ConfigProvider\");\n }\n\n return useMemo(() => configService.config as unknown as T, [configService.config]);\n}\n\nconst ConfigServiceInner: React.FC<{\n defaultConfig: Config;\n providers?: ValueProvider;\n}> = ({ children, defaultConfig, providers }) => {\n const { loading, value } = useAsync(\n async () => (providers ? applyProviders(defaultConfig, providers) : defaultConfig),\n [providers]\n );\n const config: ConfigContextData | null = useMemo(() => (value ? { config: value } : null), [value]);\n\n if (loading) {\n return ;\n }\n\n return {children};\n};\n\nexport const ConfigServiceProvider: React.FC<{\n defaultConfig: Config;\n providers?: ValueProvider;\n}> = React.memo(ConfigServiceInner);\n","import { OperationCreate, OperationRead, OperatorType } from \"../../request/PawsqlClient\";\n\nexport enum NormalizationType {\n basic = \"basic\",\n raw = \"raw\",\n}\n\nexport const isDbtTransformation = (op: OperationCreate): op is OperationRead => {\n return op.operatorConfiguration.operatorType === OperatorType.dbt;\n};\n\nexport const isNormalizationTransformation = (op: OperationCreate): op is OperationRead => {\n return op.operatorConfiguration.operatorType === OperatorType.normalization;\n};\n","enum Status {\n PENDING = \"pending\",\n RUNNING = \"running\",\n INCOMPLETE = \"incomplete\",\n FAILED = \"failed\",\n SUCCEEDED = \"succeeded\",\n CANCELLED = \"cancelled\",\n PARTIAL_SUCCESS = \"partial_success\",\n}\n\nexport default Status;\n","import merge from \"lodash/merge\";\n\nimport { ApiOverrideRequestOptions } from \"./apiOverride\";\nimport { CommonRequestError } from \"./CommonRequestError\";\nimport { RequestMiddleware } from \"./RequestMiddleware\";\nimport { VersionError } from \"./VersionError\";\n\nabstract class PawsqlRequestService {\n private readonly rootUrl: string;\n\n constructor(rootUrl: string, private middlewares: RequestMiddleware[] = []) {\n // Remove the `/v1/` at the end of the URL if it exists, during the transition period\n // to remove it from all cloud environments\n this.rootUrl = rootUrl.replace(/\\/v1\\/?$/, \"\");\n }\n\n protected get requestOptions(): ApiOverrideRequestOptions {\n return {\n config: { apiUrl: this.rootUrl },\n middlewares: this.middlewares,\n };\n }\n\n /** Perform network request */\n public async fetch(url: string, body?: unknown, options?: Partial): Promise {\n const path = `${this.rootUrl}${url.startsWith(\"/\") ? \"\" : \"/\"}${url}`;\n\n const requestOptions: RequestInit = merge(\n {\n method: \"POST\",\n body: body ? JSON.stringify(body) : undefined,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n },\n options\n );\n\n let preparedOptions: RequestInit = requestOptions;\n\n for (const middleware of this.middlewares) {\n preparedOptions = await middleware(preparedOptions);\n }\n const response = await fetch(path, preparedOptions);\n\n return parseResponse(response);\n }\n}\n\n/** Parses errors from server */\nasync function parseResponse(response: Response): Promise {\n if (response.status === 204) {\n return {} as T;\n }\n if (response.status >= 200 && response.status < 300) {\n const contentType = response.headers.get(\"content-type\");\n\n if (contentType === \"application/json\") {\n return await response.json();\n }\n\n // @ts-ignore TODO: needs refactoring of services\n return response;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let resultJsonResponse: any;\n\n // If some error returned in json, lets try to parse it\n try {\n resultJsonResponse = await response.json();\n } catch (e) {\n // non json result\n throw new CommonRequestError(response, \"non-json response\");\n }\n\n if (resultJsonResponse?.error) {\n if (resultJsonResponse.error.startsWith(\"Version mismatch between\")) {\n throw new VersionError(resultJsonResponse.error);\n }\n }\n\n throw new CommonRequestError(response, resultJsonResponse?.message);\n}\n\nexport { PawsqlRequestService };\n","import Status from \"core/statuses\";\n\nimport { checkOperation, OperationCreate } from \"../../request/PawsqlClient\";\nimport { PawsqlRequestService } from \"../../request/PawsqlRequestService\";\n\nexport class OperationService extends PawsqlRequestService {\n public async check({ operatorConfiguration }: OperationCreate) {\n const rs = await checkOperation(operatorConfiguration, this.requestOptions);\n\n if (rs.status === Status.FAILED) {\n // TODO: place proper error\n throw new Error(\"failed\");\n }\n\n return rs;\n }\n}\n","import { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\n\nimport {\n createDestinationDefinition,\n DestinationDefinitionCreate,\n DestinationDefinitionUpdate,\n getDestinationDefinition,\n listDestinationDefinitions,\n listLatestDestinationDefinitions,\n updateDestinationDefinition,\n} from \"../../request/PawsqlClient\";\n\nexport class DestinationDefinitionService extends PawsqlRequestService {\n public get(destinationDefinitionId: string) {\n return getDestinationDefinition({ destinationDefinitionId }, this.requestOptions);\n }\n\n public list() {\n return listDestinationDefinitions(this.requestOptions);\n }\n\n public listLatest() {\n return listLatestDestinationDefinitions(this.requestOptions);\n }\n\n public update(body: DestinationDefinitionUpdate) {\n return updateDestinationDefinition(body, this.requestOptions);\n }\n\n public create(body: DestinationDefinitionCreate) {\n return createDestinationDefinition(body, this.requestOptions);\n }\n}\n","import { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\n\nimport {\n createSourceDefinition,\n getSourceDefinition,\n listLatestSourceDefinitions,\n listSourceDefinitions,\n SourceDefinitionCreate,\n SourceDefinitionUpdate,\n updateSourceDefinition,\n} from \"../../request/PawsqlClient\";\n\nexport class SourceDefinitionService extends PawsqlRequestService {\n public get(sourceDefinitionId: string) {\n return getSourceDefinition({ sourceDefinitionId }, this.requestOptions);\n }\n\n public list() {\n return listSourceDefinitions(this.requestOptions);\n }\n\n public listLatest() {\n return listLatestSourceDefinitions(this.requestOptions);\n }\n\n public update(body: SourceDefinitionUpdate) {\n return updateSourceDefinition(body, this.requestOptions);\n }\n\n public create(body: SourceDefinitionCreate) {\n return createSourceDefinition(body, this.requestOptions);\n }\n}\n","import { PawsqlArchive, exportArchive, importArchive } from \"../../request/PawsqlClient\";\nimport { PawsqlRequestService } from \"../../request/PawsqlRequestService\";\n\nexport class DeploymentService extends PawsqlRequestService {\n public async exportDeployment() {\n const blob = await exportArchive(this.requestOptions);\n return window.URL.createObjectURL(blob);\n }\n\n public async importDeployment(file: PawsqlArchive) {\n await importArchive(file, this.requestOptions);\n }\n}\n","import { getHealthCheck } from \"../request/PawsqlClient\";\nimport { PawsqlRequestService } from \"../request/PawsqlRequestService\";\n\nexport class HealthService extends PawsqlRequestService {\n health() {\n return getHealthCheck(this.requestOptions);\n }\n}\n","import React, { useContext, useEffect, useMemo } from \"react\";\nimport { useMap } from \"react-use\";\n\ninterface ServiceContainer {\n [key: string]: Service;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Service = any;\n\ninterface ServicesProviderApi {\n register(name: string, service: Service): void;\n getService(serviceType: string): T;\n unregister(name: string): void;\n registeredServices: ServiceContainer;\n}\n\nconst ServicesProviderContext = React.createContext(null);\n\nexport const ServicesProvider: React.FC<{ inject?: ServiceContainer }> = ({ children, inject }) => {\n const [registeredServices, { remove, set }] = useMap(inject);\n\n const ctxValue = useMemo(\n () => ({\n register: set,\n getService: (serviceType) => registeredServices[serviceType],\n unregister: remove,\n registeredServices,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [registeredServices]\n );\n\n return {children};\n};\n\nexport type ServiceInject = [string, Service];\n\nconst WithServiceInner: React.FC<{\n serviceInject: ServiceInject[];\n}> = ({ children, serviceInject }) => {\n useInjectServices(serviceInject);\n\n return <>{children};\n};\n\nexport const WithService: React.FC<{\n serviceInject: ServiceInject[];\n}> = React.memo(WithServiceInner);\n\nexport function useInjectServices(serviceInject: ServiceContainer): void {\n const { register, unregister } = useServicesProvider();\n\n useEffect(() => {\n Object.entries(serviceInject).forEach(([token, service]) => register(token, service));\n\n return () => Object.keys(serviceInject).forEach(unregister);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [serviceInject]);\n}\n\n/**\n *\n */\nexport const useServicesProvider = (): ServicesProviderApi => {\n const diService = useContext(ServicesProviderContext);\n\n if (!diService) {\n throw new Error(\"useServicesProvider should be used within ServicesProvider\");\n }\n\n return diService;\n};\n\nexport function useGetService(serviceToken: string): T {\n const { registeredServices } = useServicesProvider();\n\n return useMemo(() => registeredServices[serviceToken], [registeredServices, serviceToken]);\n}\n","import React, { useMemo } from \"react\";\n\nimport { useConfig } from \"config\";\n\nimport { OperationService } from \"./domain/analysis\";\nimport { DestinationDefinitionService } from \"./domain/workspace/DestinationDefinitionService\";\nimport { SourceDefinitionService } from \"./domain/workspace/SourceDefinitionService\";\nimport { DeploymentService } from \"./domain/deployment/DeploymentService\";\nimport { HealthService } from \"./health/HealthService\";\nimport { RequestMiddleware } from \"./request/RequestMiddleware\";\nimport { useGetService, useInjectServices } from \"./servicesProvider\";\n\nexport const ApiServices: React.FC = React.memo(({ children }) => {\n const config = useConfig();\n const middlewares = useGetService(\"DefaultRequestMiddlewares\");\n\n const services = useMemo(\n () => ({\n SourceDefinitionService: new SourceDefinitionService(config.apiUrl, middlewares),\n DestinationDefinitionService: new DestinationDefinitionService(config.apiUrl, middlewares),\n DeploymentService: new DeploymentService(config.apiUrl, middlewares),\n OperationService: new OperationService(config.apiUrl, middlewares),\n HealthService: new HealthService(config.apiUrl, middlewares),\n }),\n [config.apiUrl, middlewares]\n );\n\n useInjectServices(services);\n\n return <>{children};\n});\n","import type { IntlConfig } from \"react-intl\";\n\nimport React, { useContext, useMemo, useState } from \"react\";\nimport { IntlProvider } from \"react-intl\";\n\ntype Messages = IntlConfig[\"messages\"];\n\ninterface I18nContext {\n setMessageOverwrite: (messages: Messages) => void;\n changeLocal?: () => void;\n}\n\nconst i18nContext = React.createContext({ setMessageOverwrite: () => null, changeLocal: () => null });\n\nexport const useI18nContext = () => {\n return useContext(i18nContext);\n};\n\ninterface I18nProviderProps {\n messages: Messages;\n locale: string;\n changeLocal?: () => void;\n}\n\nexport const I18nProvider: React.FC = ({ children, messages, locale, changeLocal }) => {\n const [overwrittenMessages, setOvewrittenMessages] = useState();\n\n const i18nOverwriteContext = useMemo(\n () => ({\n setMessageOverwrite: (messages) => {\n setOvewrittenMessages(messages);\n },\n changeLocal: changeLocal,\n }),\n [changeLocal]\n );\n\n const mergedMessages = useMemo(\n () => ({\n ...messages,\n ...(overwrittenMessages ?? {}),\n }),\n [messages, overwrittenMessages]\n );\n\n return (\n \n {chunk},\n }}\n >\n {children}\n \n \n );\n};\n","import { faExclamation } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\nimport styled from \"styled-components\";\n\nconst ErrorIcon = styled.div`\n width: 28px;\n min-width: 28px;\n height: 28px;\n border-radius: 50%;\n margin-right: 11px;\n display: flex;\n justify-content: center;\n align-items: center;\n background: ${({ theme }) => theme.dangerColor};\n border: 1px solid ${({ theme }) => theme.mediumPrimaryColor20};\n`;\n\nconst ExclamationLight = styled(FontAwesomeIcon)`\n font-size: 16px;\n color: ${({ theme }) => theme.whiteColor};\n`;\n\nconst ErrorSign: React.FC = () => (\n \n \n \n);\n\nexport default ErrorSign;\n","import { faTimes } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\nimport styled, { keyframes } from \"styled-components\";\n\nimport { Button, H5 } from \"components\";\n\nimport ErrorSign from \"./components/ErrorSign\";\n\ninterface SingletonCardProps {\n title: string | React.ReactNode;\n text?: string | React.ReactNode;\n hasError?: boolean;\n onClose?: () => void;\n}\n\nexport const SlideUpAnimation = keyframes`\n 0% {\n translate(-50%, -100%);\n bottom: -49px;\n }\n 100% {\n translate(-50%, 0);\n bottom: 49px;\n }\n`;\n\nconst Singleton = styled.div<{ hasError?: boolean }>`\n position: fixed;\n bottom: 49px;\n left: 50%;\n transform: translate(-50%, 0);\n z-index: 20;\n\n padding: 25px 25px 22px;\n\n background: ${({ theme, hasError }) => (hasError ? theme.lightDangerColor : theme.lightPrimaryColor)};\n border: 1px solid ${({ theme }) => theme.greyColor20};\n box-shadow: 0 1px 2px ${({ theme }) => theme.shadowColor};\n border-radius: 8px;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n\n animation: ${SlideUpAnimation} 0.25s linear;\n`;\n\nconst Title = styled(H5)<{ hasError?: boolean }>`\n color: ${({ theme, hasError }) => (hasError ? theme.dangerColor : theme.primaryColor)};\n\n font-style: normal;\n font-weight: bold;\n font-size: 15px;\n line-height: 18px;\n`;\n\nconst Text = styled.div`\n color: ${({ theme }) => theme.mediumPrimaryColor};\n\n font-style: normal;\n font-weight: normal;\n font-size: 14px;\n line-height: 17px;\n margin-top: 5px;\n`;\n\nconst CloseButton = styled(Button)`\n margin-left: 10px;\n`;\n\nconst SingletonCard: React.FC = (props) => (\n \n {props.hasError && }\n
\n {props.title}\n {props.text && {props.text}}\n
\n {props.onClose && (\n \n \n \n )}\n
\n);\n\nexport default SingletonCard;\n","import SingletonCard from \"./SingletonCard\";\n\nexport default SingletonCard;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Reducer, useReducer, useMemo } from \"react\";\nimport { ActionType } from \"typesafe-actions\";\n\nfunction useTypesafeReducer any }>(\n reducer: Reducer>,\n initialState: StateShape,\n actions: Actions\n): [StateShape, Actions] {\n const [state, dispatch] = useReducer(reducer, initialState);\n const boundActions = useMemo(() => {\n function bindActionCreator(actionCreator: (...args: any[]) => any, dispatcher: typeof dispatch) {\n return function (this: any) {\n return dispatcher(\n // eslint-disable-next-line prefer-rest-params\n actionCreator.apply(this as any, arguments as any as any[])\n );\n };\n }\n\n const newActions = Object.keys(actions).reduce((a, action) => {\n a[action] = bindActionCreator(actions[action], dispatch);\n return a;\n }, {} as { [key: string]: (...args: any[]) => any });\n return newActions;\n }, [dispatch, actions]);\n return [state, boundActions as Actions];\n}\n\nexport default useTypesafeReducer;\n","import { ActionType, createAction, createReducer } from \"typesafe-actions\";\n\nimport { Notification, NotificationServiceState } from \"./types\";\n\nexport const actions = {\n addNotification: createAction(\"ADD_NOTIFICATION\")(),\n deleteNotificationById: createAction(\"DELETE_NOTIFICATION_BY_ID\")(),\n clearAll: createAction(\"CLEAR_ALL\")(),\n};\n\ntype Actions = ActionType;\n\nfunction removeNotification(notifications: Notification[], notificationId: string | number): Notification[] {\n return notifications.filter((n) => n.id !== notificationId);\n}\n\nfunction findNotification(notifications: Notification[], notification: Notification): Notification | undefined {\n return notifications.find((n) => n.id === notification.id);\n}\n\nexport const initialState: NotificationServiceState = {\n notifications: [],\n};\n\nexport const notificationServiceReducer = createReducer(initialState)\n .handleAction(actions.addNotification, (state, action): NotificationServiceState => {\n if (findNotification(state.notifications, action.payload)) {\n return state;\n }\n\n const notifications = [action.payload].concat(state.notifications);\n return {\n ...state,\n notifications,\n };\n })\n .handleAction(actions.deleteNotificationById, (state, action): NotificationServiceState => {\n const notifications = removeNotification(state.notifications, action.payload);\n\n return {\n ...state,\n notifications,\n };\n })\n .handleAction(\n actions.clearAll,\n (state, _): NotificationServiceState => ({\n ...state,\n notifications: [],\n })\n );\n","import React, { useContext, useEffect, useMemo } from \"react\";\n\nimport SingletonCard from \"components/SingletonCard\";\n\nimport useTypesafeReducer from \"hooks/useTypesafeReducer\";\n\nimport { actions, initialState, notificationServiceReducer } from \"./reducer\";\nimport { Notification, NotificationServiceApi, NotificationServiceState } from \"./types\";\n\nconst notificationServiceContext = React.createContext(null);\n\nfunction NotificationService({ children }: { children: React.ReactNode }) {\n const [state, { addNotification, clearAll, deleteNotificationById }] = useTypesafeReducer<\n NotificationServiceState,\n typeof actions\n >(notificationServiceReducer, initialState, actions);\n\n const notificationService: NotificationServiceApi = useMemo(\n () => ({\n addNotification,\n deleteNotificationById,\n clearAll,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n const firstNotification = state.notifications && state.notifications.length ? state.notifications[0] : null;\n\n return (\n <>\n {children}\n {firstNotification ? (\n // Show only first notification\n {\n deleteNotificationById(firstNotification.id);\n firstNotification.onClose?.();\n }\n }\n />\n ) : null}\n \n );\n}\n\nexport const useNotificationService: (\n notification?: Notification,\n dependencies?: []\n) => {\n registerNotification: (notification: Notification) => void;\n unregisterAllNotifications: () => void;\n unregisterNotificationById: (notificationId: string | number) => void;\n} = (notification, dependencies) => {\n const notificationService = useContext(notificationServiceContext);\n if (!notificationService) {\n throw new Error(\"useNotificationService must be used within a NotificationService.\");\n }\n\n useEffect(() => {\n if (notification) {\n notificationService.addNotification(notification);\n }\n return () => {\n if (notification) {\n notificationService.deleteNotificationById(notification.id);\n }\n };\n // eslint-disable-next-line\n }, [notification, notificationService, ...(dependencies || [])]);\n\n return {\n registerNotification: notificationService.addNotification,\n unregisterNotificationById: notificationService.deleteNotificationById,\n unregisterAllNotifications: notificationService.clearAll,\n };\n};\n\nexport default React.memo(NotificationService);\n","import { useState } from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { useNotificationService } from \"./services/NotificationOld\";\n\nconst useLoadingState = (): {\n isLoading: boolean;\n startAction: ({ action, feedbackAction }: { action: () => void; feedbackAction?: () => void }) => Promise;\n showFeedback: boolean;\n} => {\n const { formatMessage } = useIntl();\n const { registerNotification } = useNotificationService();\n const [isLoading, setIsLoading] = useState(false);\n const [showFeedback, setShowFeedback] = useState(false);\n\n const errorNotificationId = \"error.somethingWentWrong\";\n const errorNotification = (message: string) => ({\n isError: true,\n title: formatMessage({ id: `notifications.${errorNotificationId}` }),\n text: message,\n id: errorNotificationId,\n });\n\n const startAction = async ({ action, feedbackAction }: { action: () => void; feedbackAction?: () => void }) => {\n try {\n setIsLoading(true);\n setShowFeedback(false);\n\n await action();\n\n setIsLoading(false);\n setShowFeedback(true);\n\n setTimeout(() => {\n setShowFeedback(false);\n if (feedbackAction) {\n feedbackAction();\n }\n }, 2000);\n } catch (error) {\n const message = error?.message || formatMessage({ id: \"notifications.error.noMessage\" });\n\n setIsLoading(false);\n registerNotification(errorNotification(message));\n }\n };\n\n return { isLoading, showFeedback, startAction };\n};\n\nexport default useLoadingState;\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { LoadingButton } from \"components\";\nimport { Button } from \"components/base/Button\";\nimport Modal from \"components/Modal\";\n\nimport useLoadingState from \"../../hooks/useLoadingState\";\n\nconst Content = styled.div`\n width: 585px;\n font-size: 14px;\n line-height: 28px;\n padding: 25px;\n white-space: pre-line;\n`;\n\nconst ButtonContent = styled.div`\n margin-top: 26px;\n display: flex;\n justify-content: flex-end;\n`;\n\nconst ButtonWithMargin = styled(Button)`\n margin-right: 12px;\n`;\n\nexport interface ConfirmationModalProps {\n onClose: () => void;\n title: string;\n text: string;\n submitButtonText: string;\n onSubmit: () => void;\n submitButtonDataId?: string;\n cancelButtonText?: string;\n}\n\nexport const ConfirmationModal: React.FC = ({\n onClose,\n title,\n text,\n onSubmit,\n submitButtonText,\n submitButtonDataId,\n cancelButtonText,\n}) => {\n const { isLoading, startAction } = useLoadingState();\n const onSubmitBtnClick = () => startAction({ action: () => onSubmit() });\n\n return (\n }>\n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { ActionType, createAction, createReducer } from \"typesafe-actions\";\n\nimport { ConfirmationModalOptions, ConfirmationModalState } from \"./types\";\n\nexport const actions = {\n openConfirmationModal: createAction(\"OPEN_CONFIRMATION_MODAL\")(),\n closeConfirmationModal: createAction(\"CLOSE_CONFIRMATION_MODAL\")(),\n};\n\ntype Actions = ActionType;\n\nexport const initialState: ConfirmationModalState = {\n isOpen: false,\n confirmationModal: null,\n};\n\nexport const confirmationModalServiceReducer = createReducer(initialState)\n .handleAction(actions.openConfirmationModal, (state, action): ConfirmationModalState => {\n return {\n ...state,\n isOpen: true,\n confirmationModal: action.payload,\n };\n })\n .handleAction(actions.closeConfirmationModal, (state): ConfirmationModalState => {\n return {\n ...state,\n isOpen: false,\n confirmationModal: null,\n };\n });\n","import React, { useContext, useEffect, useMemo } from \"react\";\n\nimport { ConfirmationModal } from \"components/ConfirmationModal\";\n\nimport useTypesafeReducer from \"hooks/useTypesafeReducer\";\n\nimport { actions, initialState, confirmationModalServiceReducer } from \"./reducer\";\nimport { ConfirmationModalOptions, ConfirmationModalServiceApi, ConfirmationModalState } from \"./types\";\n\nconst ConfirmationModalServiceContext = React.createContext(undefined);\n\nexport const useConfirmationModalService: (confirmationModal?: ConfirmationModalOptions) => {\n openConfirmationModal: (confirmationModal: ConfirmationModalOptions) => void;\n closeConfirmationModal: () => void;\n} = (confirmationModal) => {\n const confirmationModalService = useContext(ConfirmationModalServiceContext);\n if (!confirmationModalService) {\n throw new Error(\"useConfirmationModalService must be used within a ConfirmationModalService.\");\n }\n\n useEffect(() => {\n if (confirmationModal) {\n confirmationModalService.openConfirmationModal(confirmationModal);\n }\n return () => {\n if (confirmationModal) {\n confirmationModalService.closeConfirmationModal();\n }\n };\n }, [confirmationModal, confirmationModalService]);\n\n return useMemo(\n () => ({\n openConfirmationModal: confirmationModalService.openConfirmationModal,\n closeConfirmationModal: confirmationModalService.closeConfirmationModal,\n }),\n [confirmationModalService]\n );\n};\n\nexport const ConfirmationModalService = ({ children }: { children: React.ReactNode }) => {\n const [state, { openConfirmationModal, closeConfirmationModal }] = useTypesafeReducer<\n ConfirmationModalState,\n typeof actions\n >(confirmationModalServiceReducer, initialState, actions);\n\n const confirmationModalService: ConfirmationModalServiceApi = useMemo(\n () => ({\n openConfirmationModal,\n closeConfirmationModal,\n }),\n [closeConfirmationModal, openConfirmationModal]\n );\n\n return (\n <>\n \n {children}\n \n {state.isOpen && state.confirmationModal ? (\n \n ) : null}\n \n );\n};\n","import React, { useContext, useMemo, useState } from \"react\";\nimport { useDeepCompareEffect } from \"react-use\";\n\nimport { useConfig } from \"config\";\n\nimport { Feature, FeatureItem, FeatureServiceApi } from \"./types\";\n\nconst featureServiceContext = React.createContext(null);\n\nexport function FeatureService({ children }: { children: React.ReactNode }) {\n const [additionFeatures, setAdditionFeatures] = useState([]);\n const { features: instanceWideFeatures } = useConfig();\n\n const featureMethods = useMemo(() => {\n return {\n registerFeature: (newFeatures: Feature[]): void =>\n setAdditionFeatures((oldFeatures) => [...oldFeatures, ...newFeatures]),\n unregisterFeature: (unregisteredFeatures: FeatureItem[]): void => {\n setAdditionFeatures((oldFeatures) =>\n oldFeatures.filter((feature) => !unregisteredFeatures.includes(feature.id))\n );\n },\n };\n }, []);\n\n const features = useMemo(\n () => [...instanceWideFeatures, ...additionFeatures],\n [instanceWideFeatures, additionFeatures]\n );\n\n const featureService = useMemo(\n () => ({\n features,\n hasFeature: (featureId: FeatureItem): boolean => !!features.find((feature) => feature.id === featureId),\n ...featureMethods,\n }),\n [features, featureMethods]\n );\n\n return {children};\n}\n\nexport const useFeatureService: () => FeatureServiceApi = () => {\n const featureService = useContext(featureServiceContext);\n if (!featureService) {\n throw new Error(\"useFeatureService must be used within a FeatureService.\");\n }\n return featureService;\n};\n\nexport const WithFeature: React.FC<{ featureId: FeatureItem }> = ({ featureId, children }) => {\n const { hasFeature } = useFeatureService();\n return hasFeature(featureId) ? <>{children} : null;\n};\n\nexport const useFeatureRegisterValues = (props?: Feature[] | null): void => {\n const { registerFeature, unregisterFeature } = useFeatureService();\n\n useDeepCompareEffect(() => {\n if (props) {\n registerFeature(props);\n\n return () => unregisterFeature(props.map((feature: Feature) => feature.id));\n }\n\n return;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props]);\n};\n","import { uniqueId } from \"lodash\";\nimport { useCallback, useMemo } from \"react\";\nimport { createGlobalState } from \"react-use\";\n\nimport { FormChangeTrackerServiceApi } from \"./types\";\n\nexport const useChangedFormsById = createGlobalState>({});\n\nexport const useUniqueFormId = (formId?: string) => useMemo(() => formId ?? uniqueId(\"form_\"), [formId]);\n\nexport const useFormChangeTrackerService = (): FormChangeTrackerServiceApi => {\n const [changedFormsById, setChangedFormsById] = useChangedFormsById();\n\n const clearAllFormChanges = useCallback(() => {\n setChangedFormsById({});\n }, [setChangedFormsById]);\n\n const clearFormChange = useCallback(\n (id: string) => {\n setChangedFormsById({ ...changedFormsById, [id]: false });\n },\n [changedFormsById, setChangedFormsById]\n );\n\n const trackFormChange = useCallback(\n (id: string, changed: boolean) => {\n if (Boolean(changedFormsById?.[id]) !== changed) {\n setChangedFormsById({ ...changedFormsById, [id]: changed });\n }\n },\n [changedFormsById, setChangedFormsById]\n );\n\n return {\n trackFormChange,\n clearFormChange,\n clearAllFormChanges,\n };\n};\n","import type { Transition } from \"history\";\n\nimport React, { useCallback, useMemo } from \"react\";\n\nimport { useBlocker } from \"hooks/router/useBlocker\";\n\nimport { useConfirmationModalService } from \"../ConfirmationModal\";\nimport { useChangedFormsById } from \"./hooks\";\n\nexport const FormChangeTrackerService: React.FC = ({ children }) => {\n const [changedFormsById, setChangedFormsById] = useChangedFormsById();\n const { openConfirmationModal, closeConfirmationModal } = useConfirmationModalService();\n\n const blocker = useCallback(\n (tx: Transition) => {\n openConfirmationModal({\n title: \"form.discardChanges\",\n text: \"form.discardChangesConfirmation\",\n submitButtonText: \"form.discardChanges\",\n onSubmit: () => {\n setChangedFormsById({});\n closeConfirmationModal();\n tx.retry();\n },\n });\n },\n [closeConfirmationModal, openConfirmationModal, setChangedFormsById]\n );\n\n const formsChanged = useMemo(\n () => Object.values(changedFormsById ?? {}).some((formChanged) => formChanged),\n [changedFormsById]\n );\n\n useBlocker(blocker, formsChanged);\n\n return <>{children};\n};\n","import type { Blocker, History, Transition } from \"history\";\n\nimport { ContextType, useContext, useEffect } from \"react\";\nimport { Navigator as BaseNavigator, UNSAFE_NavigationContext as NavigationContext } from \"react-router-dom\";\n\ninterface Navigator extends BaseNavigator {\n block: History[\"block\"];\n}\n\ntype NavigationContextWithBlock = ContextType & { navigator: Navigator };\n\n/**\n * @source https://github.com/remix-run/react-router/commit/256cad70d3fd4500b1abcfea66f3ee622fb90874\n */\nexport const useBlocker = (blocker: Blocker, block = true) => {\n const { navigator } = useContext(NavigationContext) as NavigationContextWithBlock;\n\n useEffect(() => {\n if (!block) {\n return;\n }\n\n const unblock = navigator.block((tx: Transition) => {\n const autoUnblockingTx = {\n ...tx,\n retry() {\n // Automatically unblock the transition so it can play all the way\n // through before retrying it. TODO: Figure out how to re-enable\n // this block if the transition is cancelled for some reason.\n unblock();\n tx.retry();\n },\n };\n\n blocker(autoUnblockingTx);\n });\n\n return unblock;\n }, [navigator, blocker, block]);\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"box--m-none\":\"Box_box--m-none__0Yruj\",\"box--m-xs\":\"Box_box--m-xs__4pCyf\",\"box--m-sm\":\"Box_box--m-sm__quoQc\",\"box--m-md\":\"Box_box--m-md__qxG+3\",\"box--m-lg\":\"Box_box--m-lg__VG1Ul\",\"box--m-xl\":\"Box_box--m-xl__zX2cP\",\"box--m-2xl\":\"Box_box--m-2xl__l06aW\",\"box--mx-none\":\"Box_box--mx-none__bkOHF\",\"box--mx-xs\":\"Box_box--mx-xs__63F-w\",\"box--mx-sm\":\"Box_box--mx-sm__3MXRr\",\"box--mx-md\":\"Box_box--mx-md__MQd-G\",\"box--mx-lg\":\"Box_box--mx-lg__CU1fh\",\"box--mx-xl\":\"Box_box--mx-xl__S3CL-\",\"box--mx-2xl\":\"Box_box--mx-2xl__YuwQh\",\"box--my-none\":\"Box_box--my-none__vyJ09\",\"box--my-xs\":\"Box_box--my-xs__y05WF\",\"box--my-sm\":\"Box_box--my-sm__vFrZa\",\"box--my-md\":\"Box_box--my-md__BtT2J\",\"box--my-lg\":\"Box_box--my-lg__RkWSX\",\"box--my-xl\":\"Box_box--my-xl__VBz+k\",\"box--my-2xl\":\"Box_box--my-2xl__K1ZR8\",\"box--mt-none\":\"Box_box--mt-none__YQWH1\",\"box--mt-xs\":\"Box_box--mt-xs__26lfd\",\"box--mt-sm\":\"Box_box--mt-sm__zUJB3\",\"box--mt-md\":\"Box_box--mt-md__0D97L\",\"box--mt-lg\":\"Box_box--mt-lg__X1yTW\",\"box--mt-xl\":\"Box_box--mt-xl__2M-qN\",\"box--mt-2xl\":\"Box_box--mt-2xl__SlKIw\",\"box--mr-none\":\"Box_box--mr-none__4U3-g\",\"box--mr-xs\":\"Box_box--mr-xs__OQmcG\",\"box--mr-sm\":\"Box_box--mr-sm__fzcnB\",\"box--mr-md\":\"Box_box--mr-md__KEiZj\",\"box--mr-lg\":\"Box_box--mr-lg__5qATv\",\"box--mr-xl\":\"Box_box--mr-xl__s1VN0\",\"box--mr-2xl\":\"Box_box--mr-2xl__KMWPf\",\"box--mb-none\":\"Box_box--mb-none__KuQuS\",\"box--mb-xs\":\"Box_box--mb-xs__Uijx0\",\"box--mb-sm\":\"Box_box--mb-sm__39bA5\",\"box--mb-md\":\"Box_box--mb-md__ThucI\",\"box--mb-lg\":\"Box_box--mb-lg__Op2G3\",\"box--mb-xl\":\"Box_box--mb-xl__spUCG\",\"box--mb-2xl\":\"Box_box--mb-2xl__7YsRr\",\"box--ml-none\":\"Box_box--ml-none__izJ+5\",\"box--ml-xs\":\"Box_box--ml-xs__5JCFx\",\"box--ml-sm\":\"Box_box--ml-sm__ggml4\",\"box--ml-md\":\"Box_box--ml-md__4I9+r\",\"box--ml-lg\":\"Box_box--ml-lg__980CT\",\"box--ml-xl\":\"Box_box--ml-xl__C4hki\",\"box--ml-2xl\":\"Box_box--ml-2xl__lzMm6\",\"box--p-none\":\"Box_box--p-none__1s9JB\",\"box--p-xs\":\"Box_box--p-xs__KQKl4\",\"box--p-sm\":\"Box_box--p-sm__O5rlO\",\"box--p-md\":\"Box_box--p-md__PqgQk\",\"box--p-lg\":\"Box_box--p-lg__lejU7\",\"box--p-xl\":\"Box_box--p-xl__oehcY\",\"box--p-2xl\":\"Box_box--p-2xl__6Cysr\",\"box--px-none\":\"Box_box--px-none__XU4Xf\",\"box--px-xs\":\"Box_box--px-xs__YsUai\",\"box--px-sm\":\"Box_box--px-sm__UebMz\",\"box--px-md\":\"Box_box--px-md__8WX-I\",\"box--px-lg\":\"Box_box--px-lg__0UCl6\",\"box--px-xl\":\"Box_box--px-xl__vDy4p\",\"box--px-2xl\":\"Box_box--px-2xl__bkvxo\",\"box--py-none\":\"Box_box--py-none__mAMgN\",\"box--py-xs\":\"Box_box--py-xs__P-bIb\",\"box--py-sm\":\"Box_box--py-sm__oN9O2\",\"box--py-md\":\"Box_box--py-md__Ws3LQ\",\"box--py-lg\":\"Box_box--py-lg__hPQSl\",\"box--py-xl\":\"Box_box--py-xl__jpPmF\",\"box--py-2xl\":\"Box_box--py-2xl__xYoPj\",\"box--pt-none\":\"Box_box--pt-none__58I9T\",\"box--pt-xs\":\"Box_box--pt-xs__8S5PP\",\"box--pt-sm\":\"Box_box--pt-sm__Mt+ND\",\"box--pt-md\":\"Box_box--pt-md__VRG4i\",\"box--pt-lg\":\"Box_box--pt-lg__0Q56O\",\"box--pt-xl\":\"Box_box--pt-xl__GO0ig\",\"box--pt-2xl\":\"Box_box--pt-2xl__vwN1i\",\"box--pr-none\":\"Box_box--pr-none__CAqJF\",\"box--pr-xs\":\"Box_box--pr-xs__eToaV\",\"box--pr-sm\":\"Box_box--pr-sm__fLfJ0\",\"box--pr-md\":\"Box_box--pr-md__KR+l9\",\"box--pr-lg\":\"Box_box--pr-lg__nQTw9\",\"box--pr-xl\":\"Box_box--pr-xl__4z-nM\",\"box--pr-2xl\":\"Box_box--pr-2xl__WtqCQ\",\"box--pb-none\":\"Box_box--pb-none__npJBC\",\"box--pb-xs\":\"Box_box--pb-xs__1SWi0\",\"box--pb-sm\":\"Box_box--pb-sm__hFKtE\",\"box--pb-md\":\"Box_box--pb-md__jNyLc\",\"box--pb-lg\":\"Box_box--pb-lg__E37NW\",\"box--pb-xl\":\"Box_box--pb-xl__t74xK\",\"box--pb-2xl\":\"Box_box--pb-2xl__ptuwA\",\"box--pl-none\":\"Box_box--pl-none__4aFIp\",\"box--pl-xs\":\"Box_box--pl-xs__oYZCd\",\"box--pl-sm\":\"Box_box--pl-sm__JFJ31\",\"box--pl-md\":\"Box_box--pl-md__PG1i0\",\"box--pl-lg\":\"Box_box--pl-lg__EzfCr\",\"box--pl-xl\":\"Box_box--pl-xl__BeR5T\",\"box--pl-2xl\":\"Box_box--pl-2xl__VUZGK\"};","import classNames from \"classnames\";\nimport React from \"react\";\nimport { PropsWithChildren } from \"react\";\n\nimport styles from \"./Box.module.scss\";\n\ntype SpacingSize = \"none\" | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\";\n\ninterface BoxProps {\n as?: keyof HTMLElementTagNameMap;\n className?: string;\n p?: SpacingSize;\n py?: SpacingSize;\n px?: SpacingSize;\n pt?: SpacingSize;\n pr?: SpacingSize;\n pb?: SpacingSize;\n pl?: SpacingSize;\n m?: SpacingSize;\n my?: SpacingSize;\n mx?: SpacingSize;\n mt?: SpacingSize;\n mr?: SpacingSize;\n mb?: SpacingSize;\n ml?: SpacingSize;\n}\n\nfunction toClassName(key: keyof Omit, value: SpacingSize | undefined) {\n if (!value) {\n return undefined;\n }\n return styles[`box--${key}-${value}`];\n}\n\nconst keys = [\"m\", \"my\", \"mx\", \"mt\", \"mr\", \"mb\", \"ml\", \"p\", \"py\", \"px\", \"pt\", \"pr\", \"pb\", \"pl\"] as const;\n\nexport const Box: React.FC> = ({\n as = \"div\",\n children,\n className: classNameProp,\n ...props\n}) => {\n const className = classNames(classNameProp, ...keys.map((key) => toClassName(key, props[key])));\n\n return React.createElement(as, { className, children });\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"FlexContainer_container__W2aXK\",\"directionRow\":\"FlexContainer_directionRow__8rnWY\",\"directionColumn\":\"FlexContainer_directionColumn__aMX4d\",\"directionColumnReverse\":\"FlexContainer_directionColumnReverse__XNtCT\",\"directionRowReverse\":\"FlexContainer_directionRowReverse__Ilpjv\",\"gapXs\":\"FlexContainer_gapXs__mI6Cc\",\"gapSm\":\"FlexContainer_gapSm__tDjGA\",\"gapMd\":\"FlexContainer_gapMd__GYlXP\",\"gapLg\":\"FlexContainer_gapLg__1CXtO\",\"gapXl\":\"FlexContainer_gapXl__ckFt5\",\"gap2xl\":\"FlexContainer_gap2xl__fHp6d\",\"alignItemsStart\":\"FlexContainer_alignItemsStart__hXFIW\",\"alignItemsEnd\":\"FlexContainer_alignItemsEnd__t5sAg\",\"alignItemsCenter\":\"FlexContainer_alignItemsCenter__NZ4gR\",\"alignItemsBaseline\":\"FlexContainer_alignItemsBaseline__olTAn\",\"alignItemsStretch\":\"FlexContainer_alignItemsStretch__MmJur\",\"justifyContentStart\":\"FlexContainer_justifyContentStart__n5oii\",\"justifyContentEnd\":\"FlexContainer_justifyContentEnd__GsIbW\",\"justifyContentCenter\":\"FlexContainer_justifyContentCenter__rbmYy\",\"justifyContentBetween\":\"FlexContainer_justifyContentBetween__CZOig\",\"justifyContentAround\":\"FlexContainer_justifyContentAround__CfnNi\",\"justifyContentEvenly\":\"FlexContainer_justifyContentEvenly__WJtFm\"};","import classNames from \"classnames\";\nimport React, { HTMLAttributes } from \"react\";\n\nimport styles from \"./FlexContainer.module.scss\";\n\ninterface FlexContainerProps {\n className?: string;\n /**\n * The flex-direction css property\n */\n direction?: \"row\" | \"column\" | \"row-reverse\" | \"column-reverse\";\n /**\n * gap between the flex items - defaults to `md` if not provided. None means no gap is applied, the others map to the respective scss spacing variable.\n */\n gap?: \"none\" | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\";\n /**\n * The align-items css property\n */\n alignItems?: \"flex-start\" | \"flex-end\" | \"center\" | \"baseline\" | \"stretch\";\n /**\n * The justify-content css property\n */\n justifyContent?: \"flex-start\" | \"flex-end\" | \"center\" | \"space-between\" | \"space-around\" | \"space-evenly\";\n}\n\n/**\n * Renders a div element which layouts its children as flex items as specified by the props.\n * Children of a `FlexContainer` can but don't have to be `FlexItem` elements.\n */\nexport const FlexContainer: React.FC>> = ({\n className,\n direction = \"row\",\n gap = \"md\",\n alignItems = \"stretch\",\n justifyContent = \"flex-start\",\n children,\n ...otherProps\n}) => {\n const fullClassName = classNames(\n {\n [styles.directionRow]: direction === \"row\",\n [styles.directionColumn]: direction === \"column\",\n [styles.directionRowReverse]: direction === \"row-reverse\",\n [styles.directionColumnReverse]: direction === \"column-reverse\",\n [styles.gapXs]: gap === \"xs\",\n [styles.gapSm]: gap === \"sm\",\n [styles.gapMd]: gap === \"md\",\n [styles.gapLg]: gap === \"lg\",\n [styles.gapXl]: gap === \"xl\",\n [styles.gap2xl]: gap === \"2xl\",\n [styles.alignItemsStart]: alignItems === \"flex-start\",\n [styles.alignItemsEnd]: alignItems === \"flex-end\",\n [styles.alignItemsCenter]: alignItems === \"center\",\n [styles.alignItemsBaseline]: alignItems === \"baseline\",\n [styles.alignItemsStretch]: alignItems === \"stretch\",\n [styles.justifyContentStart]: justifyContent === \"flex-start\",\n [styles.justifyContentEnd]: justifyContent === \"flex-end\",\n [styles.justifyContentCenter]: justifyContent === \"center\",\n [styles.justifyContentBetween]: justifyContent === \"space-between\",\n [styles.justifyContentAround]: justifyContent === \"space-around\",\n [styles.justifyContentEvenly]: justifyContent === \"space-evenly\",\n },\n styles.container,\n className\n );\n\n return (\n
\n {children}\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"alignSelfStart\":\"FlexItem_alignSelfStart__aIhcz\",\"alignSelfEnd\":\"FlexItem_alignSelfEnd__oh7Vg\",\"alignSelfCenter\":\"FlexItem_alignSelfCenter__x48Oz\",\"alignSelfBaseline\":\"FlexItem_alignSelfBaseline__dgUqs\",\"alignSelfStretch\":\"FlexItem_alignSelfStretch__gK3wn\",\"grow\":\"FlexItem_grow__w3ez2\"};","import classNames from \"classnames\";\nimport React, { HTMLAttributes } from \"react\";\n\nimport styles from \"./FlexItem.module.scss\";\n\ninterface FlexItemProps {\n className?: string;\n /**\n * Sets `flex-grow` to 1 if truthy\n */\n grow?: boolean;\n /**\n * The `align-self` css property\n */\n alignSelf?: \"flex-start\" | \"flex-end\" | \"center\" | \"baseline\" | \"stretch\";\n}\n\n/**\n * Renders a div element which sets css properties for flex children as given by the props.\n * This component can be used within a `FlexContainer` parent if grow or self-align props should be set, but it can also be omitted\n * in case no special flex properties are required.\n */\nexport const FlexItem: React.FC>> = ({\n className,\n grow,\n alignSelf,\n children,\n ...otherProps\n}) => {\n const fullClassName = classNames(\n {\n [styles.grow]: grow,\n [styles.alignSelfStart]: alignSelf === \"flex-start\",\n [styles.alignSelfEnd]: alignSelf === \"flex-end\",\n [styles.alignSelfCenter]: alignSelf === \"center\",\n [styles.alignSelfBaseline]: alignSelf === \"baseline\",\n [styles.alignSelfStretch]: alignSelf === \"stretch\",\n },\n className\n );\n\n return (\n
\n {children}\n
\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"heading\":\"Heading_heading__o2b6y\",\"inverse\":\"Heading_inverse__GnTkh\",\"sm\":\"Heading_sm__jbUeo\",\"md\":\"Heading_md__sYxKk\",\"lg\":\"Heading_lg__OjADD\",\"xl\":\"Heading_xl__fsyfF\",\"darkBlue\":\"Heading_darkBlue__4h08R\",\"blue\":\"Heading_blue__+Yyg3\",\"centered\":\"Heading_centered__uXQsI\"};","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport styles from \"./Heading.module.scss\";\n\ntype HeadingSize = \"sm\" | \"md\" | \"lg\" | \"xl\";\ntype HeadingColor = \"darkBlue\" | \"blue\";\ntype HeadingElementType = \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n\ninterface HeadingProps {\n className?: string;\n centered?: boolean;\n as: HeadingElementType;\n size?: HeadingSize;\n color?: HeadingColor;\n inverseColor?: boolean;\n}\n\nconst sizes: Record = {\n sm: styles.sm,\n md: styles.md,\n lg: styles.lg,\n xl: styles.xl,\n};\n\nconst colors: Record = {\n darkBlue: styles.darkBlue,\n blue: styles.blue,\n};\n\nconst getHeadingClassNames = ({\n size,\n color,\n centered,\n inverseColor,\n}: Required>) =>\n classNames(styles.heading, sizes[size], colors[color], {\n [styles.centered]: centered,\n [styles.inverse]: inverseColor,\n });\n\nexport const Heading: React.FC> = React.memo(\n ({\n as,\n centered = false,\n children,\n className: classNameProp,\n size = \"md\",\n color = \"darkBlue\",\n inverseColor = false,\n ...remainingProps\n }) => {\n const className = classNames(getHeadingClassNames({ centered, size, color, inverseColor }), classNameProp);\n\n return React.createElement(as, {\n ...remainingProps,\n className,\n children,\n });\n }\n);\nHeading.displayName = \"Heading\";\n","// extracted by mini-css-extract-plugin\nexport default {\"icon\":\"Icon_icon__DouW-\",\"icon--withBackground\":\"Icon_icon--withBackground__zHuY3\",\"icon--primary\":\"Icon_icon--primary__mX7hn\",\"icon--disabled\":\"Icon_icon--disabled__x+KkB\",\"icon--action\":\"Icon_icon--action__9Gkwn\",\"icon--success\":\"Icon_icon--success__KrEpM\",\"icon--error\":\"Icon_icon--error__TrDtI\",\"icon--warning\":\"Icon_icon--warning__0Y0DE\",\"icon--affordance\":\"Icon_icon--affordance__+C9XI\",\"xs\":\"Icon_xs__GJosk\",\"sm\":\"Icon_sm__FRQaZ\",\"md\":\"Icon_md__CS0FU\",\"lg\":\"Icon_lg__brfzv\",\"xl\":\"Icon_xl__-7ULs\"};","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M18.694 10.84h-7.546l2.816-2.816a.526.526 0 0 0 .132-.352.526.526 0 0 0-.132-.352l-1.188-1.166A.485.485 0 0 0 12.424 6a.485.485 0 0 0-.352.154l-5.918 5.918a.485.485 0 0 0-.154.352c0 .132.051.25.154.352l5.918 5.918c.103.103.22.154.352.154.132 0 .25-.051.352-.154l1.188-1.166a.526.526 0 0 0 .132-.352.526.526 0 0 0-.132-.352L10.95 13.81h7.744a.492.492 0 0 0 .506-.506v-1.98a.492.492 0 0 0-.506-.484Z\"\n});\n\nfunction SvgArrowLeftIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"arrowLeft\",\n role: \"img\",\n viewBox: \"5 5 14 14\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowLeftIcon);\nexport default __webpack_public_path__ + \"static/media/arrowLeftIcon.a92e64c0718db7c43db6e54edeb2a4f9.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M6.506 10.84h7.546l-2.816-2.816a.526.526 0 0 1-.132-.352c0-.132.044-.25.132-.352l1.188-1.166A.485.485 0 0 1 12.776 6c.132 0 .25.051.352.154l5.918 5.918c.103.103.154.22.154.352 0 .132-.051.25-.154.352l-5.918 5.918a.484.484 0 0 1-.352.154.484.484 0 0 1-.352-.154l-1.188-1.166a.526.526 0 0 1-.132-.352c0-.132.044-.25.132-.352l3.014-3.014H6.506A.492.492 0 0 1 6 13.304v-1.98a.492.492 0 0 1 .506-.484Z\"\n});\n\nfunction SvgArrowRightIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"arrowRight\",\n role: \"img\",\n viewBox: \"5 5 14 14\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowRightIcon);\nexport default __webpack_public_path__ + \"static/media/arrowRightIcon.851c84005353dfe8df70c8f380db9b55.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1Zm-1-2V4H5v16h14ZM7 6h4v4H7V6Zm0 6h10v2H7v-2Zm0 4h10v2H7v-2Zm6-9h4v2h-4V7Z\"\n});\n\nfunction SvgArticleIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"article\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArticleIcon);\nexport default __webpack_public_path__ + \"static/media/articleIcon.f41384b9ea31a36074bf794fbe9f4877.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M17 3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2v2h6V1h2v2ZM4 9v10h16V9H4Zm2 4h5v4H6v-4Z\"\n});\n\nfunction SvgCalendarIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"calendar\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCalendarIcon);\nexport default __webpack_public_path__ + \"static/media/calendarIcon.1e6cd3197031000548648abda3074ee0.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"m10 15.17 9.193-9.191 1.414 1.414-10.606 10.606-6.364-6.364 1.414-1.414 4.95 4.95Z\"\n});\n\nfunction SvgCheckIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"checkLine\",\n role: \"img\",\n viewBox: \"4 4 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCheckIcon);\nexport default __webpack_public_path__ + \"static/media/checkIcon.1e28627bc2aa437b0e876a0afe66c131.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41Z\"\n});\n\nfunction SvgChevronDownIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"chevronDown\",\n role: \"img\",\n viewBox: \"4 4 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChevronDownIcon);\nexport default __webpack_public_path__ + \"static/media/chevronDownIcon.929c1bfb95793fe393faaedd59b82cd5.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"m15.705 16.885-4.58-4.59 4.58-4.59-1.41-1.41-6 6 6 6 1.41-1.41Z\"\n});\n\nfunction SvgChevronLeftIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"chevronLeft\",\n role: \"img\",\n viewBox: \"4 4 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChevronLeftIcon);\nexport default __webpack_public_path__ + \"static/media/chevronLeftIcon.2178a82e6a5afbcd3ef05d81e906874e.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.29504 16.885L12.875 12.295L8.29504 7.70498L9.70504 6.29499L15.705 12.295L9.70504 18.295L8.29504 16.885Z\",\n fill: \"currentColor\"\n});\n\nfunction SvgChevronRightIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"4 4 16 16\",\n fill: \"none\",\n \"data-icon\": \"chevronRight\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChevronRightIcon);\nexport default __webpack_public_path__ + \"static/media/chevronRightIcon.73c47d0ad5c854edffd013bff852af58.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M16.59 16 12 11.42 7.41 16 6 14.59l6-6 6 6L16.59 16Z\"\n});\n\nfunction SvgChevronUpIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"chevronUp\",\n role: \"img\",\n viewBox: \"4 4 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChevronUpIcon);\nexport default __webpack_public_path__ + \"static/media/chevronUpIcon.1d97d90d86e305c3d581fe133a9e44e3.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M12 19.5a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Zm.75-7.5V8.25h-1.5v5.25h4.5V12h-3Z\"\n});\n\nfunction SvgClockIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"clock\",\n role: \"img\",\n viewBox: \"4 4 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClockIcon);\nexport default __webpack_public_path__ + \"static/media/clockIcon.410f15944335d847ae5f7b2f84b760e3.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm1-8h4v2h-6V7h2v5Z\"\n});\n\nfunction SvgClockOutlineIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"clockOutline\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClockOutlineIcon);\nexport default __webpack_public_path__ + \"static/media/clockOutlineIcon.7031d9b59064a6447cc4094ca20484c1.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M7 6V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3v3c0 .552-.45 1-1.007 1H4.007A1 1 0 0 1 3 21l.003-14c0-.552.45-1 1.006-1H7ZM5.002 8 5 20h10V8H5.002ZM9 6h8v10h2V4H9v2Zm-2 5h6v2H7v-2Zm0 4h6v2H7v-2Z\"\n});\n\nfunction SvgCopyIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"copy\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCopyIcon);\nexport default __webpack_public_path__ + \"static/media/copyIcon.f0a746a0fd290294f4e74c2682dc0af2.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 2C18.83 1.99913 20.6049 2.62567 22.0289 3.77513C23.4528 4.92458 24.4396 6.52748 24.8247 8.31647C25.2098 10.1055 24.9699 11.9724 24.1451 13.6059C23.3202 15.2395 21.9603 16.5408 20.292 17.293C19.7588 18.4719 18.9475 19.5039 17.9279 20.3004C16.9082 21.097 15.7106 21.6343 14.4376 21.8663C13.1647 22.0984 11.8545 22.0182 10.6194 21.6327C9.38423 21.2472 8.26104 20.5678 7.34611 19.6529C6.43119 18.738 5.75184 17.6148 5.36632 16.3796C4.9808 15.1445 4.90062 13.8343 5.13266 12.5614C5.3647 11.2884 5.90203 10.0908 6.69857 9.07114C7.49511 8.05148 8.52709 7.24024 9.706 6.707C10.3401 5.30389 11.3656 4.1135 12.6593 3.27861C13.9531 2.44371 15.4602 1.99976 17 2ZM13 8C12.2121 8 11.4319 8.1552 10.7039 8.45672C9.97595 8.75825 9.31451 9.20021 8.75736 9.75736C8.20021 10.3145 7.75825 10.9759 7.45673 11.7039C7.1552 12.4319 7 13.2121 7 14C7 14.7879 7.1552 15.5681 7.45673 16.2961C7.75825 17.0241 8.20021 17.6855 8.75736 18.2426C9.31451 18.7998 9.97595 19.2417 10.7039 19.5433C11.4319 19.8448 12.2121 20 13 20C14.5913 20 16.1174 19.3679 17.2426 18.2426C18.3679 17.1174 19 15.5913 19 14C19 12.4087 18.3679 10.8826 17.2426 9.75736C16.1174 8.63214 14.5913 8 13 8ZM17 4C16.1527 3.99901 15.3148 4.17794 14.5418 4.52496C13.7688 4.87198 13.0783 5.37918 12.516 6.013C13.6463 5.94439 14.7782 6.1165 15.837 6.51795C16.8958 6.9194 17.8573 7.54105 18.6579 8.34178C19.4586 9.14252 20.0801 10.1041 20.4814 11.1629C20.8828 12.2218 21.0547 13.3537 20.986 14.484C21.8952 13.6756 22.5372 12.6099 22.8268 11.4283C23.1164 10.2467 23.04 9.00491 22.6076 7.86772C22.1753 6.73053 21.4074 5.75164 20.4059 5.06088C19.4044 4.37013 18.2166 4.00014 17 4Z\",\n fill: \"currentColor\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.9338 10.8869C11.8855 9.81015 13.4616 9.49428 14.7573 10.1158C16.4788 10.9417 17.1068 13.0455 16.1696 14.6684L14.0611 18.3151C13.9433 18.5189 13.7494 18.6675 13.522 18.7285C13.2946 18.7894 13.0524 18.7576 12.8484 18.6401L15.4011 14.2243C16.0811 13.0464 15.6263 11.5197 14.3782 10.9186C13.4417 10.4676 12.2969 10.6929 11.6051 11.4685C11.2235 11.8943 11.0092 12.4441 11.0021 13.0158C10.9949 13.5875 11.1954 14.1425 11.5662 14.5777C11.6329 14.6558 11.7046 14.7294 11.7809 14.7981L10.2907 17.3806C10.2324 17.4816 10.1548 17.5701 10.0623 17.641C9.96985 17.712 9.8643 17.7641 9.7517 17.7942C9.6391 17.8244 9.52166 17.8321 9.40609 17.8169C9.29051 17.8017 9.17906 17.7639 9.0781 17.7056L10.6959 14.9019C10.4635 14.5669 10.2967 14.1909 10.2041 13.7938L9.2127 15.5153C9.09485 15.7191 8.90096 15.8678 8.67359 15.9287C8.44622 15.9897 8.20396 15.9579 8 15.8404L10.5637 11.3997C10.6704 11.2174 10.7944 11.0456 10.9338 10.8869ZM13.8928 12.3004C14.5103 12.657 14.7235 13.45 14.3662 14.0671L11.9078 18.3145C11.79 18.5183 11.5961 18.667 11.3687 18.7279C11.1413 18.7889 10.8991 18.7571 10.6951 18.6396L12.9778 14.6852C12.7947 14.6466 12.6221 14.5688 12.4719 14.457C12.3218 14.3453 12.1977 14.2023 12.1082 14.0379C12.0187 13.8735 11.966 13.6916 11.9536 13.5049C11.9413 13.3181 11.9696 13.1309 12.0366 12.9561C12.1037 12.7814 12.2078 12.6233 12.342 12.4927C12.4761 12.3621 12.6369 12.2622 12.8134 12.1999C12.9899 12.1375 13.1778 12.1142 13.3641 12.1316C13.5505 12.1489 13.7309 12.2065 13.8928 12.3004ZM12.9986 13.0986C12.9564 13.131 12.9209 13.1715 12.8943 13.2176H12.8942C12.8541 13.2871 12.8355 13.3669 12.8407 13.447C12.846 13.527 12.8748 13.6037 12.9237 13.6674C12.9725 13.731 13.0392 13.7787 13.1151 13.8045C13.1911 13.8303 13.273 13.833 13.3505 13.8122C13.428 13.7915 13.4976 13.7482 13.5505 13.6879C13.6034 13.6275 13.6372 13.5529 13.6477 13.4733C13.6581 13.3938 13.6448 13.3129 13.6093 13.241C13.5738 13.169 13.5178 13.1092 13.4483 13.0691C13.4022 13.0425 13.3513 13.0252 13.2985 13.0182C13.2457 13.0113 13.192 13.0148 13.1405 13.0286C13.0891 13.0424 13.0409 13.0662 12.9986 13.0986Z\",\n fill: \"currentColor\"\n});\n\nfunction SvgCreditsIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 30,\n height: 24,\n viewBox: \"4 2 22 20\",\n fill: \"none\",\n role: \"img\",\n \"data-icon\": \"credits\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCreditsIcon);\nexport default __webpack_public_path__ + \"static/media/creditsIcon.da24717043a50039c8d05add002d6ecd.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"m12 10.586 4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636l4.95 4.95Z\"\n});\n\nfunction SvgCrossIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"cross\",\n role: \"img\",\n viewBox: \"5 5 14 14\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCrossIcon);\nexport default __webpack_public_path__ + \"static/media/crossIcon.fbbb8372da07241c23d12ae33e701da1.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12ZM11 1h2v3h-2V1Zm0 19h2v3h-2v-3ZM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.929ZM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121Zm2.121-14.85 1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121v-.001ZM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121ZM23 11v2h-3v-2h3ZM4 11v2H1v-2h3Z\"\n});\n\nfunction SvgDayIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"day\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDayIcon);\nexport default __webpack_public_path__ + \"static/media/dayIcon.c8122db0afd09d26a119ab3c97fa22cd.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M10 11V8l5 4-5 4v-3H1v-2h9Zm-7.542 4h2.124A8.003 8.003 0 0 0 20 12 8 8 0 0 0 4.582 9H2.458C3.732 4.943 7.522 2 12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10c-4.478 0-8.268-2.943-9.542-7Z\"\n});\n\nfunction SvgDestinationIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"destination\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDestinationIcon);\nexport default __webpack_public_path__ + \"static/media/destinationIcon.3805c7b50de11d5bde3f45890bc58456.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M4.5 12a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0ZM7 12a5 5 0 1 0 10 0 5 5 0 0 0-10 0Z\",\n clipRule: \"evenodd\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"m16 6 1.768 1.768-9.75 9.75L6.25 15.75z\"\n});\n\nfunction SvgDisabledIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"disabled\",\n role: \"img\",\n viewBox: \"4 4 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDisabledIcon);\nexport default __webpack_public_path__ + \"static/media/disabledIcon.90bf9a8448d838afa36d1844d62d7867.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 16H3C2.73478 16 2.48043 16.1054 2.29289 16.2929C2.10536 16.4804 2 16.7348 2 17C2 17.2652 2.10536 17.5196 2.29289 17.7071C2.48043 17.8946 2.73478 18 3 18H18V20H3C2.20435 20 1.44129 19.6839 0.87868 19.1213C0.316071 18.5587 0 17.7956 0 17V2C0 1.46957 0.210714 0.960859 0.585786 0.585786C0.960859 0.210714 1.46957 0 2 0H18V16ZM2 14.05C2.162 14.017 2.329 14 2.5 14H16V2H2V14.05ZM13 7H5V5H13V7Z\",\n fill: \"currentColor\"\n});\n\nfunction SvgDocsIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 20,\n viewBox: \"0 0 18 20\",\n fill: \"none\",\n role: \"img\",\n \"data-icon\": \"docs\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDocsIcon);\nexport default __webpack_public_path__ + \"static/media/docsIcon.e338561479589c0d7f73ab9de67bf82f.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M3 19h18v2H3v-2Zm10-5.828L19.071 7.1l1.414 1.414L12 17 3.515 8.515 4.929 7.1 11 13.17V2h2v11.172Z\"\n});\n\nfunction SvgDownloadIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"download\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadIcon);\nexport default __webpack_public_path__ + \"static/media/downloadIcon.583d4ba081ec382f635b3bc9cdb36e3b.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#a)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M7 6V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3v3c0 .552-.45 1-1.007 1H4.007A1 1 0 0 1 3 21l.003-14c0-.552.45-1 1.007-1H7ZM5.003 8 5 20h10V8H5.003ZM9 6h8v10h2V4H9v2Z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M0 0h24v24H0z\"\n})));\n\nfunction SvgDuplicateIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"duplicate1\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDuplicateIcon);\nexport default __webpack_public_path__ + \"static/media/duplicateIcon.09ef56e8c56268eb9f4c7568ae5671ac.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm6.355-6.048v-.105c0-.922 0-1.343-.652-1.716a7.368 7.368 0 0 0-.645-.325c-.367-.167-.61-.276-.938-.756-.04-.057-.078-.114-.116-.172-.345-.525-.594-.903-1.542-.753-1.865.296-2.003.624-2.085 1.178l-.013.091c-.121.81-.143 1.082.195 1.437 1.265 1.327 2.023 2.284 2.253 2.844.112.273.4 1.1.202 1.918a8.185 8.185 0 0 0 3.151-2.237c.11-.374.19-.84.19-1.404ZM12 3.833c-2.317 0-4.41.966-5.896 2.516.177.123.331.296.437.534.204.457.204.928.204 1.345 0 .328 0 .64.105.865.144.308.766.44 1.315.554.197.042.399.084.583.135.506.14.898.595 1.211.96.13.151.323.374.42.43.05-.036.211-.211.29-.498.062-.22.044-.414-.045-.52-.56-.66-.529-1.93-.356-2.399.272-.739 1.122-.684 1.744-.644.232.015.45.03.614.009.622-.078.814-1.025.949-1.21.292-.4 1.186-1.003 1.74-1.375A8.138 8.138 0 0 0 12 3.833Z\"\n});\n\nfunction SvgEarthIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"earth\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEarthIcon);\nexport default __webpack_public_path__ + \"static/media/earthIcon.bea2c297247479b9fcedeadee8eab662.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M4.5 12a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0Zm9.948 3.5L12 13.052 9.552 15.5 8.5 14.448 10.948 12 8.5 9.552 9.552 8.5 12 10.948 14.448 8.5 15.5 9.552 13.052 12l2.448 2.448-1.052 1.052Z\",\n clipRule: \"evenodd\"\n});\n\nfunction SvgErrorIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"error\",\n role: \"img\",\n viewBox: \"4 4 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgErrorIcon);\nexport default __webpack_public_path__ + \"static/media/errorIcon.412910ec5b36487993d5f5b38cf92b2f.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M18.48 14.298V5.52H9.702v2h6.778v6.778h2ZM5.52 9.702v8.778h8.778v-2H7.52V9.702h-2Z\"\n});\n\nfunction SvgExpandIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"expand\",\n role: \"img\",\n viewBox: \"4 4 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgExpandIcon);\nexport default __webpack_public_path__ + \"static/media/expandIcon.8733d83ca4a87d7292c65ab1689619ee.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M1.181 12C2.121 6.88 6.608 3 12 3c5.392 0 9.878 3.88 10.819 9-.94 5.12-5.427 9-10.819 9-5.392 0-9.878-3.88-10.819-9ZM12 17a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0-2a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z\"\n});\n\nfunction SvgEyeIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"eye\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEyeIcon);\nexport default __webpack_public_path__ + \"static/media/eyeIcon.a67237152d5560a34d86a55f8ff9c9f4.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M21 8v12.993A1 1 0 0 1 20.007 22H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.449 2 4.002 2h10.995L21 8Zm-2 1h-5V4H5v16h14V9ZM8 7h3v2H8V7Zm0 4h8v2H8v-2Zm0 4h8v2H8v-2Z\"\n});\n\nfunction SvgFileIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"file\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFileIcon);\nexport default __webpack_public_path__ + \"static/media/fileIcon.a5cd35573440eda1246f1dbb56b0fc66.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M13 10h7l-9 13v-9H4l9-13v9Z\"\n});\n\nfunction SvgFlashIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"flash\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlashIcon);\nexport default __webpack_public_path__ + \"static/media/flashIcon.7d45e381ce8f417ccf33de7dd3c03f05.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2ZM4 7v12h16V7H4Z\"\n});\n\nfunction SvgFolderIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"folder\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFolderIcon);\nexport default __webpack_public_path__ + \"static/media/folderIcon.318bab13b86c7108f974f543f12f57d2.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 0L10.6262 1.87523L12.905 0.89128L13.5565 3.28638L16.0365 3.38859L15.5843 5.82918L17.7744 6.99731L16.308 9L17.7744 11.0027L15.5843 12.1708L16.0365 14.6114L13.5565 14.7136L12.905 17.1087L10.6262 16.1248L9 18L7.37382 16.1248L5.09505 17.1087L4.44354 14.7136L1.96352 14.6114L2.41572 12.1708L0.225649 11.0027L1.692 9L0.225649 6.99731L2.41572 5.82918L1.96352 3.38859L4.44354 3.28638L5.09505 0.89128L7.37382 1.87523L9 0Z\",\n fill: \"currentColor\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.56983 12.3106L4.73486 9.47559L5.63534 8.57511L8.02007 10.9598L12.5855 6.39437L13.486 7.29484L8.4703 12.3106C8.22164 12.5592 7.81849 12.5592 7.56983 12.3106Z\",\n fill: \"white\"\n});\n\nfunction SvgGAIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n fill: \"none\",\n role: \"img\",\n \"data-icon\": \"GA\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGAIcon);\nexport default __webpack_public_path__ + \"static/media/gAIcon.d1f997fabcefed468614194a633ae245.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M1.148 13.793a10.933 10.933 0 0 1 0-3.585c1.212.028 2.3-.553 2.724-1.574.423-1.023.064-2.204-.814-3.039.7-.98 1.557-1.836 2.536-2.537.836.878 2.017 1.237 3.04.814 1.022-.423 1.602-1.513 1.572-2.724 1.188-.197 2.4-.197 3.588 0-.03 1.212.55 2.3 1.572 2.724 1.023.423 2.204.064 3.039-.814.98.7 1.836 1.557 2.537 2.536-.878.836-1.238 2.017-.814 3.04.423 1.023 1.513 1.602 2.724 1.572.197 1.188.197 2.4 0 3.588-1.212-.03-2.3.55-2.724 1.572-.424 1.023-.064 2.204.814 3.039-.7.98-1.557 1.836-2.536 2.537-.836-.878-2.017-1.238-3.04-.814-1.023.423-1.602 1.513-1.572 2.724-1.188.197-2.4.197-3.588 0 .03-1.212-.55-2.3-1.572-2.724-1.023-.424-2.204-.064-3.039.814-.98-.7-1.837-1.557-2.537-2.536.878-.836 1.237-2.017.814-3.04-.423-1.022-1.513-1.602-2.724-1.572v-.002ZM12 15.299A3.3 3.3 0 1 0 12 8.7a3.3 3.3 0 0 0 0 6.6Z\"\n});\n\nfunction SvgGearIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"gear\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGearIcon);\nexport default __webpack_public_path__ + \"static/media/gearIcon.500642e891d2bc39734b8a116f4bb853.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#a)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm-2.29-2.333A17.9 17.9 0 0 1 8.027 13H4.062a8.008 8.008 0 0 0 5.648 6.667ZM10.03 13c.151 2.439.848 4.73 1.97 6.752A15.906 15.906 0 0 0 13.97 13h-3.94Zm9.908 0h-3.965a17.9 17.9 0 0 1-1.683 6.667A8.008 8.008 0 0 0 19.938 13ZM4.062 11h3.965A17.9 17.9 0 0 1 9.71 4.333 8.008 8.008 0 0 0 4.062 11Zm5.969 0h3.938A15.904 15.904 0 0 0 12 4.248 15.906 15.906 0 0 0 10.03 11h.001Zm4.259-6.667A17.9 17.9 0 0 1 15.973 11h3.965a8.008 8.008 0 0 0-5.648-6.667Z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M0 0h24v24H0z\"\n})));\n\nfunction SvgGlobeIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"globe\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGlobeIcon);\nexport default __webpack_public_path__ + \"static/media/globeIcon.0a9004dd0b0c5d59a6b4b9983a6be197.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M3 3h4v4H3V3Zm0 7h4v4H3v-4Zm4 7H3v4h4v-4Zm3-14h4v4h-4V3Zm4 7h-4v4h4v-4Zm-4 7h4v4h-4v-4ZM21 3h-4v4h4V3Zm-4 7h4v4h-4v-4Zm4 7h-4v4h4v-4Z\",\n clipRule: \"evenodd\"\n});\n\nfunction SvgGridIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"grid\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGridIcon);\nexport default __webpack_public_path__ + \"static/media/gridIcon.62348ec516b2a5a25dd8e37639ce36a5.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M5 5h8V3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-9h-2v8H5V5Z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M12.293 9.707 18 4l1.414 1.414-5.707 5.707L17 14.414H9v-8l3.293 3.293Z\"\n});\n\nfunction SvgImportIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"import\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgImportIcon);\nexport default __webpack_public_path__ + \"static/media/importIcon.9722ed01f42f6305dae536128e9a1b23.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M19.5 12a7.5 7.5 0 1 0-15 0 7.5 7.5 0 0 0 15 0ZM13 10v7h-2v-7h2Zm0-3v2h-2V7h2Z\",\n clipRule: \"evenodd\"\n});\n\nfunction SvgInfoIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"info\",\n role: \"img\",\n viewBox: \"4 4 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgInfoIcon);\nexport default __webpack_public_path__ + \"static/media/infoIcon.db8cfffbeb5ebee365da8d76454f8a03.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#a)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"m18.031 16.617 4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617Zm-2.006-.742A6.977 6.977 0 0 0 18 11c0-3.868-3.133-7-7-7-3.868 0-7 3.132-7 7 0 3.867 3.132 7 7 7a6.977 6.977 0 0 0 4.875-1.975l.15-.15Z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M0 0h24v24H0z\"\n})));\n\nfunction SvgLensIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"lens\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLensIcon);\nexport default __webpack_public_path__ + \"static/media/lensIcon.7e1bdf66815913daba7d51f3bb51484d.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"m12 20.9 4.95-4.95a7 7 0 1 0-9.9 0L12 20.9Zm0 2.828-6.364-6.364a9 9 0 1 1 12.728 0L12 23.728ZM12 13a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 2a4 4 0 1 1 0-8 4 4 0 0 1 0 8Z\"\n});\n\nfunction SvgLocationIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"location\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLocationIcon);\nexport default __webpack_public_path__ + \"static/media/locationIcon.c96a4142739fe1de83212cbbbfe78c57.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M19 10h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1V9a7 7 0 0 1 14 0v1Zm-2 0V9A5 5 0 0 0 7 9v1h10Zm-6 4v4h2v-4h-2Z\"\n});\n\nfunction SvgLockedIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"locked\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLockedIcon);\nexport default __webpack_public_path__ + \"static/media/lockedIcon.a4c9fa53c75e57792b3c2fcf3edc050a.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8334 1.83317V0.166504H0.166687V1.83317H11.8334Z\",\n fill: \"currentColor\"\n});\n\nfunction SvgMinusIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 2,\n viewBox: \"0 0 12 2\",\n fill: \"none\",\n role: \"img\",\n \"data-icon\": \"minus\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMinusIcon);\nexport default __webpack_public_path__ + \"static/media/minusIcon.46730232d8e44246bca3dbf7b0ec5227.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"m13 11 4-3-4-3v2H5v2h8v2ZM11 19l-4-3 4-3v2h8v2h-8v2Z\",\n clipRule: \"evenodd\"\n});\n\nfunction SvgModificationIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"modification\",\n role: \"img\",\n viewBox: \"5 5 14 14\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgModificationIcon);\nexport default __webpack_public_path__ + \"static/media/modificationIcon.cbf0e0a61ea23d41d8f392c317c59a84.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M11.38 2.019a7.5 7.5 0 1 0 10.6 10.6C21.662 17.854 17.316 22 12.001 22 6.477 22 2 17.523 2 12c0-5.315 4.146-9.661 9.38-9.981Z\"\n});\n\nfunction SvgMoonIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"moon\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMoonIcon);\nexport default __webpack_public_path__ + \"static/media/moonIcon.b8ada0d0b6bf694a0c195b464cd4b853.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#a)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M3 4h18v2H3V4Zm0 7h18v2H3v-2Zm0 7h18v2H3v-2Z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M0 0h24v24H0z\"\n})));\n\nfunction SvgMoveHandleIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"moveHandle\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMoveHandleIcon);\nexport default __webpack_public_path__ + \"static/media/moveHandleIcon.834be0b3a73aecfae186b9bf852a3470.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M7.25 9V0h1.5v9c0 2.9 2.35 5.25 5.25 5.25h8v1.5h-8A6.75 6.75 0 0 1 7.25 9Z\",\n clipRule: \"evenodd\"\n});\n\nfunction SvgNestedIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"nested\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNestedIcon);\nexport default __webpack_public_path__ + \"static/media/nestedIcon.060d29c952aa4be2bf8d1620593f3427.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"m21 15-6 5.996L4.002 21A.998.998 0 0 1 3 20.007V3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.456.993 1.002V15ZM19 5H5v14h8v-5a1 1 0 0 1 .883-.993L14 13l5-.001V5Zm-.829 9.999L15 15v3.169l3.171-3.17Z\"\n});\n\nfunction SvgNoteIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"note\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNoteIcon);\nexport default __webpack_public_path__ + \"static/media/noteIcon.e3110d5f26d0a950f5625f37bd18a2fe.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#a)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M22 20H2v-2h1v-6.969C3 6.043 7.03 2 12 2s9 4.043 9 9.031V18h1v2ZM9.5 21h5a2.5 2.5 0 0 1-5 0Z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M0 0h24v24H0z\"\n})));\n\nfunction SvgNotificationIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"notification\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNotificationIcon);\nexport default __webpack_public_path__ + \"static/media/notificationIcon.9338136e62e1f88180c89a0e13af2600.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M14 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm0 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\n clipRule: \"evenodd\"\n});\n\nfunction SvgOptionsIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"options\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOptionsIcon);\nexport default __webpack_public_path__ + \"static/media/optionsIcon.9e86846c6accb238cc28393898de009f.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M6.17 18a3 3 0 0 1 5.66 0H22v2H11.83a3 3 0 0 1-5.66 0H2v-2h4.17Zm6-7a3 3 0 0 1 5.66 0H22v2h-4.17a3 3 0 0 1-5.66 0H2v-2h10.17Zm-6-7a3.001 3.001 0 0 1 5.66 0H22v2H11.83a3 3 0 0 1-5.66 0H2V4h4.17ZM9 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"\n});\n\nfunction SvgParametersIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"parameters\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgParametersIcon);\nexport default __webpack_public_path__ + \"static/media/parametersIcon.1dba7c2aa21e5610fe1e304d213357f1.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M4.5 12a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0Zm5.25-3h1.5v6h-1.5V9Zm3 0h1.5v6h-1.5V9Z\",\n clipRule: \"evenodd\"\n});\n\nfunction SvgPauseIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"pause\",\n role: \"img\",\n viewBox: \"4 4 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPauseIcon);\nexport default __webpack_public_path__ + \"static/media/pauseIcon.0b834b29dfcd5f8ce79125882fd32078.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M12 20.1a8.1 8.1 0 1 1 0-16.2 8.1 8.1 0 1 1 0 16.2Zm0 1.9C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10ZM9.75 9h1.5v6h-1.5V9Zm3 0h1.5v6h-1.5V9Z\",\n clipRule: \"evenodd\"\n});\n\nfunction SvgPauseOutlineIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"pauseOutline\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPauseOutlineIcon);\nexport default __webpack_public_path__ + \"static/media/pauseOutlineIcon.a6258a831a3e80cde2e90e736e7eaa70.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.675 3.14356L10.8565 6.32581L3.4315 13.7501H0.25V10.5678L7.675 3.14281V3.14356ZM8.7355 2.08306L10.3262 0.491563C10.4669 0.350959 10.6576 0.271973 10.8565 0.271973C11.0554 0.271973 11.2461 0.350959 11.3868 0.491563L13.5085 2.61331C13.6491 2.75396 13.7281 2.94469 13.7281 3.14356C13.7281 3.34244 13.6491 3.53317 13.5085 3.67381L11.917 5.26456L8.7355 2.08306Z\",\n fill: \"currentColor\"\n});\n\nfunction SvgPencilIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n role: \"img\",\n \"data-icon\": \"pencil\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPencilIcon);\nexport default __webpack_public_path__ + \"static/media/pencilIcon.0bd8bdf76880c8715f1828af9b6061d5.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0.993C0 0.445 0.445 0 0.993 0H17.007C17.555 0 18 0.445 18 0.993V17.007C17.9997 17.2703 17.895 17.5227 17.7089 17.7089C17.5227 17.895 17.2703 17.9997 17.007 18H0.993C0.729721 17.9997 0.477302 17.895 0.291135 17.7089C0.104969 17.5227 0.000264735 17.2703 0 17.007V0.993ZM2 2V16H16V2H2ZM7.622 5.415L12.501 8.667C12.5559 8.70351 12.6009 8.75302 12.632 8.81111C12.6631 8.86921 12.6794 8.93409 12.6794 9C12.6794 9.06591 12.6631 9.13079 12.632 9.18889C12.6009 9.24698 12.5559 9.29649 12.501 9.333L7.621 12.585C7.56083 12.6249 7.49098 12.6477 7.41887 12.6512C7.34676 12.6546 7.27507 12.6384 7.21141 12.6043C7.14774 12.5703 7.09448 12.5197 7.05726 12.4578C7.02004 12.396 7.00025 12.3252 7 12.253V5.747C7.00013 5.67465 7.01989 5.60369 7.05716 5.54168C7.09443 5.47967 7.14782 5.42893 7.21165 5.39486C7.27547 5.36079 7.34734 5.34467 7.41961 5.34822C7.49187 5.35177 7.56182 5.37485 7.622 5.415V5.415Z\",\n fill: \"currentColor\"\n});\n\nfunction SvgPlayIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n fill: \"none\",\n role: \"img\",\n \"data-icon\": \"play\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlayIcon);\nexport default __webpack_public_path__ + \"static/media/playIcon.636f1a9c8b3567cd627970288d3e0cf8.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.16669 5.1665V0.166504H6.83335V5.1665H11.8334V6.83317H6.83335V11.8332H5.16669V6.83317H0.166687V5.1665H5.16669Z\",\n fill: \"currentColor\"\n});\n\nfunction SvgPlusIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n role: \"img\",\n \"data-icon\": \"plus\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlusIcon);\nexport default __webpack_public_path__ + \"static/media/plusIcon.73e4dca0ecbc8491cdcbb38259fb70fc.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-6c0-.67-.051-1.338-.153-2H20V5H4v3.153A13.1 13.1 0 0 0 2 8V4a1 1 0 0 1 1-1Zm10 18h-2a9 9 0 0 0-9-9v-2c6.075 0 11 4.925 11 11Zm-4 0H7a5 5 0 0 0-5-5v-2a7 7 0 0 1 7 7Zm-4 0H2v-3a3 3 0 0 1 3 3Z\"\n});\n\nfunction SvgPodcastIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"podcast\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPodcastIcon);\nexport default __webpack_public_path__ + \"static/media/podcastIcon.2fdcbc59e6da176e2963e7682ca369d2.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"m11 12-7.071 7.07-1.414-1.413L8.172 12 2.514 6.343l1.414-1.414 7.07 7.07Zm0 7h10v2H11v-2Z\"\n});\n\nfunction SvgPrefixIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"prefix\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPrefixIcon);\nexport default __webpack_public_path__ + \"static/media/prefixIcon.a24bed03bea574b55b7c7e32d403e381.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#a)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M9 17H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8h3c.552 0 1 .45 1 1.007v6.986A1 1 0 0 1 21 21l-11-.003c-.552 0-1-.45-1-1.007V17Zm0-2v-3h7V5H4v10h5Z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M0 24V0h24v24z\"\n})));\n\nfunction SvgReduceIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"reduce\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgReduceIcon);\nexport default __webpack_public_path__ + \"static/media/reduceIcon.f095610a56017790cfe9be03f7a61c99.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M5.463 19.567A9.961 9.961 0 0 0 12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12c0 2.136.67 4.116 1.81 5.74L7 12H4a8 8 0 1 1 2.46 5.772l-.997 1.795Z\"\n});\n\nfunction SvgResetIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"reset\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgResetIcon);\nexport default __webpack_public_path__ + \"static/media/resetIcon.bdb5d3bdb496a97e28b409bf553783f7.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.463 2.433C5.27756 0.860661 7.59899 -0.0033494 10 1.65915e-07C15.523 1.65915e-07 20 4.477 20 10C20 12.136 19.33 14.116 18.19 15.74L15 10H18C18.0001 8.43162 17.5392 6.8978 16.6747 5.58926C15.8101 4.28071 14.5799 3.25516 13.1372 2.64012C11.6944 2.02509 10.1027 1.8477 8.55996 2.13002C7.0172 2.41233 5.59145 3.1419 4.46 4.228L3.463 2.433ZM16.537 17.567C14.7224 19.1393 12.401 20.0033 10 20C4.477 20 0 15.523 0 10C0 7.864 0.67 5.884 1.81 4.26L5 10H2C1.99987 11.5684 2.46075 13.1022 3.32534 14.4107C4.18992 15.7193 5.42007 16.7448 6.86282 17.3599C8.30557 17.9749 9.89729 18.1523 11.44 17.87C12.9828 17.5877 14.4085 16.8581 15.54 15.772L16.537 17.567Z\",\n fill: \"currentColor\"\n});\n\nfunction SvgRotateIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 15,\n width: 15,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n role: \"img\",\n \"data-icon\": \"rotate\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRotateIcon);\nexport default __webpack_public_path__ + \"static/media/rotateIcon.2376c583ea4a55aae816e3cdf227f623.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M10 3v2H5v14h14v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6Zm7.707 4.707L12 13.414 10.586 12l5.707-5.707L13 3h8v8l-3.293-3.293Z\"\n});\n\nfunction SvgShareIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"share\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgShareIcon);\nexport default __webpack_public_path__ + \"static/media/shareIcon.774139f3f350ab9eefeeeb65e6c891f9.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M12.415 2.808v8.778h8.778v-2h-6.779V2.808h-2Zm-.83 18.385.001-8.779H2.808v2h6.778v6.779h2Z\"\n});\n\nfunction SvgShrinkIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"shrink\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgShrinkIcon);\nexport default __webpack_public_path__ + \"static/media/shrinkIcon.f552ad6e7a7e1b72a574d5add2fd20ce.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.38 3.74396V4.31818H9.49719V3.48295H7.69996L9.50465 1.07422V0.5H6.38746V1.33523H8.18469L6.38 3.74396ZM2.75 3.49998C2.75 5.98526 4.76472 7.99998 7.25 7.99998C7.68548 7.99998 8.10652 7.93812 8.5048 7.82271C7.67992 8.84561 6.41638 9.49998 5 9.49998C2.51472 9.49998 0.5 7.48526 0.5 4.99998C0.5 2.95018 1.87052 1.22048 3.7452 0.677246C3.12269 1.44921 2.75 2.43107 2.75 3.49998Z\",\n fill: \"currentColor\"\n});\n\nfunction SvgSleepIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 15,\n width: 15,\n viewBox: \"0 0 10 10\",\n fill: \"none\",\n role: \"img\",\n \"data-icon\": \"sleep\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSleepIcon);\nexport default __webpack_public_path__ + \"static/media/sleepIcon.800026ea02dfce9733b7b6b0ffffcdaf.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2a9.985 9.985 0 0 1 8 4h-2.71a8 8 0 1 0 .001 12h2.71A9.985 9.985 0 0 1 12 22Zm7-6v-3h-8v-2h8V8l5 4-5 4Z\"\n});\n\nfunction SvgSourceIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"source\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSourceIcon);\nexport default __webpack_public_path__ + \"static/media/sourceIcon.517c884fb408b997ede338a34f70f4b1.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"m12.413 1 3.456 7.243 7.956 1.049-5.82 5.525 1.461 7.891-7.053-3.828-7.054 3.828 1.461-7.891L1 9.292l7.957-1.049L12.412 1Z\"\n});\n\nfunction SvgStarIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"star\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgStarIcon);\nexport default __webpack_public_path__ + \"static/media/starIcon.c92b2b2609a4acbbedd4dac4c1ce21ac.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M4.5 12a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0ZM10 9a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Z\",\n clipRule: \"evenodd\"\n});\n\nfunction SvgStopIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"stop\",\n role: \"img\",\n viewBox: \"4 4 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgStopIcon);\nexport default __webpack_public_path__ + \"static/media/stopIcon.0e80aa4b452378c4f8b8cc4f56b271b1.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M12 20.1a8.1 8.1 0 1 1 0-16.2 8.1 8.1 0 1 1 0 16.2Zm0 1.9C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10ZM9 9h6v6H9V9Z\",\n clipRule: \"evenodd\"\n});\n\nfunction SvgStopOutlineIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"stopOutline\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgStopOutlineIcon);\nexport default __webpack_public_path__ + \"static/media/stopOutlineIcon.cee9469f21e1997e4b94561b6bd53987.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm-.997-6 7.07-7.071-1.414-1.414-5.656 5.657-2.829-2.829-1.414 1.414L11.003 16Z\"\n});\n\nfunction SvgSuccessIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"bigSuccess\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSuccessIcon);\nexport default __webpack_public_path__ + \"static/media/successIcon.86bc1d9a854ee677b608fb0de4e7e1ad.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm0-2a8 8 0 1 0 0-16.001A8 8 0 0 0 12 20Zm-.997-4L6.76 11.757l1.414-1.414 2.829 2.829 5.656-5.657 1.415 1.414L11.003 16Z\"\n});\n\nfunction SvgSuccessOutlineIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"successOutline\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSuccessOutlineIcon);\nexport default __webpack_public_path__ + \"static/media/successOutlineIcon.55f7d7b1b4d19a5521ad98abe0395151.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#a)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M5.463 4.433A9.961 9.961 0 0 1 12 2c5.523 0 10 4.477 10 10 0 2.136-.67 4.116-1.81 5.74L17 12h3A8 8 0 0 0 6.46 6.228l-.997-1.795Zm13.074 15.134A9.962 9.962 0 0 1 12 22C6.477 22 2 17.523 2 12c0-2.136.67-4.116 1.81-5.74L7 12H4a8 8 0 0 0 13.54 5.772l.997 1.795Z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M0 0h24v24H0z\"\n})));\n\nfunction SvgSyncIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"sync\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSyncIcon);\nexport default __webpack_public_path__ + \"static/media/syncIcon.d684f8827ae59c5f8a36cf8a72d95fed.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#a)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"m13 1 .001 3.062A8.004 8.004 0 0 1 19.938 11H23v2l-3.062.001a8.004 8.004 0 0 1-6.937 6.937L13 23h-2v-3.062a8.004 8.004 0 0 1-6.938-6.937L1 13v-2h3.062A8.004 8.004 0 0 1 11 4.062V1h2Zm-1 5a6 6 0 1 0 0 12 6 6 0 0 0 0-12Zm0 4a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M0 0h24v24H0z\"\n})));\n\nfunction SvgTargetIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"target\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTargetIcon);\nexport default __webpack_public_path__ + \"static/media/targetIcon.95dbc73329530804ba3f768f27957d92.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#a)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M17 6h5v2h-2v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8H2V6h5V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3Zm1 2H6v12h12V8Zm-9 3h2v6H9v-6Zm4 0h2v6h-2v-6ZM9 4v2h6V4H9Z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M0 0h24v24H0z\"\n})));\n\nfunction SvgTrashIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"trash\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTrashIcon);\nexport default __webpack_public_path__ + \"static/media/trashIcon.a8abe05b9fd524922c74a2be78f1a882.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M7 10h13a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1V9a7 7 0 0 1 13.262-3.131l-1.789.894A5 5 0 0 0 7 9v1Zm-2 2v8h14v-8H5Zm5 3h4v2h-4v-2Z\"\n});\n\nfunction SvgUnlockedIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"unlocked\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUnlockedIcon);\nexport default __webpack_public_path__ + \"static/media/unlockedIcon.894eb0d65cbbdac40c2805108d1c734d.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M20 22H4v-2a5 5 0 0 1 5-5h6a5 5 0 0 1 5 5v2Zm-8-9A6 6 0 1 1 12 .998 6 6 0 0 1 12 13Z\"\n});\n\nfunction SvgUserIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"user\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUserIcon);\nexport default __webpack_public_path__ + \"static/media/userIcon.92115739b19276f9a308198879e8eed2.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M2 12c0 5.523 4.477 10 10 10s10-4.477 10-10S17.523 2 12 2 2 6.477 2 12Zm8.667-6.667h2.666v9.334h-2.666V5.333Zm0 10.667h2.666v2.667h-2.666V16Z\",\n clipRule: \"evenodd\"\n});\n\nfunction SvgWarningIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"warning\",\n role: \"img\",\n viewBox: \"1 1 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWarningIcon);\nexport default __webpack_public_path__ + \"static/media/warningIcon.dd441e953fb0e3c0b658186559132c1c.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm-1-5h2v2h-2v-2Zm0-8h2v6h-2V7Z\"\n});\n\nfunction SvgWarningOutlineIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n \"data-icon\": \"warningOutline\",\n role: \"img\",\n viewBox: \"2 2 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWarningOutlineIcon);\nexport default __webpack_public_path__ + \"static/media/warningOutlineIcon.feb2e07cdfcfbe1ac87ad02f1e8e7b5a.svg\";\nexport { ForwardRef as ReactComponent };","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport styles from \"./Icon.module.scss\";\nimport { ReactComponent as ArrowLeftIcon } from \"./icons/arrowLeftIcon.svg\";\nimport { ReactComponent as ArrowRightIcon } from \"./icons/arrowRightIcon.svg\";\nimport { ReactComponent as ArticleIcon } from \"./icons/articleIcon.svg\";\nimport { ReactComponent as CalendarIcon } from \"./icons/calendarIcon.svg\";\nimport { ReactComponent as CheckIcon } from \"./icons/checkIcon.svg\";\nimport { ReactComponent as ChevronDownIcon } from \"./icons/chevronDownIcon.svg\";\nimport { ReactComponent as ChevronLeftIcon } from \"./icons/chevronLeftIcon.svg\";\nimport { ReactComponent as ChevronRightIcon } from \"./icons/chevronRightIcon.svg\";\nimport { ReactComponent as ChevronUpIcon } from \"./icons/chevronUpIcon.svg\";\nimport { ReactComponent as ClockIcon } from \"./icons/clockIcon.svg\";\nimport { ReactComponent as ClockOutlineIcon } from \"./icons/clockOutlineIcon.svg\";\nimport { ReactComponent as CopyIcon } from \"./icons/copyIcon.svg\";\nimport { ReactComponent as CreditsIcon } from \"./icons/creditsIcon.svg\";\nimport { ReactComponent as CrossIcon } from \"./icons/crossIcon.svg\";\nimport { ReactComponent as DayIcon } from \"./icons/dayIcon.svg\";\nimport { ReactComponent as DestinationIcon } from \"./icons/destinationIcon.svg\";\nimport { ReactComponent as DisabledIcon } from \"./icons/disabledIcon.svg\";\nimport { ReactComponent as DocsIcon } from \"./icons/docsIcon.svg\";\nimport { ReactComponent as DownloadIcon } from \"./icons/downloadIcon.svg\";\nimport { ReactComponent as DuplicateIcon } from \"./icons/duplicateIcon.svg\";\nimport { ReactComponent as EarthIcon } from \"./icons/earthIcon.svg\";\nimport { ReactComponent as ErrorIcon } from \"./icons/errorIcon.svg\";\nimport { ReactComponent as ExpandIcon } from \"./icons/expandIcon.svg\";\nimport { ReactComponent as EyeIcon } from \"./icons/eyeIcon.svg\";\nimport { ReactComponent as FileIcon } from \"./icons/fileIcon.svg\";\nimport { ReactComponent as FlashIcon } from \"./icons/flashIcon.svg\";\nimport { ReactComponent as FolderIcon } from \"./icons/folderIcon.svg\";\nimport { ReactComponent as GAIcon } from \"./icons/gAIcon.svg\";\nimport { ReactComponent as GearIcon } from \"./icons/gearIcon.svg\";\nimport { ReactComponent as GlobeIcon } from \"./icons/globeIcon.svg\";\nimport { ReactComponent as GridIcon } from \"./icons/gridIcon.svg\";\nimport { ReactComponent as ImportIcon } from \"./icons/importIcon.svg\";\nimport { ReactComponent as InfoIcon } from \"./icons/infoIcon.svg\";\nimport { ReactComponent as LensIcon } from \"./icons/lensIcon.svg\";\nimport { ReactComponent as LocationIcon } from \"./icons/locationIcon.svg\";\nimport { ReactComponent as LockedIcon } from \"./icons/lockedIcon.svg\";\nimport { ReactComponent as MinusIcon } from \"./icons/minusIcon.svg\";\nimport { ReactComponent as ModificationIcon } from \"./icons/modificationIcon.svg\";\nimport { ReactComponent as MoonIcon } from \"./icons/moonIcon.svg\";\nimport { ReactComponent as MoveHandleIcon } from \"./icons/moveHandleIcon.svg\";\nimport { ReactComponent as NestedIcon } from \"./icons/nestedIcon.svg\";\nimport { ReactComponent as NoteIcon } from \"./icons/noteIcon.svg\";\nimport { ReactComponent as NotificationIcon } from \"./icons/notificationIcon.svg\";\nimport { ReactComponent as OptionsIcon } from \"./icons/optionsIcon.svg\";\nimport { ReactComponent as ParametersIcon } from \"./icons/parametersIcon.svg\";\nimport { ReactComponent as PauseIcon } from \"./icons/pauseIcon.svg\";\nimport { ReactComponent as PauseOutlineIcon } from \"./icons/pauseOutlineIcon.svg\";\nimport { ReactComponent as PencilIcon } from \"./icons/pencilIcon.svg\";\nimport { ReactComponent as PlayIcon } from \"./icons/playIcon.svg\";\nimport { ReactComponent as PlusIcon } from \"./icons/plusIcon.svg\";\nimport { ReactComponent as PodcastIcon } from \"./icons/podcastIcon.svg\";\nimport { ReactComponent as PrefixIcon } from \"./icons/prefixIcon.svg\";\nimport { ReactComponent as ReduceIcon } from \"./icons/reduceIcon.svg\";\nimport { ReactComponent as ResetIcon } from \"./icons/resetIcon.svg\";\nimport { ReactComponent as RotateIcon } from \"./icons/rotateIcon.svg\";\nimport { ReactComponent as ShareIcon } from \"./icons/shareIcon.svg\";\nimport { ReactComponent as ShrinkIcon } from \"./icons/shrinkIcon.svg\";\nimport { ReactComponent as SleepIcon } from \"./icons/sleepIcon.svg\";\nimport { ReactComponent as SourceIcon } from \"./icons/sourceIcon.svg\";\nimport { ReactComponent as StarIcon } from \"./icons/starIcon.svg\";\nimport { ReactComponent as StopIcon } from \"./icons/stopIcon.svg\";\nimport { ReactComponent as StopOutlineIcon } from \"./icons/stopOutlineIcon.svg\";\nimport { ReactComponent as SuccessIcon } from \"./icons/successIcon.svg\";\nimport { ReactComponent as SuccessOutlineIcon } from \"./icons/successOutlineIcon.svg\";\nimport { ReactComponent as SyncIcon } from \"./icons/syncIcon.svg\";\nimport { ReactComponent as TargetIcon } from \"./icons/targetIcon.svg\";\nimport { ReactComponent as TrashIcon } from \"./icons/trashIcon.svg\";\nimport { ReactComponent as UnlockedIcon } from \"./icons/unlockedIcon.svg\";\nimport { ReactComponent as UserIcon } from \"./icons/userIcon.svg\";\nimport { ReactComponent as WarningIcon } from \"./icons/warningIcon.svg\";\nimport { ReactComponent as WarningOutlineIcon } from \"./icons/warningOutlineIcon.svg\";\nimport { IconColor, IconProps, IconType } from \"./types\";\n\nconst colorMap: Record = {\n warning: styles[`icon--warning`],\n success: styles[`icon--success`],\n primary: styles[`icon--primary`],\n disabled: styles[`icon--disabled`],\n error: styles[`icon--error`],\n action: styles[`icon--action`],\n affordance: styles[`icon--affordance`],\n};\n\nconst sizeMap: Record, string> = {\n xs: styles.xs,\n sm: styles.sm,\n md: styles.md,\n lg: styles.lg,\n xl: styles.xl,\n};\n\nconst Icons: Record>> = {\n arrowLeft: ArrowLeftIcon,\n arrowRight: ArrowRightIcon,\n article: ArticleIcon,\n calendar: CalendarIcon,\n check: CheckIcon,\n chevronDown: ChevronDownIcon,\n chevronLeft: ChevronLeftIcon,\n chevronRight: ChevronRightIcon,\n chevronUp: ChevronUpIcon,\n clock: ClockIcon,\n clockOutline: ClockOutlineIcon,\n copy: CopyIcon,\n credits: CreditsIcon,\n cross: CrossIcon,\n day: DayIcon,\n destination: DestinationIcon,\n disabled: DisabledIcon,\n docs: DocsIcon,\n download: DownloadIcon,\n duplicate: DuplicateIcon,\n earth: EarthIcon,\n error: ErrorIcon,\n eye: EyeIcon,\n expand: ExpandIcon,\n file: FileIcon,\n flash: FlashIcon,\n folder: FolderIcon,\n gA: GAIcon,\n gear: GearIcon,\n globe: GlobeIcon,\n grid: GridIcon,\n import: ImportIcon,\n info: InfoIcon,\n lens: LensIcon,\n location: LocationIcon,\n locked: LockedIcon,\n minus: MinusIcon,\n modification: ModificationIcon,\n moon: MoonIcon,\n moveHandle: MoveHandleIcon,\n nested: NestedIcon,\n note: NoteIcon,\n notification: NotificationIcon,\n options: OptionsIcon,\n parameters: ParametersIcon,\n pause: PauseIcon,\n pauseOutline: PauseOutlineIcon,\n pencil: PencilIcon,\n play: PlayIcon,\n plus: PlusIcon,\n podcast: PodcastIcon,\n prefix: PrefixIcon,\n reduce: ReduceIcon,\n reset: ResetIcon,\n rotate: RotateIcon,\n share: ShareIcon,\n shrink: ShrinkIcon,\n sleep: SleepIcon,\n source: SourceIcon,\n star: StarIcon,\n stop: StopIcon,\n stopOutline: StopOutlineIcon,\n success: SuccessIcon,\n successOutline: SuccessOutlineIcon,\n sync: SyncIcon,\n target: TargetIcon,\n trash: TrashIcon,\n unlocked: UnlockedIcon,\n user: UserIcon,\n warning: WarningIcon,\n warningOutline: WarningOutlineIcon,\n};\n\nexport const Icon: React.FC = React.memo(\n ({ type, color, size = \"md\", withBackground, className, ...props }) => {\n const classes = classNames(\n className,\n styles.icon,\n color ? colorMap[color] : undefined,\n withBackground ? styles[\"icon--withBackground\"] : undefined,\n sizeMap[size]\n );\n\n return React.createElement(Icons[type], {\n ...props,\n className: classes,\n });\n }\n);\nIcon.displayName = \"Icon\";\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"Overlay_container__LvF6B\",\"dark\":\"Overlay_dark__J3645\"};","import classNames from \"classnames\";\n\nimport styles from \"./Overlay.module.scss\";\n\ninterface OverlayProps {\n onClick?: React.MouseEventHandler;\n variant?: \"dark\" | \"transparent\";\n}\n\nexport const Overlay: React.FC = ({ variant = \"dark\", onClick }) => (\n \n);\n","// extracted by mini-css-extract-plugin\nexport default {\"modalPageContainer\":\"Modal_modalPageContainer__Q-S85\",\"modalContainer\":\"Modal_modalContainer__vcTEN\",\"fade-in-container\":\"Modal_fade-in-container__J8Shv\",\"modalContainer--noSidebarOffset\":\"Modal_modalContainer--noSidebarOffset__fN7vT\",\"modalPanel\":\"Modal_modalPanel__XmjB3\",\"card\":\"Modal_card__gtcHI\",\"sm\":\"Modal_sm__eVc6z\",\"md\":\"Modal_md__aR8ti\",\"lg\":\"Modal_lg__7TXnT\",\"xl\":\"Modal_xl__pA81s\",\"full\":\"Modal_full__rT0y+\",\"card__header\":\"Modal_card__header__EnPfU\",\"card__closeButton\":\"Modal_card__closeButton__DdNmS\"};","import { Dialog } from \"@headlessui/react\";\nimport classNames from \"classnames\";\nimport React, { useState } from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { Box } from \"../Box\";\nimport { FlexContainer } from \"../Flex\";\nimport { Heading } from \"../Heading\";\nimport { Icon } from \"../Icon\";\nimport { Overlay } from \"../Overlay\";\nimport styles from \"./Modal.module.scss\";\n\nexport interface ModalProps {\n title?: string | React.ReactNode;\n onClose?: () => void;\n cardless?: boolean;\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\";\n testId?: string;\n /**\n * If specified, the full content of the modal including header, body and footer is wrapped in this component (only a class name prop might be set on the component)\n */\n wrapIn?: React.FC>;\n}\n\nconst cardStyleBySize = {\n sm: styles.sm,\n md: styles.md,\n lg: styles.lg,\n xl: styles.xl,\n full: styles.full,\n};\n\nexport const Modal: React.FC> = ({\n children,\n title,\n size,\n onClose,\n cardless,\n testId,\n wrapIn,\n}) => {\n const [isOpen, setIsOpen] = useState(true);\n const { formatMessage } = useIntl();\n\n const onModalClose = () => {\n setIsOpen(false);\n onClose?.();\n };\n\n const Wrapper = wrapIn || \"div\";\n\n return (\n \n \n \n \n {cardless ? (\n children\n ) : (\n
\n
\n \n \n \n {title}\n \n \n \n \n \n \n
\n {children}\n
\n )}\n
\n \n
\n );\n};\n","import React, { useContext, useMemo, useRef, useState } from \"react\";\nimport { firstValueFrom, Subject } from \"rxjs\";\n\nimport { Modal } from \"components/ui/Modal\";\n\nimport { ModalOptions, ModalResult, ModalServiceContext } from \"./types\";\n\nexport class ModalCancel extends Error {}\n\nconst modalServiceContext = React.createContext(undefined);\n\nexport const ModalServiceProvider: React.FC> = ({ children }) => {\n // The any here is due to the fact, that every call to open a modal might come in with\n // a different type, thus we can't type this with unknown or a generic.\n // The consuming code of this service though is properly typed, so that this `any` stays\n // encapsulated within this component.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [modalOptions, setModalOptions] = useState>();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const resultSubjectRef = useRef>>();\n\n const service: ModalServiceContext = useMemo(\n () => ({\n openModal: (options) => {\n resultSubjectRef.current = new Subject();\n setModalOptions(options);\n\n return firstValueFrom(resultSubjectRef.current).then((reason) => {\n setModalOptions(undefined);\n resultSubjectRef.current = undefined;\n return reason;\n });\n },\n closeModal: () => {\n resultSubjectRef.current?.next({ type: \"canceled\" });\n },\n }),\n []\n );\n\n return (\n \n {children}\n {modalOptions && (\n resultSubjectRef.current?.next({ type: \"canceled\" })}\n >\n resultSubjectRef.current?.next({ type: \"canceled\" })}\n onClose={(reason) => resultSubjectRef.current?.next({ type: \"closed\", reason })}\n />\n \n )}\n \n );\n};\n\nexport const useModalService = () => {\n const context = useContext(modalServiceContext);\n if (!context) {\n throw new Error(\"Can't use ModalService outside ModalServiceProvider\");\n }\n return context;\n};\n","import {\n getUser,\n listUsers,\n LoginRequestBody,\n loginUser,\n signupUser,\n logoutUser,\n UserCreate,\n UserId,\n reactiveUser,\n ResetPasswordRequestBody,\n resetPassword,\n resetPasswordAction,\n ResetPasswordActionRequestBody,\n updatePassword,\n UpdatePasswordRequestBody,\n updateName,\n UpdateNameRequestBody,\n getUserById,\n EmailSendRead,\n sendEmails,\n UpdateCompanyNameRequestBody,\n updateCompanyName,\n EmailTaskCreate,\n createEmailTask,\n listOrgUsers,\n getLicense,\n} from \"../../request/PawsqlClient\";\nimport { PawsqlRequestService } from \"../../request/PawsqlRequestService\";\n\nexport class UserService extends PawsqlRequestService {\n public login(body: LoginRequestBody) {\n return loginUser(body, this.requestOptions);\n }\n public resetPassword(body: ResetPasswordRequestBody) {\n return resetPassword(body, this.requestOptions);\n }\n public resetPasswordAction(body: ResetPasswordActionRequestBody) {\n return resetPasswordAction(body, this.requestOptions);\n }\n public updatePassword(body: UpdatePasswordRequestBody) {\n return updatePassword(body, this.requestOptions);\n }\n public updateName(body: UpdateNameRequestBody) {\n return updateName(body, this.requestOptions);\n }\n\n public updateCompanyName(body: UpdateCompanyNameRequestBody) {\n return updateCompanyName(body, this.requestOptions);\n }\n\n public signup(body: UserCreate) {\n return signupUser(body, this.requestOptions);\n }\n\n public logout(userId: UserId) {\n return logoutUser(userId, this.requestOptions);\n }\n\n public reactive(email: string) {\n return reactiveUser({ email: email }, this.requestOptions);\n }\n\n public get() {\n return getUser(this.requestOptions);\n }\n\n public list() {\n return listUsers(this.requestOptions);\n }\n\n public listOrgUsers() {\n return listOrgUsers(this.requestOptions);\n }\n\n public sendEmails(body: EmailSendRead) {\n return sendEmails(body, this.requestOptions);\n }\n\n public createEmailTask(body: EmailTaskCreate) {\n return createEmailTask(body, this.requestOptions);\n }\n\n public getUserById(userId: string) {\n return getUserById({ userId: userId }, this.requestOptions);\n }\n public getLicense() {\n return getLicense(this.requestOptions);\n }\n}\n","import queryString from \"query-string\";\nimport { useMemo } from \"react\";\nimport { useLocation, useNavigate, useParams, Location, To, NavigateOptions } from \"react-router-dom\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction useRouter(): {\n query: T;\n params: P;\n pathname: string;\n location: Location;\n push(path: To, state?: NavigateOptions): void;\n replace(path: To, state?: NavigateOptions): void;\n} {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const params: any = useParams();\n const location = useLocation();\n const navigate = useNavigate();\n const query = useMemo(\n () =>\n ({\n ...queryString.parse(location.search), // Convert string to object\n ...params,\n } as T),\n [params, location.search]\n );\n\n return useMemo(() => {\n return {\n params,\n push: navigate,\n replace: (path, state) => navigate(path, { ...state, replace: true }),\n pathname: location.pathname,\n query,\n location,\n };\n }, [navigate, location, query, params]);\n}\n\nexport default useRouter;\n","import { QueryFunction, QueryKey, useQuery, UseQueryOptions } from \"react-query\";\n\ninterface Disabled {\n enabled: false;\n}\n\nexport function useSuspenseQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey\n>(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options: Readonly<\n Omit, \"queryKey\" | \"queryFn\" | \"suspense\">\n > = {}\n) {\n return useQuery(queryKey, queryFn, {\n ...options,\n suspense: true,\n }).data as typeof options extends Disabled ? TData | undefined : TData;\n}\n","export const SCOPE_WORKSPACE = \"scope:workspace\";\nexport const SCOPE_USER = \"scope:user\";\n","import { RequestMiddleware } from \"core/request/RequestMiddleware\";\nimport { useGetService } from \"core/servicesProvider\";\n\n/**\n * This hook is responsible for registering RequestMiddlewares used in BaseRequest\n */\nexport const useDefaultRequestMiddlewares = (): RequestMiddleware[] => {\n return useGetService(\"DefaultRequestMiddlewares\");\n};\n","import { DependencyList, useEffect, useRef } from \"react\";\n\nexport function useInitService(f: () => T, deps: DependencyList): T {\n const service = useRef(null);\n\n useEffect(() => {\n if (service.current !== null) {\n service.current = f();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n\n if (service.current === null) {\n service.current = f();\n }\n\n return service.current;\n}\n","import React, { Dispatch, SetStateAction, useCallback, useContext, useMemo, useState } from \"react\";\nimport { useMutation, useQueryClient } from \"react-query\";\n\nimport { UserService } from \"core/domain/User/UserService\";\nimport useRouter from \"hooks/useRouter\";\nimport { isDefined } from \"utils/common\";\n\nimport { useConfig } from \"../../config\";\nimport {\n LoginRequestBody,\n UserCreate,\n UserId,\n ResetPasswordRequestBody,\n UpdatePasswordRequestBody,\n ResetPasswordActionRequestBody,\n UpdateNameRequestBody,\n UpdateCompanyNameRequestBody,\n} from \"../../core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"../workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../Scope\";\nimport { useDefaultRequestMiddlewares } from \"../useDefaultRequestMiddlewares\";\nimport { useInitService } from \"../useInitService\";\n\nexport const userKeys = {\n all: [SCOPE_USER, \"users\"] as const,\n lists: () => [...userKeys.all, \"list\"] as const,\n listOrgs: () => [...userKeys.all, \"listOrgs\"] as const,\n list: (filters: string) => [...userKeys.lists(), { filters }] as const,\n currentUser: () => [...userKeys.all, \"currentUser\"] as const,\n detail: (userId: string) => [...userKeys.all, \"details\", userId] as const,\n state: (userId: string) => [...userKeys.all, \"state\", userId] as const,\n};\n\ninterface Context {\n // loginUser: (values: LoginRequestBody) => Promise;\n isLogin: boolean;\n setIsLogin: Dispatch>;\n logout: () => void;\n}\n\nexport const UserServiceContext = React.createContext(null);\n\nexport const UserServiceProvider: React.FC = ({ children }) => {\n // const loginUser = (values: LoginRequestBody) => useLoginUser(values);\n const [isLogin, setIsLogin] = useState(isDefined(localStorage.getItem(\"username\")));\n const logout = useCallback(() => {\n localStorage.removeItem(\"username\");\n localStorage.removeItem(\"token\");\n setIsLogin(false);\n }, [setIsLogin]);\n const ctx = useMemo(\n () => ({\n // loginUser,\n isLogin,\n setIsLogin,\n logout,\n }),\n [isLogin, logout]\n );\n\n return {children};\n};\n\nexport const useUserService = (): Context => {\n const userService = useContext(UserServiceContext);\n if (!userService) {\n throw new Error(\"userService must be used within a UserServiceProvider.\");\n }\n\n return userService;\n};\n\nexport function useUserApiService() {\n const config = useConfig();\n const middlewares = useDefaultRequestMiddlewares();\n return useInitService(() => new UserService(config.apiUrl, middlewares), [config.apiUrl, middlewares]);\n}\n\nexport const useCurrentUserId = () => {\n const { params } = useRouter();\n\n return params.userId;\n};\n\nexport const useCurrentUser = () => {\n return useGetUser();\n};\n\nexport const useLoginUser = () => {\n const service = useUserApiService();\n return useMutation((userInfo: LoginRequestBody) => service.login(userInfo));\n};\n\nexport const useResetPassword = () => {\n const service = useUserApiService();\n return useMutation((userInfo: ResetPasswordRequestBody) => service.resetPassword(userInfo));\n};\n\nexport const useResetPasswordAction = () => {\n const service = useUserApiService();\n return useMutation((userInfo: ResetPasswordActionRequestBody) => service.resetPasswordAction(userInfo));\n};\n\nexport const useUpdatePassword = () => {\n const service = useUserApiService();\n return useMutation((userInfo: UpdatePasswordRequestBody) => service.updatePassword(userInfo));\n};\n\nexport const useUpdateName = () => {\n const service = useUserApiService();\n return useMutation((userInfo: UpdateNameRequestBody) => service.updateName(userInfo));\n};\n\nexport const useUpdateCompanyName = () => {\n const service = useUserApiService();\n return useMutation((userInfo: UpdateCompanyNameRequestBody) => service.updateCompanyName(userInfo));\n};\n\nexport const useSignupUser = () => {\n const service = useUserApiService();\n const queryClient = useQueryClient();\n\n return useMutation((userInfo: UserCreate) => service.signup(userInfo), {\n onSuccess: (result) => {\n queryClient.setQueryData(userKeys.detail(result.data.userId), result);\n },\n });\n};\n\nexport const useLogoutUser = () => {\n const service = useUserApiService();\n\n return useMutation((userId: UserId) => service.logout(userId));\n};\n\nexport const useReactiveUser = () => {\n const service = useUserApiService();\n return useMutation((email: string) => service.reactive(email));\n};\n\nexport const useGetUser = (options?: { staleTime: number }) => {\n const service = useUserApiService();\n return useSuspenseQuery(userKeys.currentUser(), () => service.get(), options);\n};\n","import { SegmentAnalytics } from \"./types\";\n\nexport class AnalyticsService {\n constructor(private context: Record, private version?: string) {}\n\n private getSegmentAnalytics = (): SegmentAnalytics | undefined => window.analytics;\n\n alias = (newId: string): void => this.getSegmentAnalytics()?.alias?.(newId);\n\n page = (name: string): void => this.getSegmentAnalytics()?.page?.(name);\n\n reset = (): void => this.getSegmentAnalytics()?.reset?.();\n\n track =

>(name: string, properties: P): void =>\n this.getSegmentAnalytics()?.track?.(name, {\n ...properties,\n ...this.context,\n pawsql_version: this.version,\n environment: this.version === \"dev\" ? \"dev\" : \"prod\",\n });\n\n identify = (userId: string, traits: Record = {}): void => {\n this.getSegmentAnalytics()?.identify?.(userId, traits);\n };\n\n group = (organisationId: string, traits: Record = {}): void =>\n this.getSegmentAnalytics()?.group?.(organisationId, traits);\n}\n","import React, { useContext, useEffect, useMemo } from \"react\";\nimport { useMap } from \"react-use\";\n\nimport { AnalyticsService } from \"core/analytics/AnalyticsService\";\n\ntype AnalyticsContext = Record;\n\nexport interface AnalyticsServiceProviderValue {\n analyticsContext: AnalyticsContext;\n setContext: (ctx: AnalyticsContext) => void;\n addContextProps: (props: AnalyticsContext) => void;\n removeContextProps: (props: string[]) => void;\n service: AnalyticsService;\n}\n\nexport const analyticsServiceContext = React.createContext(null);\n\nfunction AnalyticsServiceProvider({\n children,\n version,\n initialContext = {},\n}: {\n children: React.ReactNode;\n version?: string;\n initialContext?: AnalyticsContext;\n}) {\n const [analyticsContext, { set, setAll, remove }] = useMap(initialContext);\n\n const analyticsService: AnalyticsService = useMemo(\n () => new AnalyticsService(analyticsContext, version),\n [version, analyticsContext]\n );\n\n const handleAddContextProps = (props: AnalyticsContext) => {\n Object.entries(props).forEach((value) => set(...value));\n };\n\n const handleRemoveContextProps = (props: string[]) => props.forEach(remove);\n\n return (\n \n {children}\n \n );\n}\n\nexport const useAnalyticsService = (): AnalyticsService => {\n return useAnalytics().service;\n};\n\nexport const useAnalytics = (): AnalyticsServiceProviderValue => {\n const analyticsContext = useContext(analyticsServiceContext);\n\n if (!analyticsContext) {\n throw new Error(\"analyticsContext must be used within a AnalyticsServiceProvider.\");\n }\n\n return analyticsContext;\n};\n\nexport const useAnalyticsIdentifyUser = (userId?: string): void => {\n const analyticsService = useAnalyticsService();\n\n useEffect(() => {\n if (userId) {\n analyticsService.identify(userId);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userId]);\n};\n\nexport const useTrackPage = (page: string): void => {\n const analyticsService = useAnalyticsService();\n\n useEffect(() => {\n analyticsService.page(page);\n }, [analyticsService, page]);\n};\n\nexport const useAnalyticsRegisterValues = (props?: AnalyticsContext | null): void => {\n const { addContextProps, removeContextProps } = useAnalytics();\n\n useEffect(() => {\n if (props) {\n addContextProps(props);\n\n return () => removeContextProps(Object.keys(props));\n }\n\n return;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props]);\n};\n\nexport default React.memo(AnalyticsServiceProvider);\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { useQueryErrorResetBoundary } from \"react-query\";\nimport { NavigateFunction, useNavigate } from \"react-router-dom\";\nimport { useLocation } from \"react-use\";\nimport { LocationSensorState } from \"react-use/lib/useLocation\";\n\nimport { isVersionError } from \"core/request/VersionError\";\nimport { ErrorOccurredView } from \"views/common/ErrorOccurredView\";\nimport { ResourceNotFoundErrorBoundary } from \"views/common/ResorceNotFoundErrorBoundary\";\nimport { StartOverErrorView } from \"views/common/StartOverErrorView\";\n\ninterface ApiErrorBoundaryState {\n errorId?: string;\n message?: string;\n didRetry?: boolean;\n}\n\nenum ErrorId {\n VersionMismatch = \"version.mismatch\",\n ServerUnavailable = \"server.unavailable\",\n UnknownError = \"unknown\",\n}\n\ninterface ApiErrorBoundaryHookProps {\n location: LocationSensorState;\n onRetry?: () => void;\n navigate: NavigateFunction;\n}\n\ninterface ApiErrorBoundaryProps {\n onError?: (errorId?: string) => void;\n}\n\nclass ApiErrorBoundary extends React.Component<\n ApiErrorBoundaryHookProps & ApiErrorBoundaryProps,\n ApiErrorBoundaryState\n> {\n state: ApiErrorBoundaryState = {};\n\n static getDerivedStateFromError(error: { message: string; status?: number; __type?: string }): ApiErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n if (isVersionError(error)) {\n return { errorId: ErrorId.VersionMismatch, message: error.message };\n }\n\n const isNetworkBoundaryMessage = error.message === \"Failed to fetch\";\n const is502 = error.status === 502;\n\n if (isNetworkBoundaryMessage || is502) {\n return { errorId: ErrorId.ServerUnavailable, didRetry: false };\n }\n\n return { errorId: ErrorId.UnknownError, didRetry: false };\n }\n\n componentDidUpdate(prevProps: ApiErrorBoundaryHookProps) {\n const { location } = this.props;\n\n if (location !== prevProps.location) {\n this.setState({ errorId: undefined, didRetry: false });\n this.props.onError?.(undefined);\n } else {\n this.props.onError?.(this.state.errorId);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n componentDidCatch(): void {}\n\n render(): React.ReactNode {\n const { errorId, didRetry, message } = this.state;\n const { onRetry, navigate, children } = this.props;\n\n if (errorId === ErrorId.VersionMismatch) {\n return ;\n }\n\n if (errorId === ErrorId.ServerUnavailable && !didRetry) {\n return (\n }\n ctaButtonText={}\n onCtaButtonClick={() => {\n this.setState({ didRetry: true, errorId: undefined });\n onRetry?.();\n }}\n />\n );\n }\n\n return !errorId ? (\n }>{children}\n ) : (\n }\n ctaButtonText={}\n onCtaButtonClick={() => {\n navigate(\"..\");\n }}\n />\n );\n }\n}\n\nconst ApiErrorBoundaryWithHooks: React.FC = ({ children, ...props }) => {\n const { reset } = useQueryErrorResetBoundary();\n const location = useLocation();\n const navigate = useNavigate();\n\n return (\n \n {children}\n \n );\n};\n\nexport default ApiErrorBoundaryWithHooks;\n","import { useEffect } from \"react\";\n\n// if token is undefined calls to segment will be a no-op.\nconst useSegment = (token?: string): void => {\n useEffect(() => {\n if (token) {\n const script = document.createElement(\"script\");\n script.innerText = `\n !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error(\"Segment snippet included twice.\");else{analytics.invoked=!0;analytics.methods=[\"trackSubmit\",\"trackClick\",\"trackLink\",\"trackForm\",\"pageview\",\"identify\",\"reset\",\"group\",\"track\",\"ready\",\"alias\",\"debug\",\"page\",\"once\",\"off\",\"on\",\"addSourceMiddleware\",\"addIntegrationMiddleware\",\"setAnonymousId\",\"addDestinationMiddleware\"];analytics.factory=function(e){return function(){var t=Array.prototype.slice.call(arguments);t.unshift(e);analytics.push(t);return analytics}};for(var e=0;e {\n const config = useConfig();\n useSegment(config.segment.enabled ? config.segment.token : \"\");\n\n return {children};\n};\n\nexport { AnalyticsProvider };\n","import React from \"react\";\nimport { QueryClient, QueryClientProvider } from \"react-query\";\n// import { ReactQueryDevtools } from \"react-query/devtools\";\n\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n retry: 0,\n },\n },\n});\n\nconst StoreProvider: React.FC = ({ children }) => (\n \n {/* */}\n {children}\n \n);\n\nexport { StoreProvider };\n","// extracted by mini-css-extract-plugin\nexport default {\"errorOccurredView\":\"ErrorOccurredView_errorOccurredView__3tNpb\",\"octavia\":\"ErrorOccurredView_octavia__VnkeM\",\"content\":\"ErrorOccurredView_content__fF3uq\",\"message\":\"ErrorOccurredView_message__CZ7ry\"};","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\n\nimport { Button, H2 } from \"components\";\n\nimport styles from \"./ErrorOccurredView.module.scss\";\n\ninterface ErrorOccurredViewProps {\n message: React.ReactNode;\n ctaButtonText?: React.ReactNode;\n onCtaButtonClick?: React.MouseEventHandler;\n}\n\nexport const ErrorOccurredView: React.FC = ({ message, onCtaButtonClick, ctaButtonText }) => {\n return (\n

\n
\n {/* \"\" */}\n

\n \n

\n

{message}

\n {onCtaButtonClick && ctaButtonText && (\n \n )}\n
\n
\n );\n};\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\n\nimport { CommonRequestError } from \"core/request/CommonRequestError\";\n\ninterface BoundaryState {\n hasError: boolean;\n message?: React.ReactNode | null;\n}\n\nconst initialState: BoundaryState = {\n hasError: false,\n message: null,\n};\n\nexport class ResourceNotFoundErrorBoundary extends React.Component<\n { errorComponent: React.ReactElement },\n BoundaryState\n> {\n static getDerivedStateFromError(error: CommonRequestError): BoundaryState {\n if (error.status && [401, 404, 422].includes(error.status)) {\n const messageId = error.status === 401 ? \"errorView.notAuthorized\" : \"errorView.notFound\";\n return {\n hasError: true,\n message: ,\n };\n } else {\n throw error;\n }\n }\n\n state = initialState;\n\n reset = (): void => {\n this.setState(initialState);\n };\n\n render(): React.ReactNode {\n return this.state.hasError\n ? React.cloneElement(this.props.errorComponent, {\n message: this.state.message,\n onReset: this.reset,\n })\n : this.props.children;\n }\n}\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport { ErrorOccurredView } from \"views/common/ErrorOccurredView\";\n\ninterface StartOverErrorViewProps {\n message?: string;\n onReset?: () => void;\n}\n\nexport const StartOverErrorView: React.FC = ({ message, onReset }) => {\n const navigate = useNavigate();\n\n return (\n }\n ctaButtonText={}\n onCtaButtonClick={() => {\n onReset?.();\n navigate(\"..\");\n }}\n />\n );\n};\n","import ApiErrorBoundary from \"./ApiErrorBoundary\";\n\nexport default ApiErrorBoundary;\n","import { createGlobalStyle, ThemeProps } from \"styled-components\";\n\nimport { Theme } from \"./theme\";\n\nconst GlobalStyle = createGlobalStyle>`\n #__next,\n html,\n body,\n #root {\n height: 100%;\n width: 100%;\n padding: 0;\n margin: 0;\n font-weight: normal;\n -webkit-font-smoothing: antialiased;\n color: ${({ theme }) => theme.textColor};\n font-family: ${({ theme }) => theme.regularFont};\n background: ${({ theme }) => theme.backgroundColor};\n font-size: 14px;\n }\n \n body {\n overflow: hidden !important;\n }\n button, input, textarea {\n font-family: ${({ theme }) => theme.regularFont};\n }\n \n * {\n box-sizing: border-box;\n }\n`;\n\nexport default GlobalStyle;\n","import { ConnectionConfiguration } from \"../analysis\";\n\nimport {\n getWorkspace,\n listWorkspaces,\n updateWorkspace,\n webBackendGetWorkspaceState,\n WebBackendWorkspaceState,\n WorkspaceIdRequestBody,\n WorkspaceUpdate,\n checkDBConnection,\n MyWorkspaceCreate,\n} from \"../../request/PawsqlClient\";\nimport { PawsqlRequestService } from \"../../request/PawsqlRequestService\";\n\nexport class WorkspaceService extends PawsqlRequestService {\n public async check_connection(\n params: {\n sourceId?: string;\n connectionConfiguration?: ConnectionConfiguration;\n },\n requestParams?: RequestInit\n ) {\n // eslint-disable-next-line prefer-const\n const { data } = await checkDBConnection(params as MyWorkspaceCreate, {\n ...this.requestOptions,\n signal: requestParams?.signal,\n });\n return data;\n }\n\n public get(body: WorkspaceIdRequestBody) {\n return getWorkspace(body, this.requestOptions);\n }\n\n public list() {\n return listWorkspaces(this.requestOptions);\n }\n\n public update(body: WorkspaceUpdate) {\n return updateWorkspace(body, this.requestOptions);\n }\n\n public getState(body: WebBackendWorkspaceState) {\n return webBackendGetWorkspaceState(body, this.requestOptions);\n }\n}\n","import React, { useCallback, useContext, useMemo } from \"react\";\nimport { useMutation, useQueryClient } from \"react-query\";\n\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\n\nimport { useConfig } from \"../../config\";\nimport { WorkspaceUpdate } from \"../../core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"./useSuspenseQuery\";\nimport { SCOPE_USER, SCOPE_WORKSPACE } from \"../Scope\";\nimport { useDefaultRequestMiddlewares } from \"../useDefaultRequestMiddlewares\";\nimport { useInitService } from \"../useInitService\";\nimport { Workspace } from \"core/domain/workspace/WorkspaceDomain\";\nimport { WorkspaceService } from \"core/domain/workspace/WorkspaceService\";\n\nexport const workspaceKeys = {\n all: [SCOPE_USER, \"workspaces\"] as const,\n lists: () => [...workspaceKeys.all, \"list\"] as const,\n list: (filters: string) => [...workspaceKeys.lists(), { filters }] as const,\n detail: (workspaceId: string) => [...workspaceKeys.all, \"details\", workspaceId] as const,\n state: (workspaceId: string) => [...workspaceKeys.all, \"state\", workspaceId] as const,\n};\n\ninterface Context {\n selectWorkspace: (workspaceId?: string | null | Workspace) => void;\n exitWorkspace: () => void;\n}\n\nexport const WorkspaceServiceContext = React.createContext(null);\n\nconst useSelectWorkspace = (): ((workspace?: string | null | Workspace) => void) => {\n const queryClient = useQueryClient();\n const { push } = useRouter();\n\n return useCallback(\n async (workspace) => {\n if (typeof workspace === \"object\") {\n push(`${RoutePaths.App}/${RoutePaths.Workspaces}/${workspace?.workspaceId}`);\n } else {\n push(`${RoutePaths.App}/${RoutePaths.Workspaces}/${workspace}`);\n }\n await queryClient.removeQueries(SCOPE_WORKSPACE);\n },\n [push, queryClient]\n );\n};\n\nexport const WorkspaceServiceProvider: React.FC = ({ children }) => {\n const selectWorkspace = useSelectWorkspace();\n\n const ctx = useMemo(\n () => ({\n selectWorkspace,\n exitWorkspace: () => {\n selectWorkspace(\"\");\n },\n }),\n [selectWorkspace]\n );\n\n return {children};\n};\n\nexport const useWorkspaceService = (): Context => {\n const workspaceService = useContext(WorkspaceServiceContext);\n if (!workspaceService) {\n throw new Error(\"useWorkspaceService must be used within a WorkspaceServiceProvider.\");\n }\n\n return workspaceService;\n};\n\nfunction useWorkspaceApiService() {\n const config = useConfig();\n const middlewares = useDefaultRequestMiddlewares();\n return useInitService(() => new WorkspaceService(config.apiUrl, middlewares), [config.apiUrl, middlewares]);\n}\n\nexport const useCurrentWorkspaceId = () => {\n const { params } = useRouter();\n\n return params.workspaceId;\n};\n\nexport const useCurrentWorkspace = () => {\n const workspaceId = useCurrentWorkspaceId();\n\n return useGetWorkspace(workspaceId, {\n staleTime: Infinity,\n });\n};\n\nexport const useCurrentWorkspaceState = () => {\n const workspaceId = useCurrentWorkspaceId();\n const service = useWorkspaceApiService();\n\n return useSuspenseQuery(workspaceKeys.state(workspaceId), () => service.getState({ workspaceId }), {\n // We want to keep this query only shortly in cache, so we refetch\n // the data whenever the user might have changed sources/destinations/connections\n // without requiring to manually invalidate that query on each change.\n cacheTime: 5 * 1000,\n });\n};\n\nexport const useListWorkspaces = () => {\n const service = useWorkspaceApiService();\n\n return useSuspenseQuery(workspaceKeys.lists(), () => service.list()).workspaces;\n};\n\nexport const useGetWorkspace = (\n workspaceId: string,\n options?: {\n staleTime: number;\n }\n) => {\n const service = useWorkspaceApiService();\n return useSuspenseQuery(workspaceKeys.detail(workspaceId), () => service.get({ workspaceId }), options);\n};\n\nexport const useUpdateWorkspace = () => {\n const service = useWorkspaceApiService();\n const queryClient = useQueryClient();\n\n return useMutation((workspace: WorkspaceUpdate) => service.update(workspace), {\n onSuccess: (data) => {\n queryClient.setQueryData(workspaceKeys.detail(data.workspaceId), data);\n },\n });\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"modal\":\"WeChatQRModal_modal__jMtMO\",\"closeButton\":\"WeChatQRModal_closeButton__Dtc72\",\"qrCode\":\"WeChatQRModal_qrCode__5VIUu\",\"iconButton\":\"WeChatQRModal_iconButton__lZC6r\",\"text\":\"WeChatQRModal_text__N4INs\"};","import WeChatQRModal from \"./WeChatQRModal\";\n\nexport default WeChatQRModal;\n","import React, { useEffect, useState } from \"react\";\nimport styles from \"./WeChatQRModal.module.scss\"; // 导入样式\nimport { useIntl } from \"react-intl\";\nimport { RiCloseLine } from \"@remixicon/react\";\n\nconst WeChatQRModal: React.FC = () => {\n const { formatMessage } = useIntl();\n const [isOpen, setIsOpen] = useState(false); // 控制模态框的打开状态\n\n useEffect(() => {\n const storedData = localStorage.getItem(\"wechatQRVisible\");\n const currentTime = new Date().getTime();\n\n if (storedData) {\n const { timestamp, isOpen: storedIsOpen } = JSON.parse(storedData);\n if (currentTime - timestamp < 3 * 7 * 24 * 60 * 60 * 1000) {\n setIsOpen(storedIsOpen); // 根据存储状态决定是否显示二维码\n }\n } else {\n setIsOpen(true); // 首次访问,显示二维码\n localStorage.setItem(\"wechatQRVisible\", JSON.stringify({ timestamp: currentTime, isOpen: true }));\n }\n }, []);\n\n const handleToggle = () => {\n setIsOpen(!isOpen); // 切换打开状态\n const currentTime = new Date().getTime();\n localStorage.setItem(\"wechatQRVisible\", JSON.stringify({ timestamp: currentTime, isOpen: !isOpen })); // 更新存储状态\n };\n\n const handleClose = () => {\n setIsOpen(false); // 关闭模态框\n const currentTime = new Date().getTime();\n localStorage.setItem(\"wechatQRVisible\", JSON.stringify({ timestamp: currentTime, isOpen: false })); // 更新存储状态\n };\n\n return (\n
\n {isOpen && (\n
\n
\n \n

{formatMessage({ id: \"wechat.page.message\" })}

\n \"WeChat\n
\n
\n )}\n {!isOpen && (\n \n )}\n
\n );\n};\n\nexport default WeChatQRModal;\n","import { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\nimport { ConnectionConfiguration } from \"../analysis\";\n\nimport {\n checkDBConnection,\n MyWorkspaceCreate,\n InstanceCreate,\n InstanceUpdate,\n InstanceFieldUpdate,\n checkConnection,\n checkVariables,\n createInstance,\n deleteInstance,\n getInstance,\n getInstanceStatus,\n listInstances,\n updateInstanceField,\n updateInstanceName,\n} from \"../../request/PawsqlClient\";\n\nexport class InstanceService extends PawsqlRequestService {\n public async check_connection(\n params: {\n sourceId?: string;\n connectionConfiguration?: ConnectionConfiguration;\n },\n requestParams?: RequestInit\n ) {\n // eslint-disable-next-line prefer-const\n const { data } = await checkDBConnection(params as MyWorkspaceCreate, {\n ...this.requestOptions,\n signal: requestParams?.signal,\n });\n return data;\n }\n public list(userId: string, currentUserId?: string) {\n return listInstances({ userId: userId, currentUserId: currentUserId }, this.requestOptions);\n }\n\n public delete(dbinstanceId: string) {\n return deleteInstance({ id: dbinstanceId }, this.requestOptions);\n }\n\n public create(body: InstanceCreate) {\n return createInstance(body, this.requestOptions);\n }\n\n public get(instanceId: string) {\n return getInstance({ id: instanceId }, this.requestOptions);\n }\n public updateInstanceField(values: InstanceFieldUpdate) {\n return updateInstanceField(values, this.requestOptions);\n }\n\n public getStatus(instanceId: string) {\n return getInstanceStatus({ id: instanceId }, this.requestOptions);\n }\n\n public checkVariables(instanceId: string, configuration: any) {\n return checkVariables({ id: instanceId, configuration: configuration }, this.requestOptions);\n }\n\n public checkConnection(instanceId: string) {\n return checkConnection({ id: instanceId }, this.requestOptions);\n }\n\n public updateInstanceName(instanceUpdate: InstanceUpdate) {\n return updateInstanceName(instanceUpdate, this.requestOptions);\n }\n}\n","import { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\n\nimport { ConfigUpdate, getConfig, updateConfig } from \"../../request/PawsqlClient\";\n\nexport class ConfigService extends PawsqlRequestService {\n public getConfig() {\n return getConfig(this.requestOptions);\n }\n\n public updateConfig(configUpdate: ConfigUpdate) {\n return updateConfig(configUpdate, this.requestOptions);\n }\n}\n","import { useMutation, useQueryClient } from \"react-query\";\n\nimport { useConfig } from \"config\";\nimport { ConfigService } from \"core/domain/workspace/ConfigService\";\nimport { useInitService } from \"services/useInitService\";\n\nimport { ConfigUpdate } from \"../../core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\n\nexport const configsKeys = {\n all: [SCOPE_USER, \"configs\"] as const,\n config: (userId: string) => [\"config\", userId] as const,\n};\n\nexport function useConfigService() {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n return useInitService(() => new ConfigService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);\n}\n\nconst useGetConfig = () => {\n const service = useConfigService();\n return useSuspenseQuery(configsKeys.all, () => service.getConfig());\n};\n\nconst useUpdateConfig = () => {\n const service = useConfigService();\n const queryClient = useQueryClient();\n\n return useMutation(\n (values: ConfigUpdate) => {\n return service.updateConfig(values);\n },\n {\n onSuccess: ({ data }) => {\n if (data) {\n queryClient.invalidateQueries(configsKeys.all);\n }\n },\n }\n );\n};\n\nexport { useGetConfig, useUpdateConfig };\n","import { useMutation } from \"react-query\";\n\nimport { UserService } from \"core/domain/User/UserService\";\nimport { useInitService } from \"services/useInitService\";\n\nimport { useConfig } from \"../../config\";\nimport { EmailSendRead, EmailTaskCreate, UserRead } from \"../../core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\n\nexport const usersKeys = {\n all: [SCOPE_USER, \"users\"] as const,\n lists: () => [...usersKeys.all, \"list\"] as const,\n list: (filters: string) => [...usersKeys.lists(), { filters }] as const,\n listOrg: () => [...usersKeys.lists(), \"orgUsers\"] as const,\n detail: (userId: string) => [...usersKeys.all, \"details\", userId] as const,\n license: () => [...usersKeys.all, \"license\"] as const,\n};\n\nexport interface ListUser {\n users: UserRead[];\n}\n\nexport function useUserService() {\n const config = useConfig();\n const middlewares = useDefaultRequestMiddlewares();\n return useInitService(() => new UserService(config.apiUrl, middlewares), [config.apiUrl, middlewares]);\n}\n\nconst useGetUser = (userId: string): UserRead => {\n const service = useUserService();\n\n return useSuspenseQuery(usersKeys.detail(userId), () => service.getUserById(userId));\n};\n\nconst useGetLicense = () => {\n const service = useUserService();\n return useSuspenseQuery(usersKeys.license(), () => service.getLicense());\n};\n\nexport const useSendEmails = () => {\n const service = useUserService();\n\n return useMutation((emialSend: EmailSendRead) => service.sendEmails(emialSend));\n};\n\nexport const useCreateEmailTask = () => {\n const service = useUserService();\n\n return useMutation((emialSend: EmailTaskCreate) => service.createEmailTask(emialSend));\n};\n\nconst useListUsers = () => {\n const service = useUserService();\n return useSuspenseQuery(usersKeys.lists(), () => service.list());\n};\n\nconst useListOrgUsers = () => {\n const service = useUserService();\n return useSuspenseQuery(usersKeys.listOrg(), () => service.listOrgUsers());\n};\n\nexport { useGetUser, useListUsers, useListOrgUsers, useGetLicense };\n","import React, { useContext, useEffect, useMemo, useState } from \"react\";\n\nimport { ConfigRead, LicenseRead, UserRead } from \"core/request/PawsqlClient\";\nimport { useGetConfig } from \"hooks/services/useConfigHook\";\nimport { useCurrentUser } from \"services/users/UsersService\";\nimport { useGetLicense } from \"hooks/services/useUserHook\";\n\ninterface MyAuthContextApi {\n isDemo: boolean;\n isNormal: boolean;\n isAdmin: boolean;\n isOrgCreator: boolean;\n isOrgAdmin: boolean;\n isOrgMember: boolean;\n isBetaUser: boolean;\n authorities: string[];\n user: UserRead;\n adminConfig: ConfigRead;\n license: LicenseRead;\n}\n\nexport const MyAuthContext = React.createContext(null);\n\nexport const MyAuthenticationProvider: React.FC = ({ children }) => {\n const { data: user } = useCurrentUser();\n const { data: currentLicense } = useGetLicense();\n\n const { data: adminConfig } = useGetConfig();\n localStorage.setItem(\"username\", user.email);\n localStorage.setItem(\"pawsql-user\", user.userName);\n localStorage.setItem(\"pawsql-user-id\", user.userId);\n\n const authorities = user.authorities.map((item) => item.authority);\n const [isDemo, setIsDemo] = useState(authorities.includes(\"DEMO\"));\n const [isNormal, setIsNormal] = useState(authorities.includes(\"USER\"));\n const [isAdmin, setIsAdmin] = useState(authorities.includes(\"ADMIN\"));\n const [isOrgCreator, setIsOrgCreator] = useState(authorities.includes(\"ORG_CREATOR\"));\n const [isOrgAdmin, setIsOrgAdmin] = useState(authorities.includes(\"ORG_ADMIN\"));\n const [isOrgMember, setIsOrgMember] = useState(authorities.includes(\"ORG_MEMBER\"));\n const [isBetaUser, setIsBetaUser] = useState(authorities.includes(\"BETA_ORG_MEMBER\"));\n const [license, setLicense] = useState(currentLicense);\n\n useEffect(() => {\n setIsDemo(authorities.includes(\"DEMO\"));\n setIsNormal(authorities.includes(\"USER\"));\n setIsAdmin(authorities.includes(\"ADMIN\"));\n setIsOrgCreator(authorities.includes(\"ORG_CREATOR\"));\n setIsOrgAdmin(authorities.includes(\"ORG_ADMIN\"));\n setIsOrgMember(authorities.includes(\"ORG_MEMBER\"));\n setIsBetaUser(authorities.includes(\"BETA_ORG_MEMBER\"));\n setLicense(currentLicense);\n }, [isNormal, isDemo, isAdmin, user, isOrgMember, isOrgCreator, authorities, isBetaUser, license, currentLicense]);\n const ctx: MyAuthContextApi = useMemo(\n () => ({\n isNormal: isNormal,\n isDemo: isDemo,\n isAdmin: isAdmin,\n isOrgCreator: isOrgCreator,\n isOrgAdmin: isOrgAdmin,\n isOrgMember: isOrgMember,\n user: user,\n authorities: authorities,\n adminConfig: adminConfig,\n isBetaUser: isBetaUser,\n license: license,\n }),\n [\n isDemo,\n isAdmin,\n user,\n isOrgAdmin,\n isOrgMember,\n isOrgCreator,\n isNormal,\n authorities,\n adminConfig,\n isBetaUser,\n license,\n ]\n );\n\n return {children};\n};\n\nexport const useMyAuthService = (): MyAuthContextApi => {\n const authService = useContext(MyAuthContext);\n if (!authService) {\n throw new Error(\"useMyAuthService must be used within a MyAuthenticationService.\");\n }\n\n return authService;\n};\n","import { useMutation, useQueryClient } from \"react-query\";\n\nimport { useConfig } from \"config\";\nimport { InstanceService } from \"core/domain/workspace/InstancesService\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport { useInitService } from \"services/useInitService\";\n\nimport { InstanceFieldUpdate, InstanceUpdate } from \"../../core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\n\nexport const instancesKeys = {\n all: [SCOPE_USER, \"instances\"] as const,\n lists: () => [...instancesKeys.all, \"list\"] as const,\n list: (filters: string) => [...instancesKeys.lists(), { filters }] as const,\n detail: (instanceId: string) => [...instancesKeys.all, \"details\", instanceId] as const,\n statusDetail: (instanceId: string) => [...instancesKeys.all, \"status\", instanceId] as const,\n detailWithType: (instanceId: string, jobType: string) =>\n [...instancesKeys.all, \"details\", instanceId, jobType] as const,\n jobDetail: (instanceId: string) => [...instancesKeys.all, \"jobDetail\", instanceId] as const,\n variablesDetail: (instanceId: string, configuration: any) =>\n [...instancesKeys.all, \"variablesDetail\", instanceId, configuration] as const,\n};\n\ninterface ValuesProps {\n name: string;\n serviceType?: string;\n connectionConfiguration?: unknown;\n}\n\ninterface InstanceProps {\n name: string;\n instanceDefinitionId: string;\n}\n\nexport function useInstanceService() {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n return useInitService(() => new InstanceService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);\n}\n\nconst useInstanceList = (userId: string, currentUserId?: string) => {\n const service = useInstanceService();\n return useSuspenseQuery(instancesKeys.lists(), () => service.list(userId, currentUserId));\n};\n\nconst useDeleteInstanceById = () => {\n const service = useInstanceService();\n const queryClient = useQueryClient();\n\n return useMutation((payload: { dbinstanceId: string }) => service.delete(payload.dbinstanceId), {\n onSuccess: ({ data }) => {\n if (data) {\n queryClient.invalidateQueries(instancesKeys.lists());\n }\n },\n });\n};\n\nconst useCreateInstance = () => {\n const service = useInstanceService();\n const queryClient = useQueryClient();\n const { user } = useMyAuthService();\n\n return useMutation(\n async (createWorkspacePayload: { values: ValuesProps; instanceCreator: InstanceProps; dbinstanceId?: string }) => {\n const { values, instanceCreator, dbinstanceId } = createWorkspacePayload;\n // Try to create workspace\n const result = await service.create({\n name: values.name,\n dbinstanceId: dbinstanceId,\n instanceDefinitionId: instanceCreator.instanceDefinitionId,\n userId: user.userId,\n connectionConfiguration: values.connectionConfiguration,\n });\n return result;\n },\n {\n onSuccess: ({ data }) => {\n if (data) {\n queryClient.invalidateQueries(instancesKeys.lists());\n }\n },\n }\n );\n};\n\nconst useGetInstance = (instanceId: string) => {\n const service = useInstanceService();\n return useSuspenseQuery(instancesKeys.detail(instanceId), () => service.get(instanceId ?? \"\"));\n};\n\nconst useGetInstanceStatus = (instanceId: string) => {\n const service = useInstanceService();\n return useSuspenseQuery(instancesKeys.statusDetail(instanceId), () => service.getStatus(instanceId ?? \"\"));\n};\n\nconst useCheckSlowQueryVariables = () => {\n const service = useInstanceService();\n return useMutation(({ instanceId, configuration }: { instanceId: string; configuration: any }) =>\n service.checkVariables(instanceId, configuration)\n );\n};\n\nconst useCheckConnection = () => {\n const service = useInstanceService();\n return useMutation(({ instanceId }: { instanceId: string }) => service.checkConnection(instanceId));\n};\n\nconst useUpdateInstanceName = () => {\n const service = useInstanceService();\n const queryClient = useQueryClient();\n\n return useMutation((instanceUpdate: InstanceUpdate) => service.updateInstanceName(instanceUpdate), {\n onSuccess: ({ data }) => {\n if (data) {\n queryClient.invalidateQueries(instancesKeys.lists());\n }\n },\n });\n};\n\nconst useUpdateInstanceField = () => {\n const service = useInstanceService();\n // const queryClient = useQueryClient();\n\n return useMutation((instanceUpdate: InstanceFieldUpdate) => service.updateInstanceField(instanceUpdate), {\n // onSuccess: (data: ApiResult) => {\n // if (data.data) {\n // const instance = data.data;\n // queryClient.setQueryData(\n // instancesKeys.lists(),\n // (lst: InstanceReadList | undefined) =>\n // ({\n // instances:\n // lst?.instances?.map((item) => {\n // if (item.dbinstanceId === instance.dbinstanceId) {\n // return instance;\n // } else {\n // return item;\n // }\n // }) ?? [],\n // } as InstanceReadList)\n // );\n // }\n // },\n });\n};\n\nexport {\n useCheckConnection,\n useInstanceList,\n useDeleteInstanceById,\n useCreateInstance,\n useGetInstance,\n useCheckSlowQueryVariables,\n useGetInstanceStatus,\n useUpdateInstanceName,\n useUpdateInstanceField,\n};\n","import { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\n\nimport {\n PageController,\n StatusUpdate,\n listSlowQueryTemplates,\n getSlowQueryTemplateSummary,\n listSlowQueryTemplatesWithPage,\n updateSlowQueryTemplateStatus,\n BatchStatusUpdate,\n batchUpdateSlowQueryTemplateStatus,\n} from \"../../request/PawsqlClient\";\n\nexport class SlowQueryTemplateService extends PawsqlRequestService {\n public list(dbinstanceId: string) {\n return listSlowQueryTemplates({ id: dbinstanceId }, this.requestOptions);\n }\n public getSummary(dbinstanceId: string) {\n return getSlowQueryTemplateSummary({ id: dbinstanceId }, this.requestOptions);\n }\n public listWithPage(\n dbinstanceId: string,\n searchQuery: string,\n statusList: string[],\n databaseList: string[],\n sqlTypeList: string[],\n shardList: string[],\n isBusiness: boolean,\n pageController: PageController\n ) {\n return listSlowQueryTemplatesWithPage(\n {\n dbinstanceId: dbinstanceId,\n searchQuery: searchQuery,\n statusList: statusList,\n databaseList: databaseList,\n sqlTypeList: sqlTypeList,\n shardList: shardList,\n isBusiness: isBusiness,\n pagination: pageController,\n },\n this.requestOptions\n );\n }\n\n public updateSlowQueryTemplateStatus(remarkUpdate: StatusUpdate) {\n return updateSlowQueryTemplateStatus(remarkUpdate, this.requestOptions);\n }\n\n public batchUpdateStatus(remarkUpdate: BatchStatusUpdate) {\n return batchUpdateSlowQueryTemplateStatus(remarkUpdate, this.requestOptions);\n }\n}\n","import { useMutation, useQueryClient } from \"react-query\";\n\nimport { useConfig } from \"config\";\nimport { SlowQueryTemplateService } from \"core/domain/workspace/SlowQueryTemplatesService\";\nimport { useInitService } from \"services/useInitService\";\n\nimport {\n PageContent,\n PageController,\n StatusUpdate,\n SlowQueryRead,\n ApiResult,\n BatchStatusUpdate,\n} from \"../../core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\n\nexport const slowQueryTemplatesKeys = {\n all: [SCOPE_USER, \"slowQueryTemplateTemplates\"] as const,\n lists: () => [...slowQueryTemplatesKeys.all, \"list\"] as const,\n list: (filters: string) => [...slowQueryTemplatesKeys.lists(), { filters }] as const,\n listsOfInstance: (instanceId: string) => [...slowQueryTemplatesKeys.lists(), { instanceId }] as const,\n detail: (slowQueryTemplateId: string) => [...slowQueryTemplatesKeys.all, \"details\", slowQueryTemplateId] as const,\n summary: (dbinstanceId: string) => [...slowQueryTemplatesKeys.all, \"summary\", dbinstanceId] as const,\n details: (slowQueryTemplateId: string) =>\n [...slowQueryTemplatesKeys.all, \"detailsInfo\", slowQueryTemplateId] as const,\n};\n\nexport function useSlowQueryTemplateService() {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n return useInitService(\n () => new SlowQueryTemplateService(apiUrl, requestAuthMiddleware),\n [apiUrl, requestAuthMiddleware]\n );\n}\n\n// const useSlowQueryTemplateList = (dbinstanceId: string): SlowQueryReadList => {\n// const service = useSlowQueryTemplateService();\n// return useSuspenseQuery(slowQueryTemplatesKeys.lists(), () => service.list(dbinstanceId));\n// };\n\nconst useSlowQueryTemplateListWithPage = (\n dbinstanceId: string,\n searchQuery: string,\n statuses: string[],\n databaseList: string[],\n sqlTypes: string[],\n shardList: string[],\n isBusiness: boolean,\n pageController: PageController\n) => {\n const service = useSlowQueryTemplateService();\n return useSuspenseQuery(slowQueryTemplatesKeys.listsOfInstance(dbinstanceId), () =>\n service.listWithPage(\n dbinstanceId,\n searchQuery,\n statuses,\n databaseList,\n sqlTypes,\n shardList,\n isBusiness,\n pageController\n )\n );\n};\n\nconst useSlowQueryTemplateSummary = (dbinstanceId: string) => {\n const service = useSlowQueryTemplateService();\n return useSuspenseQuery(slowQueryTemplatesKeys.summary(dbinstanceId), () => service.getSummary(dbinstanceId));\n};\n\nconst useBatchUpdateStatus = (dbinstanceId: string) => {\n const service = useSlowQueryTemplateService();\n const queryClient = useQueryClient();\n\n return useMutation(\n (values: BatchStatusUpdate) => {\n return service.batchUpdateStatus(values);\n },\n {\n onSuccess: (result, ctx) => {\n if (result.data) {\n if (ctx.slowQueryStatus === \"ignored\") {\n queryClient.setQueryData(\n slowQueryTemplatesKeys.listsOfInstance(dbinstanceId),\n (lst: ApiResult> | undefined) => ({\n data: {\n size: lst?.data?.size ?? 0,\n current: lst?.data?.current ?? 0,\n total: lst?.data?.total ?? 0,\n records: lst?.data?.records?.filter((item) => !ctx.ids.includes(item.slowQueryTemplateId)) ?? [],\n },\n message: \"\",\n field: \"\",\n fieldData: \"\",\n code: 200,\n })\n );\n }\n }\n },\n }\n );\n};\n\nconst useUpdateSlowQueryTemplateRemark = (dbinstanceId: string) => {\n const service = useSlowQueryTemplateService();\n const queryClient = useQueryClient();\n\n return useMutation(\n (values: StatusUpdate) => {\n return service.updateSlowQueryTemplateStatus(values);\n },\n {\n onSuccess: (result, ctx) => {\n if (result.data) {\n queryClient.setQueryData(\n slowQueryTemplatesKeys.listsOfInstance(dbinstanceId),\n (lst: ApiResult> | undefined) => ({\n data: {\n size: lst?.data?.size ?? 0,\n current: lst?.data?.current ?? 0,\n total: lst?.data?.total ?? 0,\n records:\n lst?.data?.records?.map((item) => {\n if (item.slowQueryTemplateId === ctx.id) {\n return { ...item, slowQueryStatus: ctx.slowQueryStatus || \"adopted\" };\n } else {\n return item;\n }\n }) ?? [],\n },\n message: \"\",\n field: \"\",\n fieldData: \"\",\n code: 200,\n })\n );\n }\n },\n }\n );\n};\n\nexport {\n useBatchUpdateStatus,\n useSlowQueryTemplateListWithPage,\n useSlowQueryTemplateSummary,\n useUpdateSlowQueryTemplateRemark,\n};\n","import { useConfig } from \"config\";\nimport { VariableService } from \"core/domain/workspace/VariableService\";\nimport { useInitService } from \"services/useInitService\";\n\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\nimport { ApiResult, UpdateByIdRequestBody, VariableRead, VariablesRequestBody } from \"core/request/PawsqlClient\";\nimport { useMutation, useQueryClient } from \"react-query\";\n\nexport const variablesKeys = {\n all: [SCOPE_USER, \"variables\"] as const,\n lists: () => [...variablesKeys.all, \"list\"] as const,\n list: (filters: string) => [...variablesKeys.lists(), { filters }] as const,\n listWithInstanceId: (instanceId: string) => [...variablesKeys.all, \"listWithInstanceId\", instanceId] as const,\n defaultListWithDbType: (dbType: string) => [...variablesKeys.all, \"defaultList\", dbType] as const,\n detail: (variableId: string) => [...variablesKeys.all, \"details\", variableId] as const,\n summary: (instanceId: string) => [...variablesKeys.all, \"summary\", instanceId] as const,\n};\n\nexport function useVariableService() {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n return useInitService(() => new VariableService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);\n}\n\nconst useVariableList = (instanceId: string) => {\n const service = useVariableService();\n return useSuspenseQuery(variablesKeys.listWithInstanceId(instanceId), () => service.list(instanceId));\n};\n\nconst useGetVariableSummary = (instanceId: string) => {\n const service = useVariableService();\n return useSuspenseQuery(variablesKeys.summary(instanceId), () => service.getVariableSummary({ id: instanceId }));\n};\n\nconst useVariableDefaultList = (values: VariablesRequestBody) => {\n const service = useVariableService();\n return useSuspenseQuery(variablesKeys.defaultListWithDbType(values.dbType), () => service.listDefault(values));\n};\n\nconst useEnableDefaultVariable = (instanceId: string) => {\n const service = useVariableService();\n const queryClient = useQueryClient();\n\n return useMutation(\n (values: UpdateByIdRequestBody) => {\n return service.enableDefaultVariable(values);\n },\n {\n onSuccess: (data, cxt) => {\n if (data.data) {\n queryClient.setQueryData(\n variablesKeys.listWithInstanceId(instanceId),\n (lst: ApiResult | undefined) => ({\n data:\n lst?.data?.map((item) => {\n if (item.defaultVariableId === cxt.id) {\n return { ...item, enabled: cxt.value };\n } else {\n return item;\n }\n }) ?? [],\n message: \"\",\n field: \"\",\n fieldData: \"\",\n code: 200,\n })\n );\n }\n },\n }\n );\n};\n\nexport { useVariableList, useVariableDefaultList, useEnableDefaultVariable, useGetVariableSummary };\n","import { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\n\nimport {\n DbObjectRequestBody,\n EditTagRequestBody,\n addCustomTag,\n addGlobalTag,\n deleteGlobalTag,\n deleteTagRelation,\n getDbObjectDropdownData,\n getGlobalTags,\n listDbObjectsWithPage,\n manualCollect,\n IdRequestBody,\n getStatisticData,\n} from \"../../request/PawsqlClient\";\n\nexport class DbObjectService extends PawsqlRequestService {\n public manualCollect(id: string, jobType: string) {\n return manualCollect({ dbinstanceId: id, jobType: jobType }, this.requestOptions);\n }\n\n public listWithPage(values: DbObjectRequestBody) {\n return listDbObjectsWithPage(values, this.requestOptions);\n }\n\n public getDropdownData(values: IdRequestBody) {\n return getDbObjectDropdownData(values, this.requestOptions);\n }\n public addGlobalTag(values: EditTagRequestBody) {\n return addGlobalTag(values, this.requestOptions);\n }\n public deleteGlobalTag(values: EditTagRequestBody) {\n return deleteGlobalTag(values, this.requestOptions);\n }\n public addCustomTag(values: EditTagRequestBody) {\n return addCustomTag(values, this.requestOptions);\n }\n public deleteTagRelation(values: EditTagRequestBody) {\n return deleteTagRelation(values, this.requestOptions);\n }\n public getGlobalTags() {\n return getGlobalTags(this.requestOptions);\n }\n public getStatisticData(values: IdRequestBody) {\n return getStatisticData(values, this.requestOptions);\n }\n}\n","import { useMutation, useQueryClient } from \"react-query\";\n\nimport { useConfig } from \"config\";\nimport { DbObjectService } from \"core/domain/workspace/DbObjectsService\";\nimport { useInitService } from \"services/useInitService\";\n\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\nimport {\n ApiResult,\n DbObjectRead,\n DbObjectRequestBody,\n DbObjectTagRead,\n EditTagRequestBody,\n IdRequestBody,\n JobRequestBody,\n PageContent,\n} from \"core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"services/workspace/useSuspenseQuery\";\n\nexport const dbObjectsKeys = {\n all: [SCOPE_USER, \"dbObjects\"] as const,\n lists: () => [...dbObjectsKeys.all, \"list\"] as const,\n list: (filters: string) => [...dbObjectsKeys.lists(), { filters }] as const,\n detail: (dbObjectId: string) => [...dbObjectsKeys.all, \"details\", dbObjectId] as const,\n listsOfInstance: (instanceId: string) => [...dbObjectsKeys.lists(), { instanceId }] as const,\n dropdownData: (instanceId: string) => [...dbObjectsKeys.all, \"dropdownData\", instanceId] as const,\n globalTags: () => [...dbObjectsKeys.all, \"globalTags\"] as const,\n statisticData: (instanceId: string) => [...dbObjectsKeys.all, \"statisticData\", instanceId] as const,\n};\n\nexport function useDbObjectService() {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n return useInitService(() => new DbObjectService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);\n}\n\nconst useManualCollect = () => {\n const service = useDbObjectService();\n\n return useMutation((values: JobRequestBody) => {\n return service.manualCollect(values.dbinstanceId, values.jobType);\n });\n};\n\nconst useDbObjectPageList = (values: DbObjectRequestBody) => {\n const service = useDbObjectService();\n return useSuspenseQuery(dbObjectsKeys.listsOfInstance(values.dbinstanceId), () => service.listWithPage(values));\n};\n\nconst useGetDbObjectDropdownData = (values: IdRequestBody) => {\n const service = useDbObjectService();\n return useSuspenseQuery(dbObjectsKeys.dropdownData(values.id), () => service.getDropdownData(values));\n};\n\nconst useAddGlobalTag = () => {\n const service = useDbObjectService();\n const queryClient = useQueryClient();\n\n return useMutation((values: EditTagRequestBody) => service.addGlobalTag(values), {\n onSuccess: (result, ctx) => {\n if (result.data) {\n queryClient.setQueryData(dbObjectsKeys.globalTags(), (lst: ApiResult | undefined) => ({\n data: lst?.data\n ? lst?.data.concat([{ tagId: \"\", tagName: ctx.tagName ?? \"\", isGlobal: true }])\n : [{ tagId: \"\", tagName: ctx.tagName ?? \"\", isGlobal: true }],\n message: \"\",\n field: \"\",\n fieldData: \"\",\n code: 200,\n }));\n }\n },\n });\n};\n\nconst useDeleteGlobalTag = () => {\n const queryClient = useQueryClient();\n\n const service = useDbObjectService();\n return useMutation((values: EditTagRequestBody) => service.deleteGlobalTag(values), {\n onSuccess: (result, ctx) => {\n if (result.data) {\n queryClient.setQueryData(dbObjectsKeys.globalTags(), (lst: ApiResult | undefined) => ({\n data: lst?.data ? lst?.data.filter((item) => item.tagName !== ctx.tagName) : [],\n message: \"\",\n field: \"\",\n fieldData: \"\",\n code: 200,\n }));\n }\n },\n });\n};\n\nconst useAddCustomTag = (dbinstanceId: string) => {\n const service = useDbObjectService();\n const queryClient = useQueryClient();\n return useMutation((values: EditTagRequestBody) => service.addCustomTag(values), {\n onSuccess: (result, ctx) => {\n if (result.data) {\n queryClient.setQueryData(\n dbObjectsKeys.listsOfInstance(dbinstanceId),\n (lst: ApiResult> | undefined) => ({\n data: {\n size: lst?.data?.size ?? 0,\n current: lst?.data?.current ?? 0,\n total: lst?.data?.total ?? 0,\n records:\n lst?.data?.records?.map((item) => {\n if (item.dbObjectId === ctx.dbObjectId) {\n return {\n ...item,\n tags: item.tags.concat([\n { tagName: ctx.tagName ?? \"\", tagId: ctx.tagId ?? \"\", isGlobal: !!ctx.tagId },\n ]),\n };\n } else {\n return item;\n }\n }) ?? [],\n },\n message: \"\",\n field: \"\",\n fieldData: \"\",\n code: 200,\n })\n );\n }\n },\n });\n};\n\nconst useDeleteTagRelation = (dbinstanceId: string) => {\n const service = useDbObjectService();\n const queryClient = useQueryClient();\n\n return useMutation((values: EditTagRequestBody) => service.deleteTagRelation(values), {\n onSuccess: (result, ctx) => {\n if (result.data) {\n queryClient.setQueryData(\n dbObjectsKeys.listsOfInstance(dbinstanceId),\n (lst: ApiResult> | undefined) => ({\n data: {\n size: lst?.data?.size ?? 0,\n current: lst?.data?.current ?? 0,\n total: lst?.data?.total ?? 0,\n records:\n lst?.data?.records?.map((item) => {\n if (item.dbObjectId === ctx.dbObjectId) {\n return {\n ...item,\n tags: item.tags.filter((item) => {\n return item.tagName !== ctx.tagName;\n }),\n };\n } else {\n return item;\n }\n }) ?? [],\n },\n message: \"\",\n field: \"\",\n fieldData: \"\",\n code: 200,\n })\n );\n }\n },\n });\n};\n\nconst useGetGlobalTags = () => {\n const service = useDbObjectService();\n return useSuspenseQuery(dbObjectsKeys.globalTags(), () => service.getGlobalTags());\n};\nconst useGetStatisticData = (values: IdRequestBody) => {\n const service = useDbObjectService();\n return useSuspenseQuery(dbObjectsKeys.statisticData(values.id), () => service.getStatisticData(values));\n};\n\nexport {\n useManualCollect,\n useDbObjectPageList,\n useGetDbObjectDropdownData,\n useAddGlobalTag,\n useDeleteGlobalTag,\n useAddCustomTag,\n useDeleteTagRelation,\n useGetGlobalTags,\n useGetStatisticData,\n};\n","import {\n resetConnection,\n syncConnection,\n deleteAnalysis,\n getAnalysisJiraIssue,\n getStatementList,\n getAnalysisSummary,\n getStatementDetail,\n JiraIssueCreate,\n getOpenaiStatementDetail,\n NameUpdate,\n updateAnalysisName,\n AnalysisCreate,\n createAnalysis,\n getAnalysis,\n listAnalysesForUser,\n AnalysisRequestBody,\n createWithoutSignup,\n} from \"../../request/PawsqlClient\";\nimport { PawsqlRequestService } from \"../../request/PawsqlRequestService\";\n\nexport class AnalysisService extends PawsqlRequestService {\n public sync(connectionId: string) {\n return syncConnection({ connectionId }, this.requestOptions);\n }\n\n public reset(connectionId: string) {\n return resetConnection({ connectionId }, this.requestOptions);\n }\n\n public delete(analysisId: string) {\n return deleteAnalysis({ id: analysisId }, this.requestOptions);\n }\n\n public getSummary(analysisId: string) {\n return getAnalysisSummary({ id: analysisId }, this.requestOptions);\n }\n\n public getJiraIssue(jiraIssueCraete: JiraIssueCreate) {\n return getAnalysisJiraIssue(jiraIssueCraete, this.requestOptions);\n }\n\n public getDetailList(analysisId: string) {\n return getStatementList({ id: analysisId }, this.requestOptions);\n }\n\n public getDetail(statementId: string) {\n return getStatementDetail({ id: statementId }, this.requestOptions);\n }\n\n public updateName(update: NameUpdate) {\n return updateAnalysisName(update, this.requestOptions);\n }\n\n public getOpenaiDetail(statementId: string, prompt: string, locale: string) {\n return getOpenaiStatementDetail({ statementId: statementId, prompt: prompt, locale: locale }, this.requestOptions);\n }\n\n public getAnalysis(analysisId: string) {\n return getAnalysis({ id: analysisId }, this.requestOptions);\n }\n\n public list(analysisRequestBody: AnalysisRequestBody) {\n return listAnalysesForUser(analysisRequestBody, this.requestOptions);\n }\n\n public create(payload: AnalysisCreate) {\n return createAnalysis(payload, this.requestOptions);\n }\n public createWithoutSignup(request: FormData) {\n return createWithoutSignup(request, this.requestOptions);\n }\n}\n","import { useMutation, useQueryClient } from \"react-query\";\n\nimport { AnalysisService } from \"core/domain/analysis/AnalysisService\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport { useInitService } from \"services/useInitService\";\n\nimport { useConfig } from \"../../config\";\nimport {\n JiraIssueCreate,\n WorkloadId,\n WorkspaceDefinitionId,\n WorkspaceId,\n AnalysisRequestBody,\n NameUpdate,\n RuleBasicRead,\n} from \"../../core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\nimport { userKeys } from \"services/users/UsersService\";\n\nexport const analysesKeys = {\n all: [SCOPE_USER, \"analyses\"] as const,\n lists: () => [...analysesKeys.all, \"list\"] as const,\n list: (filters: string) => [...analysesKeys.lists(), { filters }] as const,\n detail: (analysisId: string) => [...analysesKeys.all, \"details\", analysisId] as const,\n getState: (analysisId: string) => [...analysesKeys.all, \"getState\", analysisId] as const,\n getSummary: (analysisId: string) => [...analysesKeys.all, \"getSummary\", analysisId] as const,\n getJiraIssue: (analysisId: string) => [...analysesKeys.all, \"getJiraIssue\", analysisId] as const,\n getDetail: (statementId: string) => [...analysesKeys.all, \"getDetail\", statementId] as const,\n listOfWorkspace: (workspaceId: string) => [...analysesKeys.lists(), { workspaceId }] as const,\n getDetailList: (analysisId: string) => [...analysesKeys.all, \"getDetailList\", analysisId] as const,\n};\ninterface CreateAnalysisProps {\n analysisName: string;\n workspaceId: WorkspaceId;\n workloadId: WorkloadId;\n workspaceDefinitionId: WorkspaceDefinitionId;\n analyzeFlag: boolean;\n validateFlag: boolean;\n deduplicateFlag: boolean;\n updateStatsBeforeValidationFlag: boolean;\n indexOnly: boolean;\n maxMembersForIndexOnly: number;\n maxMembers: number;\n maxPerTable: number;\n maxSpace: number;\n closeRewrite: boolean;\n rules: RuleBasicRead[];\n dbTypeDefinitionId: string;\n}\n\nexport function useAnalysisService() {\n const config = useConfig();\n const middlewares = useDefaultRequestMiddlewares();\n return useInitService(() => new AnalysisService(config.apiUrl, middlewares), [config.apiUrl, middlewares]);\n}\n\nconst useGetAnalysis = (analysisId: string) => {\n const service = useAnalysisService();\n\n return useSuspenseQuery(analysesKeys.detail(analysisId), () => service.getAnalysis(analysisId));\n};\n\nconst useCreateJiraIssue = () => {\n const service = useAnalysisService();\n\n return useMutation(async (values: JiraIssueCreate) => {\n return await service.getJiraIssue(values);\n });\n};\n\nconst useCreateAnalysis = () => {\n const service = useAnalysisService();\n const queryClient = useQueryClient();\n // const analyticsService = useAnalyticsService();\\\n const { user } = useMyAuthService();\n\n return useMutation(\n async (values: CreateAnalysisProps) => {\n const response = await service.create({\n analyzeFlag: values.analyzeFlag,\n validateFlag: values.validateFlag,\n deduplicateFlag: values.deduplicateFlag,\n updateStatsBeforeValidationFlag: values.updateStatsBeforeValidationFlag,\n indexOnly: values.indexOnly,\n maxMembersForIndexOnly: values.maxMembersForIndexOnly,\n maxMembers: values.maxMembers,\n maxPerTable: values.maxPerTable,\n maxSpace: values.maxSpace,\n closeRewrite: values.closeRewrite,\n analysisName: values.analysisName,\n workspaceId: values.workspaceId,\n workloadId: values.workloadId,\n workspaceDefinitionId: values.workspaceDefinitionId,\n userId: user.userId,\n rules: values.rules,\n dbTypeDefinitionId: values.dbTypeDefinitionId ?? \"\",\n });\n return response;\n },\n {\n onSuccess: (result, ctx) => {\n if (result.data) {\n queryClient.invalidateQueries(analysesKeys.lists());\n queryClient.invalidateQueries(analysesKeys.listOfWorkspace(ctx.workspaceId));\n queryClient.invalidateQueries(userKeys.currentUser());\n }\n },\n }\n );\n};\n\nconst useCreateWithoutSignup = () => {\n const service = useAnalysisService();\n return useMutation(async (data: FormData) => {\n const response = await service.createWithoutSignup(data);\n return response;\n });\n};\n\nconst useDeleteAnalysis = () => {\n const service = useAnalysisService();\n const queryClient = useQueryClient();\n return useMutation((analysisId: string) => service.delete(analysisId), {\n onSuccess: (result) => {\n if (result.data) {\n queryClient.invalidateQueries(analysesKeys.lists());\n queryClient.invalidateQueries(userKeys.currentUser());\n }\n },\n });\n};\n\nconst useAnalysisList = (analysisRequestBody: AnalysisRequestBody) => {\n const service = useAnalysisService();\n\n return useSuspenseQuery(analysesKeys.lists(), () => service.list(analysisRequestBody));\n};\n\nconst useWorkspaceAnalysisList = (analysisRequestBody: AnalysisRequestBody) => {\n const service = useAnalysisService();\n\n return useSuspenseQuery(analysesKeys.listOfWorkspace(analysisRequestBody.workspaceId ?? \"\"), () =>\n service.list(analysisRequestBody)\n );\n};\n\nconst useGetAnalysisSummary = (analysisId: string) => {\n const service = useAnalysisService();\n\n return useSuspenseQuery(analysesKeys.getSummary(analysisId), () => service.getSummary(analysisId));\n};\n\nconst useGetStatementList = (analysisId: string) => {\n const service = useAnalysisService();\n\n return useSuspenseQuery(analysesKeys.getDetailList(analysisId), () => service.getDetailList(analysisId));\n};\n\nconst useGetStatementDetail = (statementId: string) => {\n const service = useAnalysisService();\n return useSuspenseQuery(analysesKeys.getDetail(statementId), () => service.getDetail(statementId));\n};\n\nconst useGetOpenaiStatementDetail = () => {\n const service = useAnalysisService();\n return useMutation(async (values: { statementId: string; propmt: string; locale: string }) => {\n const response = await service.getOpenaiDetail(values.statementId, values.propmt, values.locale);\n return response;\n });\n};\n\nconst useUpdateAnalysisName = () => {\n const service = useAnalysisService();\n const queryClient = useQueryClient();\n\n return useMutation((update: NameUpdate) => service.updateName(update), {\n onSuccess: ({ data }) => {\n if (data) {\n queryClient.setQueryData(analysesKeys.detail(data.analysisId), data);\n }\n },\n });\n};\n\nexport {\n useAnalysisList,\n useGetAnalysis,\n useCreateAnalysis,\n useDeleteAnalysis,\n useCreateJiraIssue,\n useGetAnalysisSummary,\n useGetStatementList,\n useGetStatementDetail,\n useGetOpenaiStatementDetail,\n useUpdateAnalysisName,\n useWorkspaceAnalysisList,\n useCreateWithoutSignup,\n};\n","import { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\n\nimport { PageController, getInstanceJob, getPptJobType, listPptJobsWithPage } from \"../../request/PawsqlClient\";\n\nexport class PptJobsService extends PawsqlRequestService {\n // public list(userId: string) {\n // return listInstances({ userId }, this.requestOptions);\n // }\n\n // public get(instanceId: string) {\n // return getInstance({ dbinstanceId: instanceId }, this.requestOptions);\n // }\n\n // public getStatus(instanceId: string) {\n // return getInstanceStatus({ dbinstanceId: instanceId }, this.requestOptions);\n // }\n\n public getJob(instanceId: string, jobType: string) {\n return getInstanceJob({ dbinstanceId: instanceId, jobType: jobType }, this.requestOptions);\n }\n public getJobType() {\n return getPptJobType(this.requestOptions);\n }\n public listWithPage(\n dbinstanceId: string,\n searchQuery: string,\n jobType: string,\n onlyEnabled: boolean,\n pageController: PageController\n ) {\n return listPptJobsWithPage(\n {\n dbinstanceId: dbinstanceId,\n searchQuery: searchQuery,\n jobType: jobType,\n onlyEnabled: onlyEnabled,\n pagination: pageController,\n },\n this.requestOptions\n );\n }\n\n // public useUpdateInstanceName(instanceUpdate: InstanceUpdate) {\n // return updateInstanceName(instanceUpdate, this.requestOptions);\n // }\n}\n","import { useConfig } from \"config\";\nimport { PptJobsService } from \"core/domain/workspace/PptJobsService\";\nimport { useInitService } from \"services/useInitService\";\n\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\nimport { PageController } from \"core/request/PawsqlClient\";\n\nexport const pptJobsKeys = {\n all: [SCOPE_USER, \"pptJobs\"] as const,\n lists: () => [...pptJobsKeys.all, \"list\"] as const,\n list: (filters: string) => [...pptJobsKeys.lists(), { filters }] as const,\n detail: (instanceId: string, jobType: string) => [...pptJobsKeys.all, \"details\", instanceId, jobType] as const,\n jobTypes: () => [...pptJobsKeys.all, \"jobTypes\"] as const,\n};\n\nexport function usePptJobsService() {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n return useInitService(() => new PptJobsService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);\n}\n\nconst useGetInstanceJob = (instanceId: string, jobType: string) => {\n const service = usePptJobsService();\n return useSuspenseQuery(pptJobsKeys.detail(instanceId, jobType), () => service.getJob(instanceId, jobType));\n};\n\nconst useGetJobTypes = () => {\n const service = usePptJobsService();\n return useSuspenseQuery(pptJobsKeys.jobTypes(), () => service.getJobType());\n};\n\nconst usePptJobListWithPage = (\n dbinstanceId: string,\n searchQuery: string,\n jobType: string,\n onlyEnabled: boolean,\n pageController: PageController\n) => {\n const service = usePptJobsService();\n return useSuspenseQuery(pptJobsKeys.lists(), () =>\n service.listWithPage(dbinstanceId, searchQuery, jobType, onlyEnabled, pageController)\n );\n};\nexport { useGetInstanceJob, usePptJobListWithPage, useGetJobTypes };\n","import {\n repaySubscription,\n RepayRequestBody,\n cancelSubscription,\n unsubscribePlan,\n IdRequestBody,\n getCurrentSubscription,\n getUserPaymentData,\n completeSubscription,\n getPaddleLink,\n updateSubscriptionPlan,\n previewUpdateSubscriptionPlan,\n getCurrentSubscriptionUsage,\n} from \"../../request/PawsqlClient\";\nimport { PawsqlRequestService } from \"../../request/PawsqlRequestService\";\n\nexport class PlanSubscriptionService extends PawsqlRequestService {\n public repay(values: RepayRequestBody) {\n return repaySubscription(values, this.requestOptions);\n }\n public cancel(values: IdRequestBody) {\n return cancelSubscription(values, this.requestOptions);\n }\n\n public unsubscribePlan() {\n return unsubscribePlan(this.requestOptions);\n }\n public get(userId: string) {\n return getCurrentSubscription({ id: userId }, this.requestOptions);\n }\n public getUsage(userId: string) {\n return getCurrentSubscriptionUsage({ id: userId }, this.requestOptions);\n }\n\n public getPaddleLink(userId: string) {\n return getPaddleLink({ userId }, this.requestOptions);\n }\n\n public getUserSubscription(userId: string) {\n return getUserPaymentData({ id: userId }, this.requestOptions);\n }\n\n public completeSubscription(transactionId: string) {\n return completeSubscription(transactionId, this.requestOptions);\n }\n\n public updateSubscriptionPlan(id: string) {\n return updateSubscriptionPlan({ priceId: id }, this.requestOptions);\n }\n public previewUpdateSubscriptionPlan(id: string) {\n return previewUpdateSubscriptionPlan({ priceId: id }, this.requestOptions);\n }\n}\n","import { useInitService } from \"services/useInitService\";\n\nimport { useConfig } from \"../../config\";\n\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\nimport { PlanSubscriptionService } from \"core/domain/pricing-plans/PlanSubscriptionService\";\nimport { IdRequestBody } from \"core/request/PawsqlClient\";\nimport { useMutation, useQueryClient } from \"react-query\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport { useSuspenseQuery } from \"services/workspace/useSuspenseQuery\";\n\nexport const planSubscriptionsKeys = {\n all: [SCOPE_USER, \"planSubscriptions\"] as const,\n lists: () => [...planSubscriptionsKeys.all, \"list\"] as const,\n list: (filters: string) => [...planSubscriptionsKeys.lists(), { filters }] as const,\n detail: (planSubscriptionId: string) => [...planSubscriptionsKeys.all, \"details\", planSubscriptionId] as const,\n usage: (subscriptionId: string) => [...planSubscriptionsKeys.all, \"usage\", subscriptionId] as const,\n link: (userId: string) => [...planSubscriptionsKeys.all, \"link\", userId] as const,\n};\n\nexport function usePlanSubscriptionService() {\n const config = useConfig();\n const middlewares = useDefaultRequestMiddlewares();\n return useInitService(() => new PlanSubscriptionService(config.apiUrl, middlewares), [config.apiUrl, middlewares]);\n}\n\nexport const useCancelSubscription = () => {\n const service = usePlanSubscriptionService();\n\n return useMutation((values: IdRequestBody) => service.cancel(values));\n};\nexport const useUnsubscribePlan = () => {\n const service = usePlanSubscriptionService();\n const { user } = useMyAuthService();\n const queryClient = useQueryClient();\n\n return useMutation(() => service.unsubscribePlan(), {\n onSuccess: (data) => {\n if (data) {\n queryClient.invalidateQueries(planSubscriptionsKeys.detail(user.userId + \"active\"));\n }\n },\n });\n};\nexport const useUpdateSubscribePlan = () => {\n const service = usePlanSubscriptionService();\n const { user } = useMyAuthService();\n const queryClient = useQueryClient();\n\n return useMutation((priceId: string) => service.updateSubscriptionPlan(priceId), {\n onSuccess: (data) => {\n if (data) {\n queryClient.invalidateQueries(planSubscriptionsKeys.detail(user.userId));\n }\n },\n });\n};\n\nexport const usePreviewUpdateSubscriptionPlan = () => {\n const service = usePlanSubscriptionService();\n return useMutation((priceId: string) => service.previewUpdateSubscriptionPlan(priceId));\n};\n\nexport const useGetUserSubscription = (userId: string) => {\n const service = usePlanSubscriptionService();\n return useSuspenseQuery(planSubscriptionsKeys.detail(userId), () => service.get(userId));\n};\n\nexport const useGetUserSubscriptionUsage = (userId: string) => {\n const service = usePlanSubscriptionService();\n return useSuspenseQuery(planSubscriptionsKeys.usage(userId), () => service.getUsage(userId));\n};\n\nexport const useGetPaddleLink = (userId: string) => {\n const service = usePlanSubscriptionService();\n return useSuspenseQuery(planSubscriptionsKeys.link(userId), () => service.getPaddleLink(userId));\n};\n\n// export const useGetUserSubscription = (userId: string) => {\n// const service = usePlanSubscriptionService();\n// return useSuspenseQuery(planSubscriptionsKeys.detail(userId), () => service.getUserSubscription(userId));\n// // return useMutation((userId: string) => service.getUserSubscription(userId));\n// };\n","import {\n IdRequestBody,\n listPricingPlans,\n getPlanRead,\n SubscriptionStatusRequestBody,\n} from \"../../request/PawsqlClient\";\nimport { PawsqlRequestService } from \"../../request/PawsqlRequestService\";\n\nexport class PricingPlanService extends PawsqlRequestService {\n public list(values: SubscriptionStatusRequestBody) {\n return listPricingPlans(values, this.requestOptions);\n }\n public get(values: IdRequestBody) {\n return getPlanRead(values, this.requestOptions);\n }\n}\n","import { useInitService } from \"services/useInitService\";\n\nimport { useConfig } from \"../../config\";\n\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\nimport { PricingPlanService } from \"core/domain/pricing-plans/PricingPlanService\";\nimport { IdRequestBody, SubscriptionStatusRequestBody } from \"core/request/PawsqlClient\";\n\nexport const pricingPlansKeys = {\n all: [SCOPE_USER, \"pricingPlans\"] as const,\n lists: () => [...pricingPlansKeys.all, \"list\"] as const,\n list: (filters: string) => [...pricingPlansKeys.lists(), { filters }] as const,\n detail: (pricingPlanId: string) => [...pricingPlansKeys.all, \"details\", pricingPlanId] as const,\n};\n\nexport function usePricingPlanService() {\n const config = useConfig();\n const middlewares = useDefaultRequestMiddlewares();\n return useInitService(() => new PricingPlanService(config.apiUrl, middlewares), [config.apiUrl, middlewares]);\n}\n\nconst usePricingPlanList = (values: SubscriptionStatusRequestBody) => {\n const service = usePricingPlanService();\n return useSuspenseQuery(pricingPlansKeys.list(values.status + values.type), () => service.list(values));\n};\n\nconst useGetPlan = (values: IdRequestBody) => {\n const service = usePricingPlanService();\n return useSuspenseQuery(pricingPlansKeys.detail(values.id), () => service.get(values));\n};\n\nexport { usePricingPlanList, useGetPlan };\n","import { Client } from \"@stomp/stompjs\";\nimport React, { useContext, useEffect, useMemo, useState } from \"react\";\nimport { useQueryClient } from \"react-query\";\n\nimport { useConfig } from \"config\";\nimport { ApiResult, PptJobRead } from \"core/request/PawsqlClient\";\nimport { instancesKeys } from \"hooks/services/useInstanceHook\";\nimport { slowQueryTemplatesKeys } from \"hooks/services/useSlowQueryTemplateHook\";\nimport { variablesKeys } from \"hooks/services/useVariableHook\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport { dbObjectsKeys } from \"hooks/services/useDbObjectHook\";\nimport { analysesKeys } from \"hooks/services/useAnalysisHook\";\nimport { pptJobsKeys } from \"hooks/services/usePptJobHook\";\nimport { planSubscriptionsKeys } from \"hooks/services/usePlanSubscriptionHook\";\nimport { pricingPlansKeys } from \"hooks/services/usePricingPlanHook\";\n\ninterface Context {\n messages: string;\n}\n\nconst WebSocketContext = React.createContext(null);\n\nconst useWebSocketState = (): Context => {\n const WebSocketState = useContext(WebSocketContext);\n if (!WebSocketState) {\n throw new Error(\"useWebSocketState should be used within WebSocketProvider\");\n }\n return WebSocketState;\n};\n\nconst WebSocketProvider: React.FC = ({ children }) => {\n const { apiUrl } = useConfig();\n const SOCKET_URL = `${apiUrl.includes(\"https\") ? \"wss\" : \"ws\"}://${apiUrl.split(\"://\")[1]}/v1/ws-message`;\n const { user } = useMyAuthService();\n const [messages, setMessages] = useState(\"Your server message here.\");\n const queryClient = useQueryClient();\n\n useEffect(() => {\n const client = new Client({\n brokerURL: SOCKET_URL,\n reconnectDelay: 5000,\n heartbeatIncoming: 4000,\n heartbeatOutgoing: 4000,\n onConnect: () => {\n console.log(\"Connected!!\");\n client.subscribe(`/topic/message/${user.userId}`, (msg) => {\n if (msg.body) {\n const result = JSON.parse(msg.body) as ApiResult;\n if (result) {\n switch (result.field) {\n case \"variablesKeys\":\n queryClient.invalidateQueries(variablesKeys.lists());\n break;\n case \"statusKeys\":\n queryClient.invalidateQueries(instancesKeys.statusDetail(result.fieldData.instanceId));\n break;\n case \"slowQueryTemplatesKeys\":\n queryClient.invalidateQueries(slowQueryTemplatesKeys.listsOfInstance(result.fieldData.instanceId));\n break;\n case \"slowQueryTemplatesKeys.summary\":\n queryClient.invalidateQueries(slowQueryTemplatesKeys.summary(result.fieldData.instanceId));\n break;\n case \"dbObjectsKeys\":\n queryClient.invalidateQueries(dbObjectsKeys.listsOfInstance(result.fieldData.instanceId));\n break;\n case \"analysesKeys\":\n queryClient.invalidateQueries(analysesKeys.lists());\n queryClient.invalidateQueries(analysesKeys.listOfWorkspace(result.data.workspaceId));\n break;\n case \"pptJobsKeys\":\n const job = result.data as PptJobRead;\n queryClient.invalidateQueries(pptJobsKeys.detail(job?.dbinstanceId, job?.jobType));\n break;\n case \"planSubscriptionsKeys\":\n queryClient.invalidateQueries(planSubscriptionsKeys.detail(result.fieldData.userId));\n break;\n case \"pricingPlansKeys\":\n queryClient.invalidateQueries(pricingPlansKeys.list(result.fieldData.status + result.fieldData.type));\n break;\n }\n setMessages(msg.body);\n }\n }\n });\n },\n onDisconnect: () => {\n console.log(\"Disconnected!!\");\n },\n });\n\n client.activate();\n\n // Cleanup function (equivalent to componentWillUnmount in class component)\n return () => {\n client.deactivate();\n };\n }, []); // Empty dependency array ensures useEffect runs only once, equivalent to componentDidMount\n\n const ctx = useMemo(() => {\n return {\n messages,\n };\n }, [messages]);\n\n return {children};\n};\n\nexport { useWebSocketState, WebSocketProvider };\n","import React, { useContext, useMemo } from \"react\";\nimport { useLocalStorage } from \"react-use\";\n\nimport casesConfig from \"config/casesConfig.json\";\nimport { useCurrentUser } from \"services/users/UsersService\";\n\ninterface Context {\n feedbackPassed?: boolean;\n passFeedback: () => void;\n visibleUseCases?: string[];\n useCaseLinks: Record;\n skipCase: (skipId: string) => void;\n}\n\nexport const OnboardingServiceContext = React.createContext(null);\n\nexport const OnboardingServiceProvider: React.FC = ({ children }) => {\n const { data: user } = useCurrentUser();\n const [feedbackPassed, setFeedbackPassed] = useLocalStorage(`${user.userId}/passFeedback`, false);\n const [skippedUseCases, setSkippedUseCases] = useLocalStorage(`${user.userId}/skippedUseCases`, []);\n\n const ctx = useMemo(\n () => ({\n feedbackPassed,\n passFeedback: () => setFeedbackPassed(true),\n visibleUseCases: Object.keys(casesConfig).filter((useCase) => !skippedUseCases?.includes(useCase)),\n useCaseLinks: casesConfig,\n skipCase: (skipId: string) => setSkippedUseCases([...(skippedUseCases ?? []), skipId]),\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [feedbackPassed, skippedUseCases]\n );\n\n return {children};\n};\n\nexport const useOnboardingService = (): Context => {\n const onboardingService = useContext(OnboardingServiceContext);\n if (!onboardingService) {\n throw new Error(\"useOnboardingService must be used within a OnboardingServiceProvider.\");\n }\n\n return onboardingService;\n};\n","const UTM_STORAGE_KEY = \"utmParams\";\n\nexport const storeUtmFromQuery = (queryString?: string): void => {\n if (queryString) {\n const queryParams = Array.from(new URLSearchParams(queryString).entries());\n\n const utmParams = queryParams.filter(([key]) => key.startsWith(\"utm_\"));\n\n if (utmParams.length) {\n localStorage.setItem(UTM_STORAGE_KEY, JSON.stringify(Object.fromEntries(utmParams)));\n }\n }\n};\n\nexport const getUtmFromStorage = (): Record => {\n const utmParams = localStorage.getItem(UTM_STORAGE_KEY);\n return utmParams ? JSON.parse(utmParams) : {};\n};\n\nexport const clearUtmStorage = (): void => {\n localStorage.removeItem(UTM_STORAGE_KEY);\n};\n","import React, { useContext, useMemo } from \"react\";\n\nimport { StatementDetail } from \"core/request/PawsqlClient\";\n\ninterface Context {\n details: StatementDetail;\n}\n\nconst QueryDetailContext = React.createContext(null);\n\nconst useQueryDetailState = (): Context => {\n const QueryDetailState = useContext(QueryDetailContext);\n if (!QueryDetailState) {\n throw new Error(\"useQueryDetailState should be used within QueryDetailProvider\");\n }\n return QueryDetailState;\n};\n\nconst QueryDetailProvider: React.FC<{\n details: StatementDetail;\n}> = ({ details, children }) => {\n const ctx = useMemo(() => {\n return {\n details,\n };\n }, [details]);\n\n return {children};\n};\n\nexport { useQueryDetailState, QueryDetailProvider };\n","import React from \"react\";\nimport SyntaxHighlighter from \"react-syntax-highlighter\";\nimport { docco } from \"react-syntax-highlighter/dist/esm/styles/hljs\";\n\nexport const CodeBlock: React.FC<{ codeString: string; language: string; customStyle?: any }> = ({\n codeString,\n language,\n customStyle,\n}) => {\n return (\n \n {codeString}\n \n );\n};\n","import React from \"react\";\n\ninterface Props {\n url?: string;\n}\n\nconst CustomCreateExplainLinkComponent: React.FC = () => {\n return <>;\n};\n\nexport default CustomCreateExplainLinkComponent;\n","import React, { useContext, useMemo } from \"react\";\n\ninterface Context {\n databaseType: string | undefined;\n setDatabaseType: React.Dispatch>;\n explainFormat: string | undefined;\n setExplainFormat: React.Dispatch>;\n explainName: string;\n setExplainName: React.Dispatch>;\n explainSource: string;\n setExplainSource: React.Dispatch>;\n querySource: string;\n setQuerySource: React.Dispatch>;\n}\n\nconst CreateExplainContext = React.createContext(null);\n\nconst useCreateExplainState = (): Context => {\n const CreateExplainState = useContext(CreateExplainContext);\n if (!CreateExplainState) {\n throw new Error(\"useExplainState should be used within ExplainProvider\");\n }\n return CreateExplainState;\n};\n\nconst CreateExplainProvider: React.FC<{\n databaseType: string | undefined;\n setDatabaseType: React.Dispatch>;\n explainFormat: string | undefined;\n setExplainFormat: React.Dispatch>;\n explainName: string;\n setExplainName: React.Dispatch>;\n explainSource: string;\n setExplainSource: React.Dispatch>;\n querySource: string;\n setQuerySource: React.Dispatch>;\n}> = ({\n databaseType,\n setDatabaseType,\n explainFormat,\n setExplainFormat,\n explainName,\n setExplainName,\n explainSource,\n setExplainSource,\n querySource,\n setQuerySource,\n children,\n}) => {\n const ctx = useMemo(() => {\n return {\n databaseType,\n setDatabaseType,\n explainFormat,\n setExplainFormat,\n explainName,\n setExplainName,\n explainSource,\n setExplainSource,\n querySource,\n setQuerySource,\n };\n }, [\n databaseType,\n setDatabaseType,\n explainFormat,\n setExplainFormat,\n explainName,\n setExplainName,\n explainSource,\n setExplainSource,\n querySource,\n setQuerySource,\n ]);\n\n return {children};\n};\n\nexport { useCreateExplainState, CreateExplainProvider };\n","export const mysql_plan1_source = `-> Nested loop inner join (cost=1.45 rows=1) (actual time=1.236..1.236 rows=0 loops=1)\n -> Table scan on ORDERS (cost=1.10 rows=1) (actual time=1.234..1.234 rows=0 loops=1)\n -> Filter: (lineitem.L_SHIPDATE = DATE'2021-12-01') (cost=0.35 rows=1) (never executed)\n -> Index lookup on LINEITEM using PRIMARY (L_ORDERKEY=orders.O_ORDERKEY) (cost=0.35 rows=1) (never executed)\n`;\nexport const plan1_source = `Nested Loop Left Join (cost=11.95..28.52 rows=5 width=157) (actual time=0.010..0.010 rows=0 loops=1)\n Output: rel_users_exams.user_username, rel_users_exams.exam_id, rel_users_exams.started_at, rel_users_exams.finished_at, exam_1.id, exam_1.title, exam_1.date_from, exam_1.date_to, exam_1.created, exam_1.created_by_, exam_1.duration, exam_1.success_threshold, exam_1.published\n Inner Unique: true\n Join Filter: (exam_1.id = rel_users_exams.exam_id)\n Buffers: shared hit=1\n -> Bitmap Heap Scan on public.rel_users_exams (cost=11.80..20.27 rows=5 width=52) (actual time=0.009..0.009 rows=0 loops=1)\n Output: rel_users_exams.user_username, rel_users_exams.exam_id, rel_users_exams.started_at, rel_users_exams.finished_at\n Recheck Cond: (1 = rel_users_exams.exam_id)\n Buffers: shared hit=1\n -> Bitmap Index Scan on rel_users_exams_pkey (cost=0.00..11.80 rows=5 width=0) (actual time=0.005..0.005 rows=0 loops=1)\n Index Cond: (1 = rel_users_exams.exam_id)\n Buffers: shared hit=1\n -> Materialize (cost=0.15..8.17 rows=1 width=105) (never executed)\n Output: exam_1.id, exam_1.title, exam_1.date_from, exam_1.date_to, exam_1.created, exam_1.created_by_, exam_1.duration, exam_1.success_threshold, exam_1.published\n -> Index Scan using exam_pkey on public.exam exam_1 (cost=0.15..8.17 rows=1 width=105) (never executed)\n Output: exam_1.id, exam_1.title, exam_1.date_from, exam_1.date_to, exam_1.created, exam_1.created_by_, exam_1.duration, exam_1.success_threshold, exam_1.published\n Index Cond: (exam_1.id = 1)\nPlanning Time: 1.110 ms\nExecution Time: 0.170 ms\n`;\nexport const plan1_query = `SELECT rel_users_exams.user_username AS rel_users_exams_user_username,\n rel_users_exams.exam_id AS rel_users_exams_exam_id,\n rel_users_exams.started_at AS rel_users_exams_started_at,\n rel_users_exams.finished_at AS rel_users_exams_finished_at,\n exam_1.id AS exam_1_id,\n exam_1.title AS exam_1_title,\n exam_1.date_from AS exam_1_date_from,\n exam_1.date_to AS exam_1_date_to,\n exam_1.created AS exam_1_created,\n exam_1.created_by_ AS exam_1_created_by_,\n exam_1.duration AS exam_1_duration,\n exam_1.success_threshold AS exam_1_success_threshold,\n exam_1.published AS exam_1_published\nFROM rel_users_exams LEFT OUTER\nJOIN exam AS exam_1\n ON exam_1.id = rel_users_exams.exam_id\nWHERE 1 = rel_users_exams.exam_id;\n`;\n\nexport const plan1_source_json = `[\n {\n \"Plan\": {\n \"Node Type\": \"Nested Loop\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Left\",\n \"Startup Cost\": 11.95,\n \"Total Cost\": 28.52,\n \"Plan Rows\": 5,\n \"Plan Width\": 157,\n \"Actual Startup Time\": 0.007,\n \"Actual Total Time\": 0.007,\n \"Actual Rows\": 0,\n \"Actual Loops\": 1,\n \"Output\": [\"rel_users_exams.user_username\", \"rel_users_exams.exam_id\", \"rel_users_exams.started_at\", \"rel_users_exams.finished_at\", \"exam_1.id\", \"exam_1.title\", \"exam_1.date_from\", \"exam_1.date_to\", \"exam_1.created\", \"exam_1.created_by_\", \"exam_1.duration\", \"exam_1.success_threshold\", \"exam_1.published\"],\n \"Inner Unique\": true,\n \"Join Filter\": \"(exam_1.id = rel_users_exams.exam_id)\",\n \"Rows Removed by Join Filter\": 0,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Bitmap Heap Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"rel_users_exams\",\n \"Schema\": \"public\",\n \"Alias\": \"rel_users_exams\",\n \"Startup Cost\": 11.80,\n \"Total Cost\": 20.27,\n \"Plan Rows\": 5,\n \"Plan Width\": 52,\n \"Actual Startup Time\": 0.006,\n \"Actual Total Time\": 0.006,\n \"Actual Rows\": 0,\n \"Actual Loops\": 1,\n \"Output\": [\"rel_users_exams.user_username\", \"rel_users_exams.exam_id\", \"rel_users_exams.started_at\", \"rel_users_exams.finished_at\"],\n \"Recheck Cond\": \"(1 = rel_users_exams.exam_id)\",\n \"Rows Removed by Index Recheck\": 0,\n \"Exact Heap Blocks\": 0,\n \"Lossy Heap Blocks\": 0,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Bitmap Index Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Index Name\": \"rel_users_exams_pkey\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 11.80,\n \"Plan Rows\": 5,\n \"Plan Width\": 0,\n \"Actual Startup Time\": 0.003,\n \"Actual Total Time\": 0.004,\n \"Actual Rows\": 0,\n \"Actual Loops\": 1,\n \"Index Cond\": \"(1 = rel_users_exams.exam_id)\",\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n },\n {\n \"Node Type\": \"Materialize\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 0.15,\n \"Total Cost\": 8.17,\n \"Plan Rows\": 1,\n \"Plan Width\": 105,\n \"Actual Startup Time\": 0.000,\n \"Actual Total Time\": 0.000,\n \"Actual Rows\": 0,\n \"Actual Loops\": 0,\n \"Output\": [\"exam_1.id\", \"exam_1.title\", \"exam_1.date_from\", \"exam_1.date_to\", \"exam_1.created\", \"exam_1.created_by_\", \"exam_1.duration\", \"exam_1.success_threshold\", \"exam_1.published\"],\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Index Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Scan Direction\": \"Forward\",\n \"Index Name\": \"exam_pkey\",\n \"Relation Name\": \"exam\",\n \"Schema\": \"public\",\n \"Alias\": \"exam_1\",\n \"Startup Cost\": 0.15,\n \"Total Cost\": 8.17,\n \"Plan Rows\": 1,\n \"Plan Width\": 105,\n \"Actual Startup Time\": 0.000,\n \"Actual Total Time\": 0.000,\n \"Actual Rows\": 0,\n \"Actual Loops\": 0,\n \"Output\": [\"exam_1.id\", \"exam_1.title\", \"exam_1.date_from\", \"exam_1.date_to\", \"exam_1.created\", \"exam_1.created_by_\", \"exam_1.duration\", \"exam_1.success_threshold\", \"exam_1.published\"],\n \"Index Cond\": \"(exam_1.id = 1)\",\n \"Rows Removed by Index Recheck\": 0,\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n },\n \"Planning Time\": 0.905,\n \"Triggers\": [\n ],\n \"Execution Time\": 0.134\n }\n]`;\n\nexport const plan2_source = `[\n {\n \"Plan\": {\n \"Node Type\": \"Sort\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 624.86,\n \"Total Cost\": 625.88,\n \"Plan Rows\": 410,\n \"Plan Width\": 726,\n \"Actual Startup Time\": 6.039,\n \"Actual Total Time\": 6.088,\n \"Actual Rows\": 339,\n \"Actual Loops\": 1,\n \"Output\": [\"rel_users_exams.user_username\", \"rel_users_exams.exam_id\", \"rel_users_exams.started_at\", \"rel_users_exams.finished_at\", \"answer_1.id\", \"answer_1.text\", \"answer_1.correct\", \"answer_1.fraction\", \"answer_1.question_id\", \"question_1.id\", \"question_1.title\", \"question_1.text\", \"question_1.file\", \"question_1.type\", \"question_1.source\", \"question_1.exam_id\", \"exam_1.id\", \"exam_1.title\", \"exam_1.date_from\", \"exam_1.date_to\", \"exam_1.created\", \"exam_1.created_by_\", \"exam_1.duration\", \"exam_1.success_threshold\", \"exam_1.published\"],\n \"Sort Key\": [\"question_1.id\"],\n \"Sort Method\": \"quicksort\",\n \"Sort Space Used\": 409,\n \"Sort Space Type\": \"Memory\",\n \"Shared Hit Blocks\": 363,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Nested Loop\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Left\",\n \"Startup Cost\": 228.60,\n \"Total Cost\": 607.06,\n \"Plan Rows\": 410,\n \"Plan Width\": 726,\n \"Actual Startup Time\": 1.074,\n \"Actual Total Time\": 5.576,\n \"Actual Rows\": 339,\n \"Actual Loops\": 1,\n \"Output\": [\"rel_users_exams.user_username\", \"rel_users_exams.exam_id\", \"rel_users_exams.started_at\", \"rel_users_exams.finished_at\", \"answer_1.id\", \"answer_1.text\", \"answer_1.correct\", \"answer_1.fraction\", \"answer_1.question_id\", \"question_1.id\", \"question_1.title\", \"question_1.text\", \"question_1.file\", \"question_1.type\", \"question_1.source\", \"question_1.exam_id\", \"exam_1.id\", \"exam_1.title\", \"exam_1.date_from\", \"exam_1.date_to\", \"exam_1.created\", \"exam_1.created_by_\", \"exam_1.duration\", \"exam_1.success_threshold\", \"exam_1.published\"],\n \"Join Filter\": \"(exam_1.id = question_1.exam_id)\",\n \"Rows Removed by Join Filter\": 0,\n \"Shared Hit Blocks\": 360,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Nested Loop\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Left\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 2.94,\n \"Plan Rows\": 1,\n \"Plan Width\": 99,\n \"Actual Startup Time\": 0.025,\n \"Actual Total Time\": 0.033,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\"rel_users_exams.user_username\", \"rel_users_exams.exam_id\", \"rel_users_exams.started_at\", \"rel_users_exams.finished_at\", \"exam_1.id\", \"exam_1.title\", \"exam_1.date_from\", \"exam_1.date_to\", \"exam_1.created\", \"exam_1.created_by_\", \"exam_1.duration\", \"exam_1.success_threshold\", \"exam_1.published\"],\n \"Join Filter\": \"(exam_1.id = rel_users_exams.exam_id)\",\n \"Rows Removed by Join Filter\": 0,\n \"Shared Hit Blocks\": 2,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"rel_users_exams\",\n \"Schema\": \"public\",\n \"Alias\": \"rel_users_exams\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 1.73,\n \"Plan Rows\": 1,\n \"Plan Width\": 27,\n \"Actual Startup Time\": 0.016,\n \"Actual Total Time\": 0.021,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\"rel_users_exams.user_username\", \"rel_users_exams.exam_id\", \"rel_users_exams.started_at\", \"rel_users_exams.finished_at\"],\n \"Filter\": \"((rel_users_exams.exam_id = 1) AND ((rel_users_exams.user_username)::text = 'nicolas1'::text))\",\n \"Rows Removed by Filter\": 56,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n },\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"exam\",\n \"Schema\": \"public\",\n \"Alias\": \"exam_1\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 1.19,\n \"Plan Rows\": 1,\n \"Plan Width\": 72,\n \"Actual Startup Time\": 0.006,\n \"Actual Total Time\": 0.009,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\"exam_1.id\", \"exam_1.title\", \"exam_1.date_from\", \"exam_1.date_to\", \"exam_1.created\", \"exam_1.created_by_\", \"exam_1.duration\", \"exam_1.success_threshold\", \"exam_1.published\"],\n \"Filter\": \"(exam_1.id = 1)\",\n \"Rows Removed by Filter\": 35,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n },\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Right\",\n \"Startup Cost\": 228.60,\n \"Total Cost\": 599.00,\n \"Plan Rows\": 410,\n \"Plan Width\": 627,\n \"Actual Startup Time\": 1.047,\n \"Actual Total Time\": 5.420,\n \"Actual Rows\": 339,\n \"Actual Loops\": 1,\n \"Output\": [\"question_1.id\", \"question_1.title\", \"question_1.text\", \"question_1.file\", \"question_1.type\", \"question_1.source\", \"question_1.exam_id\", \"answer_1.id\", \"answer_1.text\", \"answer_1.correct\", \"answer_1.fraction\", \"answer_1.question_id\"],\n \"Hash Cond\": \"(answer_1.question_id = question_1.id)\",\n \"Shared Hit Blocks\": 358,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"answer\",\n \"Schema\": \"public\",\n \"Alias\": \"answer_1\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 311.13,\n \"Plan Rows\": 14713,\n \"Plan Width\": 55,\n \"Actual Startup Time\": 0.007,\n \"Actual Total Time\": 1.962,\n \"Actual Rows\": 14726,\n \"Actual Loops\": 1,\n \"Output\": [\"answer_1.id\", \"answer_1.text\", \"answer_1.correct\", \"answer_1.fraction\", \"answer_1.question_id\"],\n \"Shared Hit Blocks\": 164,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 227.66,\n \"Total Cost\": 227.66,\n \"Plan Rows\": 75,\n \"Plan Width\": 572,\n \"Actual Startup Time\": 1.025,\n \"Actual Total Time\": 1.025,\n \"Actual Rows\": 63,\n \"Actual Loops\": 1,\n \"Output\": [\"question_1.id\", \"question_1.title\", \"question_1.text\", \"question_1.file\", \"question_1.type\", \"question_1.source\", \"question_1.exam_id\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 46,\n \"Shared Hit Blocks\": 194,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"question\",\n \"Schema\": \"public\",\n \"Alias\": \"question_1\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 227.66,\n \"Plan Rows\": 75,\n \"Plan Width\": 572,\n \"Actual Startup Time\": 0.004,\n \"Actual Total Time\": 0.984,\n \"Actual Rows\": 63,\n \"Actual Loops\": 1,\n \"Output\": [\"question_1.id\", \"question_1.title\", \"question_1.text\", \"question_1.file\", \"question_1.type\", \"question_1.source\", \"question_1.exam_id\"],\n \"Filter\": \"(question_1.exam_id = 1)\",\n \"Rows Removed by Filter\": 2637,\n \"Shared Hit Blocks\": 194,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n \"Planning Time\": 1.206,\n \"Triggers\": [\n ],\n \"Execution Time\": 6.248\n }\n]\n`;\n\nexport const plan2_query = `SELECT rel_users_exams.user_username AS rel_users_exams_user_username,\n rel_users_exams.exam_id AS rel_users_exams_exam_id,\n rel_users_exams.started_at AS rel_users_exams_started_at,\n rel_users_exams.finished_at AS rel_users_exams_finished_at,\n answer_1.id AS answer_1_id,\n answer_1.text AS answer_1_text,\n answer_1.correct AS answer_1_correct,\n answer_1.fraction AS answer_1_fraction,\n answer_1.question_id AS answer_1_question_id,\n question_1.id AS question_1_id,\n question_1.title AS question_1_title,\n question_1.text AS question_1_text,\n question_1.file AS question_1_file,\n question_1.type AS question_1_type,\n question_1.source AS question_1_source,\n question_1.exam_id AS question_1_exam_id,\n exam_1.id AS exam_1_id,\n exam_1.title AS exam_1_title,\n exam_1.date_from AS exam_1_date_from,\n exam_1.date_to AS exam_1_date_to,\n exam_1.created AS exam_1_created,\n exam_1.created_by_ AS exam_1_created_by_,\n exam_1.duration AS exam_1_duration,\n exam_1.success_threshold AS exam_1_success_threshold,\n exam_1.published AS exam_1_published\nFROM rel_users_exams LEFT OUTER\nJOIN exam AS exam_1\n ON exam_1.id = rel_users_exams.exam_id LEFT OUTER\nJOIN question AS question_1\n ON exam_1.id = question_1.exam_id LEFT OUTER\nJOIN answer AS answer_1\n ON question_1.id = answer_1.question_id\nWHERE rel_users_exams.user_username = %(param_1)s\n AND rel_users_exams.exam_id = %(param_2)s\nORDER BY question_1.id;\nSELECT rel_users_exams.user_username AS rel_users_exams_user_username,\n rel_users_exams.exam_id AS rel_users_exams_exam_id,\n rel_users_exams.started_at AS rel_users_exams_started_at,\n rel_users_exams.finished_at AS rel_users_exams_finished_at,\n answer_1.id AS answer_1_id,\n answer_1.text AS answer_1_text,\n answer_1.correct AS answer_1_correct,\n answer_1.fraction AS answer_1_fraction,\n answer_1.question_id AS answer_1_question_id,\n question_1.id AS question_1_id,\n question_1.title AS question_1_title,\n question_1.text AS question_1_text,\n question_1.file AS question_1_file,\n question_1.type AS question_1_type,\n question_1.source AS question_1_source,\n question_1.exam_id AS question_1_exam_id,\n exam_1.id AS exam_1_id,\n exam_1.title AS exam_1_title,\n exam_1.date_from AS exam_1_date_from,\n exam_1.date_to AS exam_1_date_to,\n exam_1.created AS exam_1_created,\n exam_1.created_by_ AS exam_1_created_by_,\n exam_1.duration AS exam_1_duration,\n exam_1.success_threshold AS exam_1_success_threshold,\n exam_1.published AS exam_1_published\nFROM rel_users_exams LEFT OUTER\nJOIN exam AS exam_1\n ON exam_1.id = rel_users_exams.exam_id LEFT OUTER\nJOIN question AS question_1\n ON exam_1.id = question_1.exam_id LEFT OUTER\nJOIN answer AS answer_1\n ON question_1.id = answer_1.question_id\nWHERE rel_users_exams.user_username = %(param_1)s\n AND rel_users_exams.exam_id = %(param_2)s\nORDER BY question_1.id;\n`;\n\nexport const plan3_source = `[\n {\n \"Plan\": {\n \"Node Type\": \"Result\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 50.13,\n \"Plan Rows\": 7,\n \"Plan Width\": 405,\n \"Actual Startup Time\": 0.139,\n \"Actual Total Time\": 0.231,\n \"Actual Rows\": 4,\n \"Actual Loops\": 1,\n \"Plans\": [\n {\n \"Node Type\": \"Append\",\n \"Parent Relationship\": \"Outer\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 50.11,\n \"Plan Rows\": 7,\n \"Plan Width\": 405,\n \"Actual Startup Time\": 0.131,\n \"Actual Total Time\": 0.218,\n \"Actual Rows\": 4,\n \"Actual Loops\": 1,\n \"Plans\": [\n {\n \"Node Type\": \"Index Scan\",\n \"Parent Relationship\": \"Member\",\n \"Scan Direction\": \"NoMovement\",\n \"Index Name\": \"idx_paris_tags\",\n \"Relation Name\": \"paris\",\n \"Alias\": \"paris\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 8.27,\n \"Plan Rows\": 1,\n \"Plan Width\": 450,\n \"Actual Startup Time\": 0.009,\n \"Actual Total Time\": 0.009,\n \"Actual Rows\": 0,\n \"Actual Loops\": 1,\n \"Index Cond\": \"(tags ? 'tourism'::text)\",\n \"Filter\": \"(ar_num = 8)\"\n },\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Member\",\n \"Relation Name\": \"paris_linestrings\",\n \"Alias\": \"paris\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 11.80,\n \"Plan Rows\": 1,\n \"Plan Width\": 450,\n \"Actual Startup Time\": 0.001,\n \"Actual Total Time\": 0.001,\n \"Actual Rows\": 0,\n \"Actual Loops\": 1,\n \"Filter\": \"((tags ? 'tourism'::text) AND (ar_num = 8))\"\n },\n {\n \"Node Type\": \"Index Scan\",\n \"Parent Relationship\": \"Member\",\n \"Scan Direction\": \"NoMovement\",\n \"Index Name\": \"idx_paris_points_tags\",\n \"Relation Name\": \"paris_points\",\n \"Alias\": \"paris\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 8.27,\n \"Plan Rows\": 1,\n \"Plan Width\": 450,\n \"Actual Startup Time\": 0.003,\n \"Actual Total Time\": 0.003,\n \"Actual Rows\": 0,\n \"Actual Loops\": 1,\n \"Index Cond\": \"(tags ? 'tourism'::text)\",\n \"Filter\": \"(ar_num = 8)\"\n },\n {\n \"Node Type\": \"Index Scan\",\n \"Parent Relationship\": \"Member\",\n \"Scan Direction\": \"NoMovement\",\n \"Index Name\": \"idx_paris_polygons_tags\",\n \"Relation Name\": \"paris_polygons\",\n \"Alias\": \"paris\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 8.27,\n \"Plan Rows\": 1,\n \"Plan Width\": 450,\n \"Actual Startup Time\": 0.002,\n \"Actual Total Time\": 0.002,\n \"Actual Rows\": 0,\n \"Actual Loops\": 1,\n \"Index Cond\": \"(tags ? 'tourism'::text)\",\n \"Filter\": \"(ar_num = 8)\"\n },\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Member\",\n \"Relation Name\": \"paris_linestrings_ar_08\",\n \"Alias\": \"paris\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 7.27,\n \"Plan Rows\": 1,\n \"Plan Width\": 513,\n \"Actual Startup Time\": 0.103,\n \"Actual Total Time\": 0.103,\n \"Actual Rows\": 0,\n \"Actual Loops\": 1,\n \"Filter\": \"((tags ? 'tourism'::text) AND (ar_num = 8))\"\n },\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Member\",\n \"Relation Name\": \"paris_points_ar_08\",\n \"Alias\": \"paris\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 5.16,\n \"Plan Rows\": 1,\n \"Plan Width\": 72,\n \"Actual Startup Time\": 0.009,\n \"Actual Total Time\": 0.085,\n \"Actual Rows\": 4,\n \"Actual Loops\": 1,\n \"Filter\": \"((tags ? 'tourism'::text) AND (ar_num = 8))\"\n },\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Member\",\n \"Relation Name\": \"paris_polygons_ar_08\",\n \"Alias\": \"paris\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 1.08,\n \"Plan Rows\": 1,\n \"Plan Width\": 450,\n \"Actual Startup Time\": 0.007,\n \"Actual Total Time\": 0.007,\n \"Actual Rows\": 0,\n \"Actual Loops\": 1,\n \"Filter\": \"((tags ? 'tourism'::text) AND (ar_num = 8))\"\n }\n ]\n }\n ]\n },\n \"Triggers\": [\n ],\n \"Total Runtime\": 1.238\n }\n]\n`;\n\nexport const plan3_query = `SELECT feature_name, tags->'tourism' As tourism_type FROM ch03.paris\n WHERE ar_num = 8 AND tags?'tourism';\n`;\n\nexport const plan4_source = `[\n {\n \"Plan\": {\n \"Node Type\": \"Sort\",\n \"Startup Cost\": 1460.74,\n \"Total Cost\": 1470.87,\n \"Plan Rows\": 4050,\n \"Plan Width\": 183,\n \"Actual Startup Time\": 13.766,\n \"Actual Total Time\": 13.793,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"sv.variant_id\", \"sv.sku\", \"sp.slug\", \"sp.name\", \"vc.color\", \"pr.min_price\", \"pcc.available_colors\", \"sv.product_id\"],\n \"Sort Key\": [\"sv.product_id\"],\n \"Sort Method\": \"quicksort\",\n \"Sort Space Used\": 101,\n \"Sort Space Type\": \"Memory\",\n \"Shared Hit Blocks\": 2695,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"InitPlan\",\n \"Subplan Name\": \"CTE catalog_variants\",\n \"Relation Name\": \"spree_variants\",\n \"Schema\": \"public\",\n \"Alias\": \"spree_variants\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 80.47,\n \"Plan Rows\": 352,\n \"Plan Width\": 19,\n \"Actual Startup Time\": 0.022,\n \"Actual Total Time\": 0.740,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"spree_variants.id\", \"spree_variants.product_id\", \"spree_variants.sku\"],\n \"Filter\": \"((spree_variants.deleted_at IS NULL) AND spree_variants.show_in_catalog)\",\n \"Rows Removed by Filter\": 3595,\n \"Shared Hit Blocks\": 41,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n },\n {\n \"Node Type\": \"Aggregate\",\n \"Strategy\": \"Sorted\",\n \"Parent Relationship\": \"InitPlan\",\n \"Subplan Name\": \"CTE product_color_classifications\",\n \"Startup Cost\": 288.86,\n \"Total Cost\": 292.38,\n \"Plan Rows\": 176,\n \"Plan Width\": 12,\n \"Actual Startup Time\": 2.799,\n \"Actual Total Time\": 3.980,\n \"Actual Rows\": 311,\n \"Actual Loops\": 1,\n \"Output\": [\"sv_1.product_id\", \"array_agg(DISTINCT sov.presentation)\"],\n \"Group Key\": [\"sv_1.product_id\"],\n \"Shared Hit Blocks\": 1295,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Sort\",\n \"Parent Relationship\": \"Outer\",\n \"Startup Cost\": 288.86,\n \"Total Cost\": 289.30,\n \"Plan Rows\": 176,\n \"Plan Width\": 12,\n \"Actual Startup Time\": 2.676,\n \"Actual Total Time\": 2.705,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"sv_1.product_id\", \"sov.presentation\"],\n \"Sort Key\": [\"sv_1.product_id\"],\n \"Sort Method\": \"quicksort\",\n \"Sort Space Used\": 41,\n \"Sort Space Type\": \"Memory\",\n \"Shared Hit Blocks\": 1287,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 20.28,\n \"Total Cost\": 282.30,\n \"Plan Rows\": 176,\n \"Plan Width\": 12,\n \"Actual Startup Time\": 0.312,\n \"Actual Total Time\": 2.450,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"sv_1.product_id\", \"sov.presentation\"],\n \"Hash Cond\": \"(sov_sv.option_value_id = sov.id)\",\n \"Shared Hit Blocks\": 1287,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Nested Loop\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 12.71,\n \"Total Cost\": 270.98,\n \"Plan Rows\": 528,\n \"Plan Width\": 8,\n \"Actual Startup Time\": 0.229,\n \"Actual Total Time\": 2.086,\n \"Actual Rows\": 1056,\n \"Actual Loops\": 1,\n \"Output\": [\"sv_1.product_id\", \"sov_sv.option_value_id\"],\n \"Shared Hit Blocks\": 1284,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 12.42,\n \"Total Cost\": 24.30,\n \"Plan Rows\": 176,\n \"Plan Width\": 12,\n \"Actual Startup Time\": 0.221,\n \"Actual Total Time\": 0.468,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"sv_1.product_id\", \"sv_1.variant_id\", \"catalog_variants.variant_id\"],\n \"Hash Cond\": \"(sv_1.variant_id = catalog_variants.variant_id)\",\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"CTE Scan\",\n \"Parent Relationship\": \"Outer\",\n \"CTE Name\": \"catalog_variants\",\n \"Alias\": \"sv_1\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 7.04,\n \"Plan Rows\": 352,\n \"Plan Width\": 8,\n \"Actual Startup Time\": 0.000,\n \"Actual Total Time\": 0.086,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"sv_1.variant_id\", \"sv_1.product_id\", \"sv_1.sku\"],\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 9.92,\n \"Total Cost\": 9.92,\n \"Plan Rows\": 200,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.212,\n \"Actual Total Time\": 0.212,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"catalog_variants.variant_id\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 21,\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Aggregate\",\n \"Strategy\": \"Hashed\",\n \"Parent Relationship\": \"Outer\",\n \"Startup Cost\": 7.92,\n \"Total Cost\": 9.92,\n \"Plan Rows\": 200,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.112,\n \"Actual Total Time\": 0.158,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"catalog_variants.variant_id\"],\n \"Group Key\": [\"catalog_variants.variant_id\"],\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"CTE Scan\",\n \"Parent Relationship\": \"Outer\",\n \"CTE Name\": \"catalog_variants\",\n \"Alias\": \"catalog_variants\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 7.04,\n \"Plan Rows\": 352,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.001,\n \"Actual Total Time\": 0.029,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"catalog_variants.variant_id\", \"catalog_variants.product_id\", \"catalog_variants.sku\"],\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Index Scan\",\n \"Parent Relationship\": \"Inner\",\n \"Scan Direction\": \"Forward\",\n \"Index Name\": \"index_spree_option_values_variants_on_variant_id\",\n \"Relation Name\": \"spree_option_values_variants\",\n \"Schema\": \"public\",\n \"Alias\": \"sov_sv\",\n \"Startup Cost\": 0.29,\n \"Total Cost\": 1.37,\n \"Plan Rows\": 3,\n \"Plan Width\": 8,\n \"Actual Startup Time\": 0.002,\n \"Actual Total Time\": 0.003,\n \"Actual Rows\": 3,\n \"Actual Loops\": 352,\n \"Output\": [\"sov_sv.variant_id\", \"sov_sv.option_value_id\", \"sov_sv.id\"],\n \"Index Cond\": \"(sov_sv.variant_id = sv_1.variant_id)\",\n \"Rows Removed by Index Recheck\": 0,\n \"Shared Hit Blocks\": 1284,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n }\n ]\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 6.69,\n \"Total Cost\": 6.69,\n \"Plan Rows\": 71,\n \"Plan Width\": 12,\n \"Actual Startup Time\": 0.064,\n \"Actual Total Time\": 0.064,\n \"Actual Rows\": 11,\n \"Actual Loops\": 1,\n \"Output\": [\"sov.presentation\", \"sov.id\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 9,\n \"Shared Hit Blocks\": 3,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 1.05,\n \"Total Cost\": 6.69,\n \"Plan Rows\": 71,\n \"Plan Width\": 12,\n \"Actual Startup Time\": 0.020,\n \"Actual Total Time\": 0.062,\n \"Actual Rows\": 11,\n \"Actual Loops\": 1,\n \"Output\": [\"sov.presentation\", \"sov.id\"],\n \"Hash Cond\": \"(sov.option_type_id = sot.id)\",\n \"Shared Hit Blocks\": 3,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Relation Name\": \"spree_option_values\",\n \"Schema\": \"public\",\n \"Alias\": \"sov\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 4.13,\n \"Plan Rows\": 213,\n \"Plan Width\": 16,\n \"Actual Startup Time\": 0.003,\n \"Actual Total Time\": 0.017,\n \"Actual Rows\": 213,\n \"Actual Loops\": 1,\n \"Output\": [\"sov.id\", \"sov.position\", \"sov.name\", \"sov.presentation\", \"sov.option_type_id\", \"sov.created_at\", \"sov.updated_at\"],\n \"Shared Hit Blocks\": 2,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 1.04,\n \"Total Cost\": 1.04,\n \"Plan Rows\": 1,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.007,\n \"Actual Total Time\": 0.007,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\"sot.id\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 9,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Relation Name\": \"spree_option_types\",\n \"Schema\": \"public\",\n \"Alias\": \"sot\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 1.04,\n \"Plan Rows\": 1,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.003,\n \"Actual Total Time\": 0.003,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\"sot.id\"],\n \"Filter\": \"((sot.name)::text = 'color_classification'::text)\",\n \"Rows Removed by Filter\": 2,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"InitPlan\",\n \"Subplan Name\": \"CTE variant_colors\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 20.28,\n \"Total Cost\": 282.30,\n \"Plan Rows\": 176,\n \"Plan Width\": 12,\n \"Actual Startup Time\": 0.357,\n \"Actual Total Time\": 1.844,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"sv_2.variant_id\", \"sov_1.presentation\"],\n \"Hash Cond\": \"(sov_sv_1.option_value_id = sov_1.id)\",\n \"Shared Hit Blocks\": 1287,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Nested Loop\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 12.71,\n \"Total Cost\": 270.98,\n \"Plan Rows\": 528,\n \"Plan Width\": 8,\n \"Actual Startup Time\": 0.233,\n \"Actual Total Time\": 1.555,\n \"Actual Rows\": 1056,\n \"Actual Loops\": 1,\n \"Output\": [\"sv_2.variant_id\", \"sov_sv_1.option_value_id\"],\n \"Shared Hit Blocks\": 1284,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 12.42,\n \"Total Cost\": 24.30,\n \"Plan Rows\": 176,\n \"Plan Width\": 8,\n \"Actual Startup Time\": 0.214,\n \"Actual Total Time\": 0.350,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"sv_2.variant_id\", \"catalog_variants_1.variant_id\"],\n \"Hash Cond\": \"(sv_2.variant_id = catalog_variants_1.variant_id)\",\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"CTE Scan\",\n \"Parent Relationship\": \"Outer\",\n \"CTE Name\": \"catalog_variants\",\n \"Alias\": \"sv_2\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 7.04,\n \"Plan Rows\": 352,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.000,\n \"Actual Total Time\": 0.046,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"sv_2.variant_id\", \"sv_2.product_id\", \"sv_2.sku\"],\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 9.92,\n \"Total Cost\": 9.92,\n \"Plan Rows\": 200,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.204,\n \"Actual Total Time\": 0.204,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"catalog_variants_1.variant_id\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 21,\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Aggregate\",\n \"Strategy\": \"Hashed\",\n \"Parent Relationship\": \"Outer\",\n \"Startup Cost\": 7.92,\n \"Total Cost\": 9.92,\n \"Plan Rows\": 200,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.115,\n \"Actual Total Time\": 0.150,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"catalog_variants_1.variant_id\"],\n \"Group Key\": [\"catalog_variants_1.variant_id\"],\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"CTE Scan\",\n \"Parent Relationship\": \"Outer\",\n \"CTE Name\": \"catalog_variants\",\n \"Alias\": \"catalog_variants_1\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 7.04,\n \"Plan Rows\": 352,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.001,\n \"Actual Total Time\": 0.027,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"catalog_variants_1.variant_id\", \"catalog_variants_1.product_id\", \"catalog_variants_1.sku\"],\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Index Scan\",\n \"Parent Relationship\": \"Inner\",\n \"Scan Direction\": \"Forward\",\n \"Index Name\": \"index_spree_option_values_variants_on_variant_id\",\n \"Relation Name\": \"spree_option_values_variants\",\n \"Schema\": \"public\",\n \"Alias\": \"sov_sv_1\",\n \"Startup Cost\": 0.29,\n \"Total Cost\": 1.37,\n \"Plan Rows\": 3,\n \"Plan Width\": 8,\n \"Actual Startup Time\": 0.002,\n \"Actual Total Time\": 0.003,\n \"Actual Rows\": 3,\n \"Actual Loops\": 352,\n \"Output\": [\"sov_sv_1.variant_id\", \"sov_sv_1.option_value_id\", \"sov_sv_1.id\"],\n \"Index Cond\": \"(sov_sv_1.variant_id = sv_2.variant_id)\",\n \"Rows Removed by Index Recheck\": 0,\n \"Shared Hit Blocks\": 1284,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n }\n ]\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 6.69,\n \"Total Cost\": 6.69,\n \"Plan Rows\": 71,\n \"Plan Width\": 12,\n \"Actual Startup Time\": 0.109,\n \"Actual Total Time\": 0.109,\n \"Actual Rows\": 88,\n \"Actual Loops\": 1,\n \"Output\": [\"sov_1.presentation\", \"sov_1.id\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 13,\n \"Shared Hit Blocks\": 3,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 1.05,\n \"Total Cost\": 6.69,\n \"Plan Rows\": 71,\n \"Plan Width\": 12,\n \"Actual Startup Time\": 0.034,\n \"Actual Total Time\": 0.090,\n \"Actual Rows\": 88,\n \"Actual Loops\": 1,\n \"Output\": [\"sov_1.presentation\", \"sov_1.id\"],\n \"Hash Cond\": \"(sov_1.option_type_id = sot_1.id)\",\n \"Shared Hit Blocks\": 3,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Relation Name\": \"spree_option_values\",\n \"Schema\": \"public\",\n \"Alias\": \"sov_1\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 4.13,\n \"Plan Rows\": 213,\n \"Plan Width\": 16,\n \"Actual Startup Time\": 0.007,\n \"Actual Total Time\": 0.028,\n \"Actual Rows\": 213,\n \"Actual Loops\": 1,\n \"Output\": [\"sov_1.id\", \"sov_1.position\", \"sov_1.name\", \"sov_1.presentation\", \"sov_1.option_type_id\", \"sov_1.created_at\", \"sov_1.updated_at\"],\n \"Shared Hit Blocks\": 2,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 1.04,\n \"Total Cost\": 1.04,\n \"Plan Rows\": 1,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.018,\n \"Actual Total Time\": 0.018,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\"sot_1.id\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 9,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Relation Name\": \"spree_option_types\",\n \"Schema\": \"public\",\n \"Alias\": \"sot_1\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 1.04,\n \"Plan Rows\": 1,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.014,\n \"Actual Total Time\": 0.015,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\"sot_1.id\"],\n \"Filter\": \"((sot_1.name)::text = 'color'::text)\",\n \"Rows Removed by Filter\": 2,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Aggregate\",\n \"Strategy\": \"Hashed\",\n \"Parent Relationship\": \"InitPlan\",\n \"Subplan Name\": \"CTE variants_min_prices\",\n \"Startup Cost\": 225.63,\n \"Total Cost\": 271.84,\n \"Plan Rows\": 4621,\n \"Plan Width\": 7,\n \"Actual Startup Time\": 5.936,\n \"Actual Total Time\": 6.037,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"spree_prices.variant_id\", \"COALESCE(min(spree_prices.amount), '0'::numeric)\"],\n \"Group Key\": [\"spree_prices.variant_id\"],\n \"Shared Hit Blocks\": 102,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 12.42,\n \"Total Cost\": 202.53,\n \"Plan Rows\": 4621,\n \"Plan Width\": 7,\n \"Actual Startup Time\": 2.415,\n \"Actual Total Time\": 5.785,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"spree_prices.variant_id\", \"spree_prices.amount\"],\n \"Hash Cond\": \"(spree_prices.variant_id = catalog_variants_2.variant_id)\",\n \"Shared Hit Blocks\": 102,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Relation Name\": \"spree_prices\",\n \"Schema\": \"public\",\n \"Alias\": \"spree_prices\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 153.42,\n \"Plan Rows\": 9242,\n \"Plan Width\": 7,\n \"Actual Startup Time\": 0.023,\n \"Actual Total Time\": 2.548,\n \"Actual Rows\": 9242,\n \"Actual Loops\": 1,\n \"Output\": [\"spree_prices.id\", \"spree_prices.variant_id\", \"spree_prices.amount\", \"spree_prices.currency\", \"spree_prices.deleted_at\", \"spree_prices.is_default\"],\n \"Shared Hit Blocks\": 61,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 9.92,\n \"Total Cost\": 9.92,\n \"Plan Rows\": 200,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 1.229,\n \"Actual Total Time\": 1.229,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"catalog_variants_2.variant_id\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 21,\n \"Shared Hit Blocks\": 41,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Aggregate\",\n \"Strategy\": \"Hashed\",\n \"Parent Relationship\": \"Outer\",\n \"Startup Cost\": 7.92,\n \"Total Cost\": 9.92,\n \"Plan Rows\": 200,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 1.075,\n \"Actual Total Time\": 1.140,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"catalog_variants_2.variant_id\"],\n \"Group Key\": [\"catalog_variants_2.variant_id\"],\n \"Shared Hit Blocks\": 41,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"CTE Scan\",\n \"Parent Relationship\": \"Outer\",\n \"CTE Name\": \"catalog_variants\",\n \"Alias\": \"catalog_variants_2\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 7.04,\n \"Plan Rows\": 352,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.024,\n \"Actual Total Time\": 0.915,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"catalog_variants_2.variant_id\", \"catalog_variants_2.product_id\", \"catalog_variants_2.sku\"],\n \"Shared Hit Blocks\": 41,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 42.71,\n \"Total Cost\": 291.08,\n \"Plan Rows\": 4050,\n \"Plan Width\": 183,\n \"Actual Startup Time\": 13.149,\n \"Actual Total Time\": 13.526,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"sv.variant_id\", \"sv.sku\", \"sp.slug\", \"sp.name\", \"vc.color\", \"pr.min_price\", \"pcc.available_colors\", \"sv.product_id\"],\n \"Hash Cond\": \"(pr.variant_id = sv.variant_id)\",\n \"Shared Hit Blocks\": 2692,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"CTE Scan\",\n \"Parent Relationship\": \"Outer\",\n \"CTE Name\": \"variants_min_prices\",\n \"Alias\": \"pr\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 92.42,\n \"Plan Rows\": 4621,\n \"Plan Width\": 36,\n \"Actual Startup Time\": 5.939,\n \"Actual Total Time\": 6.157,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"pr.variant_id\", \"pr.min_price\"],\n \"Shared Hit Blocks\": 102,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 40.52,\n \"Total Cost\": 40.52,\n \"Plan Rows\": 175,\n \"Plan Width\": 155,\n \"Actual Startup Time\": 7.189,\n \"Actual Total Time\": 7.189,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"sv.variant_id\", \"sv.sku\", \"sv.product_id\", \"sp.slug\", \"sp.name\", \"vc.color\", \"vc.variant_id\", \"pcc.available_colors\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 63,\n \"Shared Hit Blocks\": 2590,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 27.68,\n \"Total Cost\": 40.52,\n \"Plan Rows\": 175,\n \"Plan Width\": 155,\n \"Actual Startup Time\": 6.664,\n \"Actual Total Time\": 7.024,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"sv.variant_id\", \"sv.sku\", \"sv.product_id\", \"sp.slug\", \"sp.name\", \"vc.color\", \"vc.variant_id\", \"pcc.available_colors\"],\n \"Hash Cond\": \"(sv.variant_id = vc.variant_id)\",\n \"Shared Hit Blocks\": 2590,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 21.96,\n \"Total Cost\": 32.31,\n \"Plan Rows\": 199,\n \"Plan Width\": 119,\n \"Actual Startup Time\": 4.636,\n \"Actual Total Time\": 4.846,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"sv.variant_id\", \"sv.sku\", \"sv.product_id\", \"sp.slug\", \"sp.name\", \"pcc.available_colors\"],\n \"Hash Cond\": \"(sv.product_id = sp.id)\",\n \"Shared Hit Blocks\": 1303,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"CTE Scan\",\n \"Parent Relationship\": \"Outer\",\n \"CTE Name\": \"catalog_variants\",\n \"Alias\": \"sv\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 7.04,\n \"Plan Rows\": 352,\n \"Plan Width\": 40,\n \"Actual Startup Time\": 0.001,\n \"Actual Total Time\": 0.059,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"sv.variant_id\", \"sv.product_id\", \"sv.sku\"],\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 19.76,\n \"Total Cost\": 19.76,\n \"Plan Rows\": 176,\n \"Plan Width\": 87,\n \"Actual Startup Time\": 4.622,\n \"Actual Total Time\": 4.622,\n \"Actual Rows\": 311,\n \"Actual Loops\": 1,\n \"Output\": [\"sp.slug\", \"sp.name\", \"sp.id\", \"pcc.available_colors\", \"pcc.product_id\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 47,\n \"Shared Hit Blocks\": 1303,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 5.72,\n \"Total Cost\": 19.76,\n \"Plan Rows\": 176,\n \"Plan Width\": 87,\n \"Actual Startup Time\": 4.258,\n \"Actual Total Time\": 4.510,\n \"Actual Rows\": 311,\n \"Actual Loops\": 1,\n \"Output\": [\"sp.slug\", \"sp.name\", \"sp.id\", \"pcc.available_colors\", \"pcc.product_id\"],\n \"Hash Cond\": \"(sp.id = pcc.product_id)\",\n \"Shared Hit Blocks\": 1303,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Relation Name\": \"spree_products\",\n \"Schema\": \"public\",\n \"Alias\": \"sp\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 11.11,\n \"Plan Rows\": 311,\n \"Plan Width\": 51,\n \"Actual Startup Time\": 0.016,\n \"Actual Total Time\": 0.115,\n \"Actual Rows\": 311,\n \"Actual Loops\": 1,\n \"Output\": [\"sp.id\", \"sp.name\", \"sp.description\", \"sp.available_on\", \"sp.deleted_at\", \"sp.slug\", \"sp.meta_description\", \"sp.meta_keywords\", \"sp.tax_category_id\", \"sp.shipping_category_id\", \"sp.created_at\", \"sp.updated_at\", \"sp.promotionable\", \"sp.meta_title\", \"sp.fashion_xl_id\"],\n \"Filter\": \"(sp.deleted_at IS NULL)\",\n \"Rows Removed by Filter\": 0,\n \"Shared Hit Blocks\": 8,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 3.52,\n \"Total Cost\": 3.52,\n \"Plan Rows\": 176,\n \"Plan Width\": 36,\n \"Actual Startup Time\": 4.228,\n \"Actual Total Time\": 4.228,\n \"Actual Rows\": 311,\n \"Actual Loops\": 1,\n \"Output\": [\"pcc.available_colors\", \"pcc.product_id\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 31,\n \"Shared Hit Blocks\": 1295,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"CTE Scan\",\n \"Parent Relationship\": \"Outer\",\n \"CTE Name\": \"product_color_classifications\",\n \"Alias\": \"pcc\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 3.52,\n \"Plan Rows\": 176,\n \"Plan Width\": 36,\n \"Actual Startup Time\": 2.801,\n \"Actual Total Time\": 4.136,\n \"Actual Rows\": 311,\n \"Actual Loops\": 1,\n \"Output\": [\"pcc.available_colors\", \"pcc.product_id\"],\n \"Shared Hit Blocks\": 1295,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 3.52,\n \"Total Cost\": 3.52,\n \"Plan Rows\": 176,\n \"Plan Width\": 36,\n \"Actual Startup Time\": 2.018,\n \"Actual Total Time\": 2.018,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"vc.color\", \"vc.variant_id\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 26,\n \"Shared Hit Blocks\": 1287,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"CTE Scan\",\n \"Parent Relationship\": \"Outer\",\n \"CTE Name\": \"variant_colors\",\n \"Alias\": \"vc\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 3.52,\n \"Plan Rows\": 176,\n \"Plan Width\": 36,\n \"Actual Startup Time\": 0.358,\n \"Actual Total Time\": 1.945,\n \"Actual Rows\": 352,\n \"Actual Loops\": 1,\n \"Output\": [\"vc.color\", \"vc.variant_id\"],\n \"Shared Hit Blocks\": 1287,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n \"Planning Time\": 4.462,\n \"Triggers\": [\n ],\n \"Execution Time\": 14.391\n }\n]\n`;\n\nexport const plan5_source = `\n[\n {\n \"Plan\": {\n \"Node Type\": \"Limit\",\n \"Startup Cost\": 17024.84,\n \"Total Cost\": 17024.87,\n \"Plan Rows\": 10,\n \"Plan Width\": 133,\n \"Actual Startup Time\": 725.773,\n \"Actual Total Time\": 725.775,\n \"Actual Rows\": 10,\n \"Actual Loops\": 1,\n \"Output\": [\"c.state\", \"cat.categoryname\", \"(sum(o.netamount))\", \"(sum(o.totalamount))\"],\n \"Shared Hit Blocks\": 23,\n \"Shared Read Blocks\": 1392,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Sort\",\n \"Parent Relationship\": \"Outer\",\n \"Startup Cost\": 17024.84,\n \"Total Cost\": 17026.88,\n \"Plan Rows\": 816,\n \"Plan Width\": 133,\n \"Actual Startup Time\": 725.771,\n \"Actual Total Time\": 725.772,\n \"Actual Rows\": 11,\n \"Actual Loops\": 1,\n \"Output\": [\"c.state\", \"cat.categoryname\", \"(sum(o.netamount))\", \"(sum(o.totalamount))\"],\n \"Sort Key\": [\"c.state\", \"(sum(o.totalamount))\"],\n \"Sort Method\": \"top-N heapsort\",\n \"Sort Space Used\": 25,\n \"Sort Space Type\": \"Memory\",\n \"Shared Hit Blocks\": 23,\n \"Shared Read Blocks\": 1392,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Aggregate\",\n \"Strategy\": \"Hashed\",\n \"Parent Relationship\": \"Outer\",\n \"Startup Cost\": 16994.41,\n \"Total Cost\": 17006.65,\n \"Plan Rows\": 816,\n \"Plan Width\": 133,\n \"Actual Startup Time\": 723.877,\n \"Actual Total Time\": 724.417,\n \"Actual Rows\": 832,\n \"Actual Loops\": 1,\n \"Output\": [\"c.state\", \"cat.categoryname\", \"sum(o.netamount)\", \"sum(o.totalamount)\"],\n \"Group Key\": [\"c.state\", \"cat.categoryname\"],\n \"Shared Hit Blocks\": 13,\n \"Shared Read Blocks\": 1392,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 4966.48,\n \"Total Cost\": 13742.65,\n \"Plan Rows\": 325176,\n \"Plan Width\": 133,\n \"Actual Startup Time\": 118.314,\n \"Actual Total Time\": 354.285,\n \"Actual Rows\": 383270,\n \"Actual Loops\": 1,\n \"Output\": [\"c.state\", \"o.netamount\", \"o.totalamount\", \"cat.categoryname\"],\n \"Hash Cond\": \"(o.orderid = ch.orderid)\",\n \"Shared Hit Blocks\": 13,\n \"Shared Read Blocks\": 1392,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 834.86,\n \"Total Cost\": 4539.11,\n \"Plan Rows\": 60350,\n \"Plan Width\": 138,\n \"Actual Startup Time\": 22.651,\n \"Actual Total Time\": 133.484,\n \"Actual Rows\": 60350,\n \"Actual Loops\": 1,\n \"Output\": [\"o.netamount\", \"o.totalamount\", \"o.orderid\", \"ol.orderid\", \"cat.categoryname\"],\n \"Hash Cond\": \"(ol.orderid = o.orderid)\",\n \"Shared Hit Blocks\": 9,\n \"Shared Read Blocks\": 581,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 464.86,\n \"Total Cost\": 2962.11,\n \"Plan Rows\": 60350,\n \"Plan Width\": 122,\n \"Actual Startup Time\": 12.467,\n \"Actual Total Time\": 85.647,\n \"Actual Rows\": 60350,\n \"Actual Loops\": 1,\n \"Output\": [\"ol.orderid\", \"cat.categoryname\"],\n \"Hash Cond\": \"(ol.prod_id = p.prod_id)\",\n \"Shared Hit Blocks\": 4,\n \"Shared Read Blocks\": 483,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Relation Name\": \"orderlines\",\n \"Schema\": \"public\",\n \"Alias\": \"ol\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 988.50,\n \"Plan Rows\": 60350,\n \"Plan Width\": 8,\n \"Actual Startup Time\": 0.005,\n \"Actual Total Time\": 14.054,\n \"Actual Rows\": 60350,\n \"Actual Loops\": 1,\n \"Output\": [\"ol.orderlineid\", \"ol.orderid\", \"ol.prod_id\", \"ol.quantity\", \"ol.orderdate\"],\n \"Shared Hit Blocks\": 2,\n \"Shared Read Blocks\": 383,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 339.86,\n \"Total Cost\": 339.86,\n \"Plan Rows\": 10000,\n \"Plan Width\": 122,\n \"Actual Startup Time\": 12.446,\n \"Actual Total Time\": 12.446,\n \"Actual Rows\": 10000,\n \"Actual Loops\": 1,\n \"Output\": [\"p.prod_id\", \"cat.categoryname\"],\n \"Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 425,\n \"Shared Hit Blocks\": 2,\n \"Shared Read Blocks\": 100,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 1.36,\n \"Total Cost\": 339.86,\n \"Plan Rows\": 10000,\n \"Plan Width\": 122,\n \"Actual Startup Time\": 0.283,\n \"Actual Total Time\": 9.015,\n \"Actual Rows\": 10000,\n \"Actual Loops\": 1,\n \"Output\": [\"p.prod_id\", \"cat.categoryname\"],\n \"Hash Cond\": \"(p.category = cat.category)\",\n \"Shared Hit Blocks\": 2,\n \"Shared Read Blocks\": 100,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Relation Name\": \"products\",\n \"Schema\": \"public\",\n \"Alias\": \"p\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 201.00,\n \"Plan Rows\": 10000,\n \"Plan Width\": 8,\n \"Actual Startup Time\": 0.003,\n \"Actual Total Time\": 4.330,\n \"Actual Rows\": 10000,\n \"Actual Loops\": 1,\n \"Output\": [\"p.prod_id\", \"p.category\", \"p.title\", \"p.actor\", \"p.price\", \"p.special\", \"p.common_prod_id\"],\n \"Shared Hit Blocks\": 2,\n \"Shared Read Blocks\": 99,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 1.16,\n \"Total Cost\": 1.16,\n \"Plan Rows\": 16,\n \"Plan Width\": 122,\n \"Actual Startup Time\": 0.265,\n \"Actual Total Time\": 0.265,\n \"Actual Rows\": 16,\n \"Actual Loops\": 1,\n \"Output\": [\"cat.categoryname\", \"cat.category\"],\n \"Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 1,\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 1,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Relation Name\": \"categories\",\n \"Schema\": \"public\",\n \"Alias\": \"cat\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 1.16,\n \"Plan Rows\": 16,\n \"Plan Width\": 122,\n \"Actual Startup Time\": 0.250,\n \"Actual Total Time\": 0.252,\n \"Actual Rows\": 16,\n \"Actual Loops\": 1,\n \"Output\": [\"cat.categoryname\", \"cat.category\"],\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 1,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 220.00,\n \"Total Cost\": 220.00,\n \"Plan Rows\": 12000,\n \"Plan Width\": 16,\n \"Actual Startup Time\": 10.159,\n \"Actual Total Time\": 10.159,\n \"Actual Rows\": 12000,\n \"Actual Loops\": 1,\n \"Output\": [\"o.netamount\", \"o.totalamount\", \"o.orderid\"],\n \"Hash Buckets\": 2048,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 609,\n \"Shared Hit Blocks\": 2,\n \"Shared Read Blocks\": 98,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Relation Name\": \"orders\",\n \"Schema\": \"public\",\n \"Alias\": \"o\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 220.00,\n \"Plan Rows\": 12000,\n \"Plan Width\": 16,\n \"Actual Startup Time\": 0.008,\n \"Actual Total Time\": 5.548,\n \"Actual Rows\": 12000,\n \"Actual Loops\": 1,\n \"Output\": [\"o.netamount\", \"o.totalamount\", \"o.orderid\"],\n \"Shared Hit Blocks\": 2,\n \"Shared Read Blocks\": 98,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 3377.25,\n \"Total Cost\": 3377.25,\n \"Plan Rows\": 60350,\n \"Plan Width\": 7,\n \"Actual Startup Time\": 95.610,\n \"Actual Total Time\": 95.610,\n \"Actual Rows\": 60350,\n \"Actual Loops\": 1,\n \"Output\": [\"c.state\", \"ch.orderid\"],\n \"Hash Buckets\": 8192,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 2239,\n \"Shared Hit Blocks\": 4,\n \"Shared Read Blocks\": 811,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 938.00,\n \"Total Cost\": 3377.25,\n \"Plan Rows\": 60350,\n \"Plan Width\": 7,\n \"Actual Startup Time\": 24.115,\n \"Actual Total Time\": 74.639,\n \"Actual Rows\": 60350,\n \"Actual Loops\": 1,\n \"Output\": [\"c.state\", \"ch.orderid\"],\n \"Hash Cond\": \"(ch.customerid = c.customerid)\",\n \"Shared Hit Blocks\": 4,\n \"Shared Read Blocks\": 811,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Relation Name\": \"cust_hist\",\n \"Schema\": \"public\",\n \"Alias\": \"ch\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 930.50,\n \"Plan Rows\": 60350,\n \"Plan Width\": 8,\n \"Actual Startup Time\": 0.294,\n \"Actual Total Time\": 11.812,\n \"Actual Rows\": 60350,\n \"Actual Loops\": 1,\n \"Output\": [\"ch.customerid\", \"ch.orderid\", \"ch.prod_id\"],\n \"Shared Hit Blocks\": 2,\n \"Shared Read Blocks\": 325,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Startup Cost\": 688.00,\n \"Total Cost\": 688.00,\n \"Plan Rows\": 20000,\n \"Plan Width\": 7,\n \"Actual Startup Time\": 23.786,\n \"Actual Total Time\": 23.786,\n \"Actual Rows\": 20000,\n \"Actual Loops\": 1,\n \"Output\": [\"c.state\", \"c.customerid\"],\n \"Hash Buckets\": 2048,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 743,\n \"Shared Hit Blocks\": 2,\n \"Shared Read Blocks\": 486,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Relation Name\": \"customers\",\n \"Schema\": \"public\",\n \"Alias\": \"c\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 688.00,\n \"Plan Rows\": 20000,\n \"Plan Width\": 7,\n \"Actual Startup Time\": 0.005,\n \"Actual Total Time\": 16.771,\n \"Actual Rows\": 20000,\n \"Actual Loops\": 1,\n \"Output\": [\"c.state\", \"c.customerid\"],\n \"Shared Hit Blocks\": 2,\n \"Shared Read Blocks\": 486,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"I/O Read Time\": 0.000,\n \"I/O Write Time\": 0.000\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n \"Planning Time\": 26.171,\n \"Triggers\": [\n ],\n \"Execution Time\": 726.800\n }\n]\n`;\n\nexport const plan5_query = `SELECT c.state,\n cat.categoryname,\n sum(o.netamount),\n sum(o.totalamount)\nFROM customers c\n INNER JOIN cust_hist ch ON c.customerid = ch.customerid\n INNER JOIN orders o ON ch.orderid = o.orderid\n INNER JOIN orderlines ol ON ol.orderid = o.orderid\n INNER JOIN products p ON ol.prod_id = p.prod_id\n INNER JOIN categories cat ON p.category = cat.category\nGROUP BY c.state, cat.categoryname\nORDER BY c.state, sum(o.totalamount) DESC LIMIT 10 OFFSET 1;\n`;\n\nexport const plan6_source = `\"Limit (cost=1.27..3878.21 rows=5 width=172) (actual time=0.245..2.544 rows=5 loops=1)\"\n\" -> Nested Loop (cost=1.27..48075.41 rows=62 width=172) (actual time=0.244..2.539 rows=5 loops=1)\"\n\" -> Nested Loop (cost=0.84..2420.02 rows=65 width=85) (actual time=0.137..0.151 rows=5 loops=1)\"\n\" -> Nested Loop (cost=0.42..2356.20 rows=5 width=85) (actual time=0.118..0.119 rows=1 loops=1)\"\n\" -> Seq Scan on top_challenge_list (cost=0.00..30.26 rows=58 width=57) (actual time=0.036..0.043 rows=4 loops=1)\"\n\" Filter: (is_active AND ((template_challenge)::text = 'top_turnover'::text))\"\n\" Rows Removed by Filter: 26\"\n\" -> Index Scan using ref_people_xperf1 on ref_people (cost=0.42..40.09 rows=1 width=28) (actual time=0.017..0.017 rows=0 loops=4)\"\n\" Index Cond: (id_int = top_challenge_list.id_int_manager)\"\n\" Filter: (is_active AND (id_statut <> 2) AND (COALESCE(id_qualification, 1) >= 1) AND (id_type = 5))\"\n\" Rows Removed by Filter: 4\"\n\" -> Index Scan using ref_genealogy_xperf5 on ref_genealogy (cost=0.42..12.56 rows=20 width=8) (actual time=0.017..0.026 rows=5 loops=1)\"\n\" Index Cond: (id_int = ref_people.id_int)\"\n\" Filter: is_active\"\n\" -> Index Scan using ref_people_xperf1 on ref_people filleuls (cost=0.42..0.82 rows=1 width=47) (actual time=0.012..0.030 rows=1 loops=5)\"\n\" Index Cond: (id_int = ref_genealogy.id_int_level)\"\n\" Filter: (is_active AND (id_type = ANY ('{5,14}'::integer[])))\"\n\" Rows Removed by Filter: 7\"\n\" SubPlan 1\"\n\" -> Aggregate (cost=361.46..361.47 rows=1 width=8) (actual time=0.233..0.233 rows=1 loops=5)\"\n\" -> Index Scan using ref_transaction_xperf4 on ref_transaction (cost=0.42..361.46 rows=1 width=8) (actual time=0.155..0.229 rows=0 loops=5)\"\n\" Index Cond: (id_int_agent_out = filleuls.id_int)\"\n\" Filter: (is_active AND (date_acte IS NOT NULL) AND (date_acte >= top_challenge_list.date_deb_challenge) AND (date_acte <= top_challenge_list.date_fin_challenge) AND (id_type_transaction = 1))\"\n\" Rows Removed by Filter: 100\"\n\" SubPlan 2\"\n\" -> Aggregate (cost=373.99..374.00 rows=1 width=8) (actual time=0.177..0.178 rows=1 loops=5)\"\n\" -> Index Scan using ref_transaction_xperf3 on ref_transaction ref_transaction_1 (cost=0.42..373.99 rows=1 width=8) (actual time=0.117..0.174 rows=0 loops=5)\"\n\" Index Cond: (id_int_agent_in = filleuls.id_int)\"\n\" Filter: (is_active AND (date_acte IS NOT NULL) AND (date_acte >= top_challenge_list.date_deb_challenge) AND (date_acte <= top_challenge_list.date_fin_challenge) AND (id_type_transaction = 1))\"\n\" Rows Removed by Filter: 102\"\n\"Planning Time: 2.916 ms\"\n\"Execution Time: 2.900 ms\"`;\n\nexport const plan7_source = String.raw`\n QUERY PLAN\n═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════\n Merge on public.t1 (cost=1824058.07..1336099696.57 rows=0 width=0) (actual time=16254.981..16254.984 rows=0 loops=1)\n Tuples: deleted=2499999\n Buffers: shared hit=5002762 read=51294 dirtied=13514 written=8006, local hit=7541658 read=25779 dirtied=46608 written=67441, temp read=98262 written=150446\n WAL: records=2500630 fpi=8047 bytes=200763653\n CTE t2bb\n -> Update on pg_temp.t2 (cost=0.00..54898.62 rows=2912462 width=14) (actual time=244.180..2939.572 rows=2499999 loops=1)\n Output: t2.i, t2.x, t2.filler\n Buffers: local hit=7541658 read=25779 dirtied=46608 written=67441\n -> Seq Scan on pg_temp.t2 (cost=0.00..54898.62 rows=2912462 width=14) (actual time=226.341..690.083 rows=2499999 loops=1)\n Output: NULL::double precision, t2.ctid\n Buffers: local read=25774 dirtied=25774 written=25771\n CTE t2b\n -> Sort (cost=650151.19..657432.35 rows=2912462 width=52) (actual time=5387.848..5800.321 rows=2499999 loops=1)\n Output: t2bb.i, t2bb.x, t2bb.filler, (random())\n Sort Key: (random())\n Sort Method: external merge Disk: 141936kB\n Buffers: shared hit=3, local hit=7541658 read=25779 dirtied=46608 written=67441, temp read=35480 written=49892\n -> CTE Scan on t2bb (cost=0.00..65530.39 rows=2912462 width=52) (actual time=244.188..3856.231 rows=2499999 loops=1)\n Output: t2bb.i, t2bb.x, t2bb.filler, random()\n Buffers: local hit=7541658 read=25779 dirtied=46608 written=67441, temp written=14343\n -> Merge Left Join (cost=1111727.10..1335387365.61 rows=88949720377 width=42) (actual time=10989.361..12903.243 rows=2499999 loops=1)\n Output: t1.ctid, t2b.i, t2b.filler\n Merge Cond: (t2b.i = t1.i)\n Buffers: shared hit=15647 read=38411 dirtied=631, local hit=7541658 read=25779 dirtied=46608 written=67441, temp read=98262 written=150446\n WAL: records=631 fpi=631 bytes=5182403\n -> Sort (cost=530235.49..537516.64 rows=2912462 width=36) (actual time=7556.652..7928.837 rows=2499999 loops=1)\n Output: t2b.i, t2b.filler\n Sort Key: t2b.i\n Sort Method: external merge Disk: 115072kB\n Buffers: shared hit=3, local hit=7541658 read=25779 dirtied=46608 written=67441, temp read=64238 written=96414\n -> CTE Scan on t2b (cost=0.00..58249.24 rows=2912462 width=36) (actual time=5387.869..6356.641 rows=2499999 loops=1)\n Output: t2b.i, t2b.filler\n Buffers: shared hit=3, local hit=7541658 read=25779 dirtied=46608 written=67441, temp read=35480 written=67592\n -> Materialize (cost=1012385.82..1042926.89 rows=6108215 width=10) (actual time=3432.664..4124.070 rows=2500000 loops=1)\n Output: t1.ctid, t1.i\n Buffers: shared hit=15644 read=38411 dirtied=631, temp read=34024 written=54032\n WAL: records=631 fpi=631 bytes=5182403\n -> Sort (cost=1012385.82..1027656.36 rows=6108215 width=10) (actual time=3432.659..3773.369 rows=2500000 loops=1)\n Output: t1.ctid, t1.i\n Sort Key: t1.i\n Sort Method: external merge Disk: 215352kB\n Buffers: shared hit=15644 read=38411 dirtied=631, temp read=34024 written=54032\n WAL: records=631 fpi=631 bytes=5182403\n -> Seq Scan on public.t1 (cost=0.00..115137.15 rows=6108215 width=10) (actual time=0.031..1073.371 rows=10000000 loops=1)\n Output: t1.ctid, t1.i\n Buffers: shared hit=15644 read=38411 dirtied=631\n WAL: records=631 fpi=631 bytes=5182403\n Planning:\n Buffers: shared hit=21 read=7\n Planning Time: 0.237 ms\n JIT:\n Functions: 20\n Options: Inlining true, Optimization true, Expressions true, Deforming true\n Timing: Generation 0.948 ms, Inlining 76.071 ms, Optimization 97.998 ms, Emission 70.028 ms, Total 245.045 ms\n Execution Time: 16365.829 ms\n(55 lignes)\n`;\n\nexport const plan7_query = String.raw`\n-- create a plan with all written/buffers/shared/local/temp at once\n\n\\timing off\n\n\\set NB 10000000\n\\set MINIMUM :NB/4\n\n\nSET synchronous_commit TO off;\n\n\\set ON_ERROR_STOP 1\n\n\\set ECHO queries\n\nDROP TABLE IF EXISTS t1, t2 ;\n\nCREATE TABLE t1 (i int GENERATED BY DEFAULT AS IDENTITY, x float DEFAULT random(), filler text DEFAULT NULL) ;\n\nCREATE TEMP TABLE t2 (LIKE t1);\nVACUUM (ANALYZE,VERBOSE) t1,t2;\n\n\\d+ t1\n\\d+ t2\n\nINSERT INTO t1 SELECT FROM generate_series (1,:NB) i ;\n\nINSERT INTO t2 SELECT i,x,md5(i::text) FROM t1 WHERE i < :MINIMUM ;\n\n\\dt+ t?\n\nSET work_mem TO '4MB' ;\n\n\\echo \"Update T1 from a modified version of T2\"\n\nEXPLAIN (ANALYZE,BUFFERS,VERBOSE,SETTINGS,WAL)\nWITH t2bb AS ( UPDATE t2 SET x=null RETURNING * ),\nt2b AS ( SELECT * FROM t2bb ORDER BY random())\nMERGE INTO t1\nUSING t2b\nON (t1.i=t2b.i)\nWHEN NOT MATCHED AND t2b.i >= :MINIMUM THEN\n INSERT VALUES (t2b.i, null, t2b.filler)\nWHEN MATCHED AND t2b.i < :MINIMUM THEN\n DELETE\nWHEN MATCHED THEN\n UPDATE SET filler=t2b.filler, x=null ;\n`;\n\nexport const plan9_source = `Append (actual time=102.409..302.675 rows=3 loops=1)\n CTE init\n -> Append (actual time=102.397..302.649 rows=2 loops=1)\n -> Function Scan on pg_sleep pg_sleep_for (actual time=102.396..102.398 rows=1 loops=1)\n -> Function Scan on pg_sleep pg_sleep_for_1 (actual time=200.243..200.245 rows=1 loops=1)\n -> Limit (actual time=102.407..102.409 rows=1 loops=1)\n -> CTE Scan on init init_1 (actual time=102.402..102.402 rows=1 loops=1)\n -> CTE Scan on init (actual time=0.001..200.256 rows=2 loops=1)\nPlanning Time: 47.003 ms\nExecution Time: 303.905 ms\n`;\n\nexport const plan9_query = `WITH init AS (\n SELECT * FROM pg_sleep_for('100ms')\n UNION ALL\n SELECT * FROM pg_sleep_for('200ms')\n)\n(SELECT * FROM init LIMIT 1)\nUNION ALL\n(SELECT * FROM init);\n`;\n\nexport const plan8_source = String.raw`{\n \"Plan\": {\n \"Node Type\": \"Hash Join\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Left\",\n \"Startup Cost\": 394.93,\n \"Total Cost\": 417.11,\n \"Plan Rows\": 12,\n \"Plan Width\": 316,\n \"Actual Startup Time\": 226.103,\n \"Actual Total Time\": 232.217,\n \"Actual Rows\": 62,\n \"Actual Loops\": 1,\n \"Output\": [\n \"c.relname\",\n \"(pg_total_relation_size((c.oid)::regclass))\",\n \"(pg_indexes_size((c.oid)::regclass))\",\n \"(COALESCE(pg_total_relation_size((c.reltoastrelid)::regclass), '0'::bigint))\",\n \"(((pg_total_relation_size((c.oid)::regclass)) - (pg_indexes_size((c.oid)::regclass))) - (COALESCE(pg_total_relation_size((c.reltoastrelid)::regclass), '0'::bigint)))\",\n \"COALESCE((count(*)), '0'::bigint)\",\n \"pg_size_pretty((pg_total_relation_size((c.oid)::regclass)))\",\n \"pg_size_pretty((pg_indexes_size((c.oid)::regclass)))\",\n \"pg_size_pretty((COALESCE(pg_total_relation_size((c.reltoastrelid)::regclass), '0'::bigint)))\",\n \"pg_size_pretty((((pg_total_relation_size((c.oid)::regclass)) - (pg_indexes_size((c.oid)::regclass))) - (COALESCE(pg_total_relation_size((c.reltoastrelid)::regclass), '0'::bigint))))\",\n \"CASE WHEN ((((s.heappages + s.toastpages))::double precision - (ceil((s.reltuples / ((((s.bs - (s.page_hdr)::numeric) * (s.fillfactor)::numeric))::double precision / (((((((4 + s.tpl_hdr_size))::double precision + s.tpl_data_size) + ((2 * s.ma))::double precision) - (CASE WHEN ((s.tpl_hdr_size % (s.ma)::bigint) = 0) THEN (s.ma)::bigint ELSE (s.tpl_hdr_size % (s.ma)::bigint) END)::double precision) - (CASE WHEN (((ceil(s.tpl_data_size))::integer % s.ma) = 0) THEN s.ma ELSE ((ceil(s.tpl_data_size))::integer % s.ma) END)::double precision) * '100'::double precision)))) + ceil((s.toasttuples / '4'::double precision)))) > '0'::double precision) THEN ((((s.heappages + s.toastpages))::double precision - (ceil((s.reltuples / ((((s.bs - (s.page_hdr)::numeric) * (s.fillfactor)::numeric))::double precision / (((((((4 + s.tpl_hdr_size))::double precision + s.tpl_data_size) + ((2 * s.ma))::double precision) - (CASE WHEN ((s.tpl_hdr_size % (s.ma)::bigint) = 0) THEN (s.ma)::bigint ELSE (s.tpl_hdr_size % (s.ma)::bigint) END)::double precision) - (CASE WHEN (((ceil(s.tpl_data_size))::integer % s.ma) = 0) THEN s.ma ELSE ((ceil(s.tpl_data_size))::integer % s.ma) END)::double precision) * '100'::double precision)))) + ceil((s.toasttuples / '4'::double precision)))) * (s.bs)::double precision) ELSE '0'::double precision END\",\n \"pg_size_pretty((CASE WHEN ((((s.heappages + s.toastpages))::double precision - (ceil((s.reltuples / ((((s.bs - (s.page_hdr)::numeric) * (s.fillfactor)::numeric))::double precision / (((((((4 + s.tpl_hdr_size))::double precision + s.tpl_data_size) + ((2 * s.ma))::double precision) - (CASE WHEN ((s.tpl_hdr_size % (s.ma)::bigint) = 0) THEN (s.ma)::bigint ELSE (s.tpl_hdr_size % (s.ma)::bigint) END)::double precision) - (CASE WHEN (((ceil(s.tpl_data_size))::integer % s.ma) = 0) THEN s.ma ELSE ((ceil(s.tpl_data_size))::integer % s.ma) END)::double precision) * '100'::double precision)))) + ceil((s.toasttuples / '4'::double precision)))) > '0'::double precision) THEN ((((s.heappages + s.toastpages))::double precision - (ceil((s.reltuples / ((((s.bs - (s.page_hdr)::numeric) * (s.fillfactor)::numeric))::double precision / (((((((4 + s.tpl_hdr_size))::double precision + s.tpl_data_size) + ((2 * s.ma))::double precision) - (CASE WHEN ((s.tpl_hdr_size % (s.ma)::bigint) = 0) THEN (s.ma)::bigint ELSE (s.tpl_hdr_size % (s.ma)::bigint) END)::double precision) - (CASE WHEN (((ceil(s.tpl_data_size))::integer % s.ma) = 0) THEN s.ma ELSE ((ceil(s.tpl_data_size))::integer % s.ma) END)::double precision) * '100'::double precision)))) + ceil((s.toasttuples / '4'::double precision)))) * (s.bs)::double precision) ELSE '0'::double precision END)::bigint)\",\n \"(sum((CASE WHEN ((q.relpages)::double precision > COALESCE(('1'::double precision + ceil((q.reltuples / floor((((((((current_setting('block_size'::text))::numeric) - ((16))::numeric) - ((24))::numeric) * (q.fillfactor)::numeric))::double precision / ('100'::double precision * (('4'::numeric + ((((((((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) + (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) - CASE WHEN (((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE ((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END))::double precision + (sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision)))) + ((CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END))::double precision) - (CASE WHEN ((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))) = '0'::double precision) THEN 0 WHEN ((((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE (((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END)::double precision))::numeric))::double precision)))))), '0'::double precision)) THEN ((((current_setting('block_size'::text))::numeric))::double precision * ((q.relpages)::double precision - COALESCE(('1'::double precision + ceil((q.reltuples / floor((((((((current_setting('block_size'::text))::numeric) - ((16))::numeric) - ((24))::numeric) * (q.fillfactor)::numeric))::double precision / ('100'::double precision * (('4'::numeric + ((((((((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) + (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) - CASE WHEN (((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE ((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END))::double precision + (sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision)))) + ((CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END))::double precision) - (CASE WHEN ((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))) = '0'::double precision) THEN 0 WHEN ((((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE (((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END)::double precision))::numeric))::double precision)))))), '0'::double precision))) ELSE '0'::double precision END)))\",\n \"pg_size_pretty(((sum((CASE WHEN ((q.relpages)::double precision > COALESCE(('1'::double precision + ceil((q.reltuples / floor((((((((current_setting('block_size'::text))::numeric) - ((16))::numeric) - ((24))::numeric) * (q.fillfactor)::numeric))::double precision / ('100'::double precision * (('4'::numeric + ((((((((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) + (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) - CASE WHEN (((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE ((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END))::double precision + (sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision)))) + ((CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END))::double precision) - (CASE WHEN ((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))) = '0'::double precision) THEN 0 WHEN ((((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE (((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END)::double precision))::numeric))::double precision)))))), '0'::double precision)) THEN ((((current_setting('block_size'::text))::numeric))::double precision * ((q.relpages)::double precision - COALESCE(('1'::double precision + ceil((q.reltuples / floor((((((((current_setting('block_size'::text))::numeric) - ((16))::numeric) - ((24))::numeric) * (q.fillfactor)::numeric))::double precision / ('100'::double precision * (('4'::numeric + ((((((((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) + (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) - CASE WHEN (((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE ((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END))::double precision + (sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision)))) + ((CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END))::double precision) - (CASE WHEN ((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))) = '0'::double precision) THEN 0 WHEN ((((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE (((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END)::double precision))::numeric))::double precision)))))), '0'::double precision))) ELSE '0'::double precision END))))::bigint)\",\n \"c.reltuples\"\n ],\n \"Inner Unique\": true,\n \"Hash Cond\": \"((n.nspname = q.nspname) AND (c.relname = q.tblname))\",\n \"Shared Hit Blocks\": 218101,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 211.58,\n \"Total Cost\": 228.59,\n \"Plan Rows\": 12,\n \"Plan Width\": 240,\n \"Actual Startup Time\": 35.727,\n \"Actual Total Time\": 41.452,\n \"Actual Rows\": 62,\n \"Actual Loops\": 1,\n \"Output\": [\n \"c.relname\",\n \"(pg_total_relation_size((c.oid)::regclass))\",\n \"(pg_indexes_size((c.oid)::regclass))\",\n \"(COALESCE(pg_total_relation_size((c.reltoastrelid)::regclass), '0'::bigint))\",\n \"c.reltuples\",\n \"n.nspname\",\n \"(count(*))\",\n \"s.heappages\",\n \"s.toastpages\",\n \"s.reltuples\",\n \"s.bs\",\n \"s.page_hdr\",\n \"s.fillfactor\",\n \"s.tpl_hdr_size\",\n \"s.tpl_data_size\",\n \"s.ma\",\n \"s.toasttuples\"\n ],\n \"Inner Unique\": false,\n \"Hash Cond\": \"(c.relname = s.tblname)\",\n \"Shared Hit Blocks\": 2449,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Left\",\n \"Startup Cost\": 42.71,\n \"Total Cost\": 59.55,\n \"Plan Rows\": 12,\n \"Plan Width\": 164,\n \"Actual Startup Time\": 0.697,\n \"Actual Total Time\": 6.325,\n \"Actual Rows\": 62,\n \"Actual Loops\": 1,\n \"Output\": [\n \"c.relname\",\n \"(pg_total_relation_size((c.oid)::regclass))\",\n \"(pg_indexes_size((c.oid)::regclass))\",\n \"(COALESCE(pg_total_relation_size((c.reltoastrelid)::regclass), '0'::bigint))\",\n \"c.reltuples\",\n \"n.nspname\",\n \"(count(*))\"\n ],\n \"Inner Unique\": true,\n \"Hash Cond\": \"(c.relname = c_1.relname)\",\n \"Shared Hit Blocks\": 694,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 1.09,\n \"Total Cost\": 17.77,\n \"Plan Rows\": 12,\n \"Plan Width\": 160,\n \"Actual Startup Time\": 0.151,\n \"Actual Total Time\": 5.685,\n \"Actual Rows\": 62,\n \"Actual Loops\": 1,\n \"Output\": [\n \"NULL::oid\",\n \"n.nspname\",\n \"c.relname\",\n \"c.reltuples\",\n \"pg_total_relation_size((c.oid)::regclass)\",\n \"pg_indexes_size((c.oid)::regclass)\",\n \"COALESCE(pg_total_relation_size((c.reltoastrelid)::regclass), '0'::bigint)\"\n ],\n \"Inner Unique\": true,\n \"Hash Cond\": \"(c.relnamespace = n.oid)\",\n \"Shared Hit Blocks\": 663,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_class\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"c\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 16.27,\n \"Plan Rows\": 69,\n \"Plan Width\": 80,\n \"Actual Startup Time\": 0.014,\n \"Actual Total Time\": 0.135,\n \"Actual Rows\": 71,\n \"Actual Loops\": 1,\n \"Output\": [\n \"c.relname\",\n \"c.reltuples\",\n \"c.oid\",\n \"c.reltoastrelid\",\n \"c.relnamespace\"\n ],\n \"Filter\": \"(c.relkind = 'r'::\\\"char\\\")\",\n \"Rows Removed by Filter\": 277,\n \"Shared Hit Blocks\": 12,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 1.07,\n \"Total Cost\": 1.07,\n \"Plan Rows\": 1,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.014,\n \"Actual Total Time\": 0.014,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\"n.nspname\", \"n.oid\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 9,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_namespace\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"n\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 1.07,\n \"Plan Rows\": 1,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.006,\n \"Actual Total Time\": 0.007,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\"n.nspname\", \"n.oid\"],\n \"Filter\": \"(n.nspname = 'pg_catalog'::name)\",\n \"Rows Removed by Filter\": 6,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 41.44,\n \"Total Cost\": 41.44,\n \"Plan Rows\": 14,\n \"Plan Width\": 72,\n \"Actual Startup Time\": 0.529,\n \"Actual Total Time\": 0.529,\n \"Actual Rows\": 62,\n \"Actual Loops\": 1,\n \"Output\": [\"(count(*))\", \"c_1.relname\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 15,\n \"Shared Hit Blocks\": 31,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Aggregate\",\n \"Strategy\": \"Sorted\",\n \"Partial Mode\": \"Simple\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 41.06,\n \"Total Cost\": 41.3,\n \"Plan Rows\": 14,\n \"Plan Width\": 72,\n \"Actual Startup Time\": 0.474,\n \"Actual Total Time\": 0.504,\n \"Actual Rows\": 62,\n \"Actual Loops\": 1,\n \"Output\": [\"count(*)\", \"c_1.relname\"],\n \"Group Key\": [\"c_1.relname\"],\n \"Shared Hit Blocks\": 31,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Sort\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 41.06,\n \"Total Cost\": 41.09,\n \"Plan Rows\": 14,\n \"Plan Width\": 64,\n \"Actual Startup Time\": 0.463,\n \"Actual Total Time\": 0.469,\n \"Actual Rows\": 116,\n \"Actual Loops\": 1,\n \"Output\": [\"c_1.relname\"],\n \"Sort Key\": [\"c_1.relname\"],\n \"Sort Method\": \"quicksort\",\n \"Sort Space Used\": 41,\n \"Sort Space Type\": \"Memory\",\n \"Shared Hit Blocks\": 31,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 23.87,\n \"Total Cost\": 40.79,\n \"Plan Rows\": 14,\n \"Plan Width\": 64,\n \"Actual Startup Time\": 0.266,\n \"Actual Total Time\": 0.366,\n \"Actual Rows\": 116,\n \"Actual Loops\": 1,\n \"Output\": [\"c_1.relname\"],\n \"Inner Unique\": false,\n \"Hash Cond\": \"(i.oid = x.indexrelid)\",\n \"Shared Hit Blocks\": 28,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_class\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"i\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 16.27,\n \"Plan Rows\": 135,\n \"Plan Width\": 8,\n \"Actual Startup Time\": 0.009,\n \"Actual Total Time\": 0.09,\n \"Actual Rows\": 137,\n \"Actual Loops\": 1,\n \"Output\": [\"i.oid\", \"i.reltablespace\"],\n \"Filter\": \"(i.relkind = 'i'::\\\"char\\\")\",\n \"Rows Removed by Filter\": 211,\n \"Shared Hit Blocks\": 12,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 23.42,\n \"Total Cost\": 23.42,\n \"Plan Rows\": 36,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.237,\n \"Actual Total Time\": 0.237,\n \"Actual Rows\": 116,\n \"Actual Loops\": 1,\n \"Output\": [\"x.indexrelid\", \"c_1.relname\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 20,\n \"Shared Hit Blocks\": 16,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 17.14,\n \"Total Cost\": 23.42,\n \"Plan Rows\": 36,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.145,\n \"Actual Total Time\": 0.21,\n \"Actual Rows\": 116,\n \"Actual Loops\": 1,\n \"Output\": [\"x.indexrelid\", \"c_1.relname\"],\n \"Inner Unique\": true,\n \"Hash Cond\": \"(x.indrelid = c_1.oid)\",\n \"Shared Hit Blocks\": 16,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_index\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"x\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 5.8,\n \"Plan Rows\": 180,\n \"Plan Width\": 8,\n \"Actual Startup Time\": 0.005,\n \"Actual Total Time\": 0.018,\n \"Actual Rows\": 137,\n \"Actual Loops\": 1,\n \"Output\": [\n \"x.indexrelid\",\n \"x.indrelid\",\n \"x.indnatts\",\n \"x.indnkeyatts\",\n \"x.indisunique\",\n \"x.indisprimary\",\n \"x.indisexclusion\",\n \"x.indimmediate\",\n \"x.indisclustered\",\n \"x.indisvalid\",\n \"x.indcheckxmin\",\n \"x.indisready\",\n \"x.indislive\",\n \"x.indisreplident\",\n \"x.indkey\",\n \"x.indcollation\",\n \"x.indclass\",\n \"x.indoption\",\n \"x.indexprs\",\n \"x.indpred\"\n ],\n \"Shared Hit Blocks\": 4,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 16.27,\n \"Total Cost\": 16.27,\n \"Plan Rows\": 69,\n \"Plan Width\": 72,\n \"Actual Startup Time\": 0.124,\n \"Actual Total Time\": 0.124,\n \"Actual Rows\": 71,\n \"Actual Loops\": 1,\n \"Output\": [\n \"c_1.relname\",\n \"c_1.oid\",\n \"c_1.relnamespace\"\n ],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 16,\n \"Shared Hit Blocks\": 12,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_class\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"c_1\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 16.27,\n \"Plan Rows\": 69,\n \"Plan Width\": 72,\n \"Actual Startup Time\": 0.005,\n \"Actual Total Time\": 0.11,\n \"Actual Rows\": 71,\n \"Actual Loops\": 1,\n \"Output\": [\n \"c_1.relname\",\n \"c_1.oid\",\n \"c_1.relnamespace\"\n ],\n \"Filter\": \"(c_1.relkind = ANY ('{r,m}'::\\\"char\\\"[]))\",\n \"Rows Removed by Filter\": 277,\n \"Shared Hit Blocks\": 12,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 168.03,\n \"Total Cost\": 168.03,\n \"Plan Rows\": 68,\n \"Plan Width\": 204,\n \"Actual Startup Time\": 34.99,\n \"Actual Total Time\": 34.99,\n \"Actual Rows\": 62,\n \"Actual Loops\": 1,\n \"Output\": [\n \"s.heappages\",\n \"s.toastpages\",\n \"s.reltuples\",\n \"s.bs\",\n \"s.page_hdr\",\n \"s.fillfactor\",\n \"s.tpl_hdr_size\",\n \"s.tpl_data_size\",\n \"s.ma\",\n \"s.toasttuples\",\n \"s.schemaname\",\n \"s.tblname\"\n ],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 22,\n \"Shared Hit Blocks\": 1755,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Subquery Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Alias\": \"s\",\n \"Startup Cost\": 160.72,\n \"Total Cost\": 168.03,\n \"Plan Rows\": 68,\n \"Plan Width\": 204,\n \"Actual Startup Time\": 34.381,\n \"Actual Total Time\": 34.907,\n \"Actual Rows\": 62,\n \"Actual Loops\": 1,\n \"Output\": [\n \"s.heappages\",\n \"s.toastpages\",\n \"s.reltuples\",\n \"s.bs\",\n \"s.page_hdr\",\n \"s.fillfactor\",\n \"s.tpl_hdr_size\",\n \"s.tpl_data_size\",\n \"s.ma\",\n \"s.toasttuples\",\n \"s.schemaname\",\n \"s.tblname\"\n ],\n \"Shared Hit Blocks\": 1755,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Aggregate\",\n \"Strategy\": \"Sorted\",\n \"Partial Mode\": \"Simple\",\n \"Parent Relationship\": \"Subquery\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 160.72,\n \"Total Cost\": 167.35,\n \"Plan Rows\": 68,\n \"Plan Width\": 210,\n \"Actual Startup Time\": 34.375,\n \"Actual Total Time\": 34.86,\n \"Actual Rows\": 62,\n \"Actual Loops\": 1,\n \"Output\": [\n \"tbl.oid\",\n \"ns.nspname\",\n \"tbl.relname\",\n \"tbl.reltuples\",\n \"tbl.relpages\",\n \"(COALESCE(toast.relpages, 0))\",\n \"(COALESCE(toast.reltuples, '0'::real))\",\n \"(COALESCE(((\\\"substring\\\"(array_to_string(tbl.reloptions, ' '::text), 'fillfactor=([0-9]+)'::text))::smallint)::integer, 100))\",\n \"((current_setting('block_size'::text))::numeric)\",\n \"(CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)\",\n \"24\",\n \"((23 + CASE WHEN (max(COALESCE(s_1.null_frac, '0'::real)) > '0'::double precision) THEN ((7 + count(*)) / 8) ELSE '0'::bigint END) + CASE WHEN tbl.relhasoids THEN 4 ELSE 0 END)\",\n \"sum((('1'::double precision - COALESCE(s_1.null_frac, '0'::real)) * (COALESCE(s_1.avg_width, 1024))::double precision))\",\n \"NULL::boolean\",\n \"tbl.relhasoids\"\n ],\n \"Group Key\": [\n \"ns.nspname\",\n \"tbl.relname\",\n \"tbl.oid\",\n \"tbl.reltuples\",\n \"tbl.relpages\",\n \"(COALESCE(toast.relpages, 0))\",\n \"(COALESCE(toast.reltuples, '0'::real))\",\n \"(COALESCE(((\\\"substring\\\"(array_to_string(tbl.reloptions, ' '::text), 'fillfactor=([0-9]+)'::text))::smallint)::integer, 100))\",\n \"((current_setting('block_size'::text))::numeric)\",\n \"(CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)\",\n \"tbl.relhasoids\"\n ],\n \"Shared Hit Blocks\": 1755,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Sort\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 160.72,\n \"Total Cost\": 160.89,\n \"Plan Rows\": 68,\n \"Plan Width\": 197,\n \"Actual Startup Time\": 34.295,\n \"Actual Total Time\": 34.371,\n \"Actual Rows\": 522,\n \"Actual Loops\": 1,\n \"Output\": [\n \"tbl.oid\",\n \"ns.nspname\",\n \"tbl.relname\",\n \"tbl.reltuples\",\n \"tbl.relpages\",\n \"(COALESCE(toast.relpages, 0))\",\n \"(COALESCE(toast.reltuples, '0'::real))\",\n \"(COALESCE(((\\\"substring\\\"(array_to_string(tbl.reloptions, ' '::text), 'fillfactor=([0-9]+)'::text))::smallint)::integer, 100))\",\n \"((current_setting('block_size'::text))::numeric)\",\n \"(CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)\",\n \"tbl.relhasoids\",\n \"s_1.null_frac\",\n \"s_1.avg_width\"\n ],\n \"Sort Key\": [\n \"tbl.relname\",\n \"tbl.oid\",\n \"tbl.reltuples\",\n \"tbl.relpages\",\n \"(COALESCE(toast.relpages, 0))\",\n \"(COALESCE(toast.reltuples, '0'::real))\",\n \"(COALESCE(((\\\"substring\\\"(array_to_string(tbl.reloptions, ' '::text), 'fillfactor=([0-9]+)'::text))::smallint)::integer, 100))\",\n \"tbl.relhasoids\"\n ],\n \"Sort Method\": \"quicksort\",\n \"Sort Space Used\": 163,\n \"Sort Space Type\": \"Memory\",\n \"Shared Hit Blocks\": 1755,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Nested Loop\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Left\",\n \"Startup Cost\": 21.53,\n \"Total Cost\": 158.65,\n \"Plan Rows\": 68,\n \"Plan Width\": 197,\n \"Actual Startup Time\": 4.752,\n \"Actual Total Time\": 33.21,\n \"Actual Rows\": 522,\n \"Actual Loops\": 1,\n \"Output\": [\n \"tbl.oid\",\n \"ns.nspname\",\n \"tbl.relname\",\n \"tbl.reltuples\",\n \"tbl.relpages\",\n \"COALESCE(toast.relpages, 0)\",\n \"COALESCE(toast.reltuples, '0'::real)\",\n \"COALESCE(((\\\"substring\\\"(array_to_string(tbl.reloptions, ' '::text), 'fillfactor=([0-9]+)'::text))::smallint)::integer, 100)\",\n \"(current_setting('block_size'::text))::numeric\",\n \"CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END\",\n \"tbl.relhasoids\",\n \"s_1.null_frac\",\n \"s_1.avg_width\"\n ],\n \"Inner Unique\": false,\n \"Join Filter\": \"((s_1.schemaname = ns.nspname) AND (s_1.tablename = tbl.relname) AND (s_1.attname = att.attname))\",\n \"Rows Removed by Join Filter\": 190165,\n \"Shared Hit Blocks\": 1741,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Nested Loop\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 1.64,\n \"Total Cost\": 76.04,\n \"Plan Rows\": 68,\n \"Plan Width\": 262,\n \"Actual Startup Time\": 0.083,\n \"Actual Total Time\": 1.493,\n \"Actual Rows\": 522,\n \"Actual Loops\": 1,\n \"Output\": [\n \"att.attname\",\n \"tbl.oid\",\n \"tbl.relname\",\n \"tbl.reltuples\",\n \"tbl.relpages\",\n \"tbl.reloptions\",\n \"tbl.relhasoids\",\n \"ns.nspname\",\n \"toast.relpages\",\n \"toast.reltuples\"\n ],\n \"Inner Unique\": false,\n \"Shared Hit Blocks\": 351,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Nested Loop\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Left\",\n \"Startup Cost\": 1.36,\n \"Total Cost\": 32.29,\n \"Plan Rows\": 12,\n \"Plan Width\": 198,\n \"Actual Startup Time\": 0.033,\n \"Actual Total Time\": 0.576,\n \"Actual Rows\": 62,\n \"Actual Loops\": 1,\n \"Output\": [\n \"tbl.oid\",\n \"tbl.relname\",\n \"tbl.reltuples\",\n \"tbl.relpages\",\n \"tbl.reloptions\",\n \"tbl.relhasoids\",\n \"ns.nspname\",\n \"toast.relpages\",\n \"toast.reltuples\"\n ],\n \"Inner Unique\": true,\n \"Shared Hit Blocks\": 149,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 1.09,\n \"Total Cost\": 17.68,\n \"Plan Rows\": 12,\n \"Plan Width\": 194,\n \"Actual Startup Time\": 0.023,\n \"Actual Total Time\": 0.32,\n \"Actual Rows\": 62,\n \"Actual Loops\": 1,\n \"Output\": [\n \"tbl.oid\",\n \"tbl.relname\",\n \"tbl.reltuples\",\n \"tbl.relpages\",\n \"tbl.reloptions\",\n \"tbl.relhasoids\",\n \"tbl.reltoastrelid\",\n \"ns.nspname\"\n ],\n \"Inner Unique\": true,\n \"Hash Cond\": \"(tbl.relnamespace = ns.oid)\",\n \"Shared Hit Blocks\": 13,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_class\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"tbl\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 16.27,\n \"Plan Rows\": 69,\n \"Plan Width\": 134,\n \"Actual Startup Time\": 0.005,\n \"Actual Total Time\": 0.235,\n \"Actual Rows\": 71,\n \"Actual Loops\": 1,\n \"Output\": [\n \"tbl.oid\",\n \"tbl.relname\",\n \"tbl.reltuples\",\n \"tbl.relpages\",\n \"tbl.reloptions\",\n \"tbl.relhasoids\",\n \"tbl.relnamespace\",\n \"tbl.reltoastrelid\"\n ],\n \"Filter\": \"(tbl.relkind = 'r'::\\\"char\\\")\",\n \"Rows Removed by Filter\": 277,\n \"Shared Hit Blocks\": 12,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 1.07,\n \"Total Cost\": 1.07,\n \"Plan Rows\": 1,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.007,\n \"Actual Total Time\": 0.007,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\"ns.nspname\", \"ns.oid\"],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 9,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_namespace\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"ns\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 1.07,\n \"Plan Rows\": 1,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.003,\n \"Actual Total Time\": 0.003,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\n \"ns.nspname\",\n \"ns.oid\"\n ],\n \"Filter\": \"(ns.nspname = 'pg_catalog'::name)\",\n \"Rows Removed by Filter\": 6,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Index Scan\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Scan Direction\": \"Forward\",\n \"Index Name\": \"pg_class_oid_index\",\n \"Relation Name\": \"pg_class\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"toast\",\n \"Startup Cost\": 0.27,\n \"Total Cost\": 1.22,\n \"Plan Rows\": 1,\n \"Plan Width\": 12,\n \"Actual Startup Time\": 0.003,\n \"Actual Total Time\": 0.003,\n \"Actual Rows\": 0,\n \"Actual Loops\": 62,\n \"Output\": [\n \"toast.relpages\",\n \"toast.reltuples\",\n \"toast.oid\"\n ],\n \"Index Cond\": \"(tbl.reltoastrelid = toast.oid)\",\n \"Rows Removed by Index Recheck\": 0,\n \"Shared Hit Blocks\": 136,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n },\n {\n \"Node Type\": \"Index Scan\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Scan Direction\": \"Forward\",\n \"Index Name\": \"pg_attribute_relid_attnum_index\",\n \"Relation Name\": \"pg_attribute\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"att\",\n \"Startup Cost\": 0.28,\n \"Total Cost\": 3.59,\n \"Plan Rows\": 6,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.006,\n \"Actual Total Time\": 0.013,\n \"Actual Rows\": 8,\n \"Actual Loops\": 62,\n \"Output\": [\n \"att.attrelid\",\n \"att.attname\",\n \"att.atttypid\",\n \"att.attstattarget\",\n \"att.attlen\",\n \"att.attnum\",\n \"att.attndims\",\n \"att.attcacheoff\",\n \"att.atttypmod\",\n \"att.attbyval\",\n \"att.attstorage\",\n \"att.attalign\",\n \"att.attnotnull\",\n \"att.atthasdef\",\n \"att.atthasmissing\",\n \"att.attidentity\",\n \"att.attisdropped\",\n \"att.attislocal\",\n \"att.attinhcount\",\n \"att.attcollation\",\n \"att.attacl\",\n \"att.attoptions\",\n \"att.attfdwoptions\",\n \"att.attmissingval\"\n ],\n \"Index Cond\": \"((att.attrelid = tbl.oid) AND (att.attnum > 0))\",\n \"Rows Removed by Index Recheck\": 0,\n \"Filter\": \"(NOT att.attisdropped)\",\n \"Rows Removed by Filter\": 0,\n \"Shared Hit Blocks\": 202,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n },\n {\n \"Node Type\": \"Materialize\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 19.89,\n \"Total Cost\": 79.21,\n \"Plan Rows\": 1,\n \"Plan Width\": 200,\n \"Actual Startup Time\": 0.001,\n \"Actual Total Time\": 0.021,\n \"Actual Rows\": 365,\n \"Actual Loops\": 522,\n \"Output\": [\n \"s_1.null_frac\",\n \"s_1.avg_width\",\n \"s_1.schemaname\",\n \"s_1.tablename\",\n \"s_1.attname\"\n ],\n \"Shared Hit Blocks\": 1390,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Subquery Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Alias\": \"s_1\",\n \"Startup Cost\": 19.89,\n \"Total Cost\": 79.2,\n \"Plan Rows\": 1,\n \"Plan Width\": 200,\n \"Actual Startup Time\": 0.464,\n \"Actual Total Time\": 4.067,\n \"Actual Rows\": 365,\n \"Actual Loops\": 1,\n \"Output\": [\n \"s_1.null_frac\",\n \"s_1.avg_width\",\n \"s_1.schemaname\",\n \"s_1.tablename\",\n \"s_1.attname\"\n ],\n \"Shared Hit Blocks\": 1390,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Nested Loop\",\n \"Parent Relationship\": \"Subquery\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 19.89,\n \"Total Cost\": 79.19,\n \"Plan Rows\": 1,\n \"Plan Width\": 401,\n \"Actual Startup Time\": 0.459,\n \"Actual Total Time\": 4.022,\n \"Actual Rows\": 365,\n \"Actual Loops\": 1,\n \"Output\": [\n \"n_1.nspname\",\n \"c_2.relname\",\n \"a.attname\",\n \"NULL::boolean\",\n \"s_2.stanullfrac\",\n \"s_2.stawidth\",\n \"NULL::real\",\n \"NULL::anyarray\",\n \"NULL::real[]\",\n \"NULL::anyarray\",\n \"NULL::real\",\n \"NULL::anyarray\",\n \"NULL::real[]\",\n \"NULL::real[]\"\n ],\n \"Inner Unique\": true,\n \"Join Filter\": \"(s_2.staattnum = a.attnum)\",\n \"Rows Removed by Join Filter\": 5375,\n \"Shared Hit Blocks\": 1390,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 19.61,\n \"Total Cost\": 40.66,\n \"Plan Rows\": 33,\n \"Plan Width\": 146,\n \"Actual Startup Time\": 0.365,\n \"Actual Total Time\": 0.749,\n \"Actual Rows\": 365,\n \"Actual Loops\": 1,\n \"Output\": [\n \"s_2.stanullfrac\",\n \"s_2.stawidth\",\n \"s_2.starelid\",\n \"s_2.staattnum\",\n \"c_2.relname\",\n \"c_2.oid\",\n \"n_1.nspname\"\n ],\n \"Inner Unique\": false,\n \"Hash Cond\": \"(s_2.starelid = c_2.oid)\",\n \"Shared Hit Blocks\": 29,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_statistic\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"s_2\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 19.98,\n \"Plan Rows\": 199,\n \"Plan Width\": 14,\n \"Actual Startup Time\": 0.011,\n \"Actual Total Time\": 0.294,\n \"Actual Rows\": 398,\n \"Actual Loops\": 1,\n \"Output\": [\n \"s_2.starelid\",\n \"s_2.staattnum\",\n \"s_2.stainherit\",\n \"s_2.stanullfrac\",\n \"s_2.stawidth\",\n \"s_2.stadistinct\",\n \"s_2.stakind1\",\n \"s_2.stakind2\",\n \"s_2.stakind3\",\n \"s_2.stakind4\",\n \"s_2.stakind5\",\n \"s_2.staop1\",\n \"s_2.staop2\",\n \"s_2.staop3\",\n \"s_2.staop4\",\n \"s_2.staop5\",\n \"s_2.stanumbers1\",\n \"s_2.stanumbers2\",\n \"s_2.stanumbers3\",\n \"s_2.stanumbers4\",\n \"s_2.stanumbers5\",\n \"s_2.stavalues1\",\n \"s_2.stavalues2\",\n \"s_2.stavalues3\",\n \"s_2.stavalues4\",\n \"s_2.stavalues5\"\n ],\n \"Filter\": \"(NOT s_2.stainherit)\",\n \"Rows Removed by Filter\": 0,\n \"Shared Hit Blocks\": 16,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 18.89,\n \"Total Cost\": 18.89,\n \"Plan Rows\": 57,\n \"Plan Width\": 132,\n \"Actual Startup Time\": 0.313,\n \"Actual Total Time\": 0.313,\n \"Actual Rows\": 237,\n \"Actual Loops\": 1,\n \"Output\": [\n \"c_2.relname\",\n \"c_2.oid\",\n \"n_1.nspname\"\n ],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 46,\n \"Shared Hit Blocks\": 13,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 1.09,\n \"Total Cost\": 18.89,\n \"Plan Rows\": 57,\n \"Plan Width\": 132,\n \"Actual Startup Time\": 0.074,\n \"Actual Total Time\": 0.216,\n \"Actual Rows\": 237,\n \"Actual Loops\": 1,\n \"Output\": [\n \"c_2.relname\",\n \"c_2.oid\",\n \"n_1.nspname\"\n ],\n \"Inner Unique\": true,\n \"Hash Cond\": \"(c_2.relnamespace = n_1.oid)\",\n \"Shared Hit Blocks\": 13,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_class\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"c_2\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 16.27,\n \"Plan Rows\": 342,\n \"Plan Width\": 72,\n \"Actual Startup Time\": 0.006,\n \"Actual Total Time\": 0.106,\n \"Actual Rows\": 348,\n \"Actual Loops\": 1,\n \"Output\": [\n \"c_2.relname\",\n \"c_2.oid\",\n \"c_2.relnamespace\"\n ],\n \"Filter\": \"((NOT c_2.relrowsecurity) OR (NOT row_security_active(c_2.oid)))\",\n \"Rows Removed by Filter\": 0,\n \"Shared Hit Blocks\": 12,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 1.07,\n \"Total Cost\": 1.07,\n \"Plan Rows\": 1,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.018,\n \"Actual Total Time\": 0.018,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\n \"n_1.nspname\",\n \"n_1.oid\"\n ],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 9,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_namespace\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"n_1\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 1.07,\n \"Plan Rows\": 1,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.007,\n \"Actual Total Time\": 0.008,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\n \"n_1.nspname\",\n \"n_1.oid\"\n ],\n \"Filter\": \"(n_1.nspname = 'pg_catalog'::name)\",\n \"Rows Removed by Filter\": 6,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Index Scan\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Scan Direction\": \"Forward\",\n \"Index Name\": \"pg_attribute_relid_attnum_index\",\n \"Relation Name\": \"pg_attribute\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"a\",\n \"Startup Cost\": 0.28,\n \"Total Cost\": 1.13,\n \"Plan Rows\": 3,\n \"Plan Width\": 70,\n \"Actual Startup Time\": 0.002,\n \"Actual Total Time\": 0.008,\n \"Actual Rows\": 16,\n \"Actual Loops\": 365,\n \"Output\": [\n \"a.attrelid\",\n \"a.attname\",\n \"a.atttypid\",\n \"a.attstattarget\",\n \"a.attlen\",\n \"a.attnum\",\n \"a.attndims\",\n \"a.attcacheoff\",\n \"a.atttypmod\",\n \"a.attbyval\",\n \"a.attstorage\",\n \"a.attalign\",\n \"a.attnotnull\",\n \"a.atthasdef\",\n \"a.atthasmissing\",\n \"a.attidentity\",\n \"a.attisdropped\",\n \"a.attislocal\",\n \"a.attinhcount\",\n \"a.attcollation\",\n \"a.attacl\",\n \"a.attoptions\",\n \"a.attfdwoptions\",\n \"a.attmissingval\"\n ],\n \"Index Cond\": \"(a.attrelid = c_2.oid)\",\n \"Rows Removed by Index Recheck\": 0,\n \"Filter\": \"((NOT a.attisdropped) AND has_column_privilege(c_2.oid, a.attnum, 'select'::text))\",\n \"Rows Removed by Filter\": 0,\n \"Shared Hit Blocks\": 1361,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 183.33,\n \"Total Cost\": 183.33,\n \"Plan Rows\": 1,\n \"Plan Width\": 136,\n \"Actual Startup Time\": 190.33,\n \"Actual Total Time\": 190.33,\n \"Actual Rows\": 36,\n \"Actual Loops\": 1,\n \"Output\": [\n \"(sum((CASE WHEN ((q.relpages)::double precision > COALESCE(('1'::double precision + ceil((q.reltuples / floor((((((((current_setting('block_size'::text))::numeric) - ((16))::numeric) - ((24))::numeric) * (q.fillfactor)::numeric))::double precision / ('100'::double precision * (('4'::numeric + ((((((((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) + (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) - CASE WHEN (((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE ((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END))::double precision + (sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision)))) + ((CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END))::double precision) - (CASE WHEN ((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))) = '0'::double precision) THEN 0 WHEN ((((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE (((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END)::double precision))::numeric))::double precision)))))), '0'::double precision)) THEN ((((current_setting('block_size'::text))::numeric))::double precision * ((q.relpages)::double precision - COALESCE(('1'::double precision + ceil((q.reltuples / floor((((((((current_setting('block_size'::text))::numeric) - ((16))::numeric) - ((24))::numeric) * (q.fillfactor)::numeric))::double precision / ('100'::double precision * (('4'::numeric + ((((((((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) + (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) - CASE WHEN (((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE ((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END))::double precision + (sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision)))) + ((CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END))::double precision) - (CASE WHEN ((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))) = '0'::double precision) THEN 0 WHEN ((((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE (((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END)::double precision))::numeric))::double precision)))))), '0'::double precision))) ELSE '0'::double precision END)))\",\n \"q.nspname\",\n \"q.tblname\"\n ],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 14,\n \"Shared Hit Blocks\": 215652,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Aggregate\",\n \"Strategy\": \"Sorted\",\n \"Partial Mode\": \"Simple\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 181.95,\n \"Total Cost\": 183.32,\n \"Plan Rows\": 1,\n \"Plan Width\": 136,\n \"Actual Startup Time\": 190.008,\n \"Actual Total Time\": 190.312,\n \"Actual Rows\": 36,\n \"Actual Loops\": 1,\n \"Output\": [\n \"sum((CASE WHEN ((q.relpages)::double precision > COALESCE(('1'::double precision + ceil((q.reltuples / floor((((((((current_setting('block_size'::text))::numeric) - ((16))::numeric) - ((24))::numeric) * (q.fillfactor)::numeric))::double precision / ('100'::double precision * (('4'::numeric + ((((((((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) + (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) - CASE WHEN (((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE ((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END))::double precision + (sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision)))) + ((CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END))::double precision) - (CASE WHEN ((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))) = '0'::double precision) THEN 0 WHEN ((((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE (((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END)::double precision))::numeric))::double precision)))))), '0'::double precision)) THEN ((((current_setting('block_size'::text))::numeric))::double precision * ((q.relpages)::double precision - COALESCE(('1'::double precision + ceil((q.reltuples / floor((((((((current_setting('block_size'::text))::numeric) - ((16))::numeric) - ((24))::numeric) * (q.fillfactor)::numeric))::double precision / ('100'::double precision * (('4'::numeric + ((((((((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) + (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) - CASE WHEN (((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE ((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END))::double precision + (sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision)))) + ((CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END))::double precision) - (CASE WHEN ((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))) = '0'::double precision) THEN 0 WHEN ((((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE (((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END)::double precision))::numeric))::double precision)))))), '0'::double precision))) ELSE '0'::double precision END))\",\n \"q.nspname\",\n \"q.tblname\"\n ],\n \"Group Key\": [\"q.nspname\", \"q.tblname\"],\n \"Shared Hit Blocks\": 215652,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Nested Loop\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 181.95,\n \"Total Cost\": 183.3,\n \"Plan Rows\": 1,\n \"Plan Width\": 349,\n \"Actual Startup Time\": 189.991,\n \"Actual Total Time\": 190.29,\n \"Actual Rows\": 47,\n \"Actual Loops\": 1,\n \"Output\": [\n \"NULL::name\",\n \"q.nspname\",\n \"q.tblname\",\n \"q.idxname\",\n \"NULL::numeric\",\n \"NULL::numeric\",\n \"NULL::double precision\",\n \"NULL::integer\",\n \"CASE WHEN ((q.relpages)::double precision > COALESCE(('1'::double precision + ceil((q.reltuples / floor((((((((current_setting('block_size'::text))::numeric) - ((16))::numeric) - ((24))::numeric) * (q.fillfactor)::numeric))::double precision / ('100'::double precision * (('4'::numeric + ((((((((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) + (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) - CASE WHEN (((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE ((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END))::double precision + (sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision)))) + ((CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END))::double precision) - (CASE WHEN ((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))) = '0'::double precision) THEN 0 WHEN ((((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE (((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END)::double precision))::numeric))::double precision)))))), '0'::double precision)) THEN ((((current_setting('block_size'::text))::numeric))::double precision * ((q.relpages)::double precision - COALESCE(('1'::double precision + ceil((q.reltuples / floor((((((((current_setting('block_size'::text))::numeric) - ((16))::numeric) - ((24))::numeric) * (q.fillfactor)::numeric))::double precision / ('100'::double precision * (('4'::numeric + ((((((((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) + (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) - CASE WHEN (((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE ((CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END) % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END))::double precision + (sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision)))) + ((CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END))::double precision) - (CASE WHEN ((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))) = '0'::double precision) THEN 0 WHEN ((((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) = 0) THEN (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END) ELSE (((sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))))::integer % (CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END)) END)::double precision))::numeric))::double precision)))))), '0'::double precision))) ELSE '0'::double precision END\",\n \"NULL::double precision\",\n \"NULL::boolean\"\n ],\n \"Inner Unique\": true,\n \"Join Filter\": \"(q.relam = am.oid)\",\n \"Rows Removed by Join Filter\": 0,\n \"Shared Hit Blocks\": 215652,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Aggregate\",\n \"Strategy\": \"Sorted\",\n \"Partial Mode\": \"Simple\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 181.95,\n \"Total Cost\": 182.02,\n \"Plan Rows\": 1,\n \"Plan Width\": 269,\n \"Actual Startup Time\": 189.969,\n \"Actual Total Time\": 190.143,\n \"Actual Rows\": 47,\n \"Actual Loops\": 1,\n \"Output\": [\n \"q.nspname\",\n \"q.tblname\",\n \"q.idxname\",\n \"q.reltuples\",\n \"q.relpages\",\n \"q.relam\",\n \"q.attrelid\",\n \"((current_setting('block_size'::text))::numeric)\",\n \"q.fillfactor\",\n \"CASE WHEN ((version() ~ 'mingw32'::text) OR (version() ~ '64-bit|x86_64|ppc64|ia64|amd64'::text)) THEN 8 ELSE 4 END\",\n \"24\",\n \"16\",\n \"CASE WHEN (max(COALESCE(s_3.stanullfrac, '0'::real)) = '0'::double precision) THEN 2 ELSE 6 END\",\n \"sum((('1'::double precision - COALESCE(s_3.stanullfrac, '0'::real)) * (COALESCE(s_3.stawidth, 1024))::double precision))\",\n \"NULL::boolean\"\n ],\n \"Group Key\": [\n \"q.nspname\",\n \"q.tblname\",\n \"q.idxname\",\n \"q.reltuples\",\n \"q.relpages\",\n \"q.relam\",\n \"q.attrelid\",\n \"((current_setting('block_size'::text))::numeric)\",\n \"q.fillfactor\"\n ],\n \"Shared Hit Blocks\": 215605,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Sort\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 181.95,\n \"Total Cost\": 181.95,\n \"Plan Rows\": 1,\n \"Plan Width\": 252,\n \"Actual Startup Time\": 189.921,\n \"Actual Total Time\": 189.926,\n \"Actual Rows\": 100,\n \"Actual Loops\": 1,\n \"Output\": [\n \"q.nspname\",\n \"q.tblname\",\n \"q.idxname\",\n \"q.reltuples\",\n \"q.relpages\",\n \"q.relam\",\n \"q.attrelid\",\n \"((current_setting('block_size'::text))::numeric)\",\n \"q.fillfactor\",\n \"s_3.stanullfrac\",\n \"s_3.stawidth\"\n ],\n \"Sort Key\": [\n \"q.tblname\",\n \"q.idxname\",\n \"q.reltuples\",\n \"q.relpages\",\n \"q.relam\",\n \"q.attrelid\",\n \"q.fillfactor\"\n ],\n \"Sort Method\": \"quicksort\",\n \"Sort Space Used\": 51,\n \"Sort Space Type\": \"Memory\",\n \"Shared Hit Blocks\": 215605,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Nested Loop\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 93.79,\n \"Total Cost\": 181.94,\n \"Plan Rows\": 1,\n \"Plan Width\": 252,\n \"Actual Startup Time\": 2.371,\n \"Actual Total Time\": 189.594,\n \"Actual Rows\": 100,\n \"Actual Loops\": 1,\n \"Output\": [\n \"q.nspname\",\n \"q.tblname\",\n \"q.idxname\",\n \"q.reltuples\",\n \"q.relpages\",\n \"q.relam\",\n \"q.attrelid\",\n \"(current_setting('block_size'::text))::numeric\",\n \"q.fillfactor\",\n \"s_3.stanullfrac\",\n \"s_3.stawidth\"\n ],\n \"Inner Unique\": true,\n \"Shared Hit Blocks\": 215605,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Nested Loop\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 93.65,\n \"Total Cost\": 177.74,\n \"Plan Rows\": 1,\n \"Plan Width\": 224,\n \"Actual Startup Time\": 2.26,\n \"Actual Total Time\": 188.458,\n \"Actual Rows\": 100,\n \"Actual Loops\": 1,\n \"Output\": [\n \"q.nspname\",\n \"q.tblname\",\n \"q.idxname\",\n \"q.reltuples\",\n \"q.relpages\",\n \"q.relam\",\n \"q.attrelid\",\n \"q.fillfactor\",\n \"q.atttypid\",\n \"s_3.stanullfrac\",\n \"s_3.stawidth\"\n ],\n \"Inner Unique\": false,\n \"Join Filter\": \"(((c_3.relname = q.tblname) AND ((a_1.attname)::text = pg_get_indexdef(q.attrelid, (q.attnum)::integer, true))) OR ((c_3.relname = q.idxname) AND (a_1.attname = q.attname)))\",\n \"Rows Removed by Join Filter\": 70345,\n \"Shared Hit Blocks\": 215504,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"CTE Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"CTE Name\": \"q\",\n \"Alias\": \"q\",\n \"Startup Cost\": 73.76,\n \"Total Cost\": 76.03,\n \"Plan Rows\": 1,\n \"Plan Width\": 453,\n \"Actual Startup Time\": 0.663,\n \"Actual Total Time\": 4.145,\n \"Actual Rows\": 193,\n \"Actual Loops\": 1,\n \"Output\": [\n \"q.nspname\",\n \"q.tblname\",\n \"q.idxname\",\n \"q.reltuples\",\n \"q.relpages\",\n \"q.relam\",\n \"NULL::oid\",\n \"NULL::oid\",\n \"q.fillfactor\",\n \"q.attrelid\",\n \"q.attname\",\n \"q.atttypid\",\n \"NULL::integer\",\n \"NULL::smallint\",\n \"q.attnum\",\n \"NULL::integer\",\n \"NULL::integer\",\n \"NULL::integer\",\n \"NULL::boolean\",\n \"NULL::\\\"char\\\"\",\n \"NULL::\\\"char\\\"\",\n \"NULL::boolean\",\n \"NULL::boolean\",\n \"NULL::boolean\",\n \"NULL::\\\"char\\\"\",\n \"NULL::boolean\",\n \"NULL::boolean\",\n \"NULL::integer\",\n \"NULL::oid\",\n \"NULL::aclitem[]\",\n \"NULL::text[]\",\n \"NULL::text[]\",\n \"NULL::anyarray\"\n ],\n \"Filter\": \"(q.nspname = 'pg_catalog'::name)\",\n \"Rows Removed by Filter\": 0,\n \"Shared Hit Blocks\": 380,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Nested Loop\",\n \"Parent Relationship\": \"InitPlan\",\n \"Subplan Name\": \"CTE q\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 25.29,\n \"Total Cost\": 73.76,\n \"Plan Rows\": 101,\n \"Plan Width\": 454,\n \"Actual Startup Time\": 0.643,\n \"Actual Total Time\": 2.855,\n \"Actual Rows\": 193,\n \"Actual Loops\": 1,\n \"Output\": [\n \"pg_namespace.nspname\",\n \"tbl_1.relname\",\n \"idx.relname\",\n \"idx.reltuples\",\n \"idx.relpages\",\n \"idx.relam\",\n \"pg_index.indrelid\",\n \"pg_index.indexrelid\",\n \"COALESCE(((\\\"substring\\\"(array_to_string(idx.reloptions, ' '::text), 'fillfactor=([0-9]+)'::text))::smallint)::integer, 90)\",\n \"a_2.attrelid\",\n \"a_2.attname\",\n \"a_2.atttypid\",\n \"a_2.attstattarget\",\n \"a_2.attlen\",\n \"a_2.attnum\",\n \"a_2.attndims\",\n \"a_2.attcacheoff\",\n \"a_2.atttypmod\",\n \"a_2.attbyval\",\n \"a_2.attstorage\",\n \"a_2.attalign\",\n \"a_2.attnotnull\",\n \"a_2.atthasdef\",\n \"a_2.atthasmissing\",\n \"a_2.attidentity\",\n \"a_2.attisdropped\",\n \"a_2.attislocal\",\n \"a_2.attinhcount\",\n \"a_2.attcollation\",\n \"a_2.attacl\",\n \"a_2.attoptions\",\n \"a_2.attfdwoptions\",\n \"a_2.attmissingval\"\n ],\n \"Inner Unique\": false,\n \"Join Filter\": \"(idx.oid = a_2.attrelid)\",\n \"Rows Removed by Join Filter\": 0,\n \"Shared Hit Blocks\": 380,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 25.01,\n \"Total Cost\": 42.13,\n \"Plan Rows\": 17,\n \"Plan Width\": 265,\n \"Actual Startup Time\": 0.604,\n \"Actual Total Time\": 1.613,\n \"Actual Rows\": 116,\n \"Actual Loops\": 1,\n \"Output\": [\n \"pg_index.indrelid\",\n \"pg_index.indexrelid\",\n \"idx.relname\",\n \"idx.reltuples\",\n \"idx.relpages\",\n \"idx.relam\",\n \"idx.reloptions\",\n \"idx.oid\",\n \"tbl_1.relname\",\n \"pg_namespace.nspname\"\n ],\n \"Inner Unique\": true,\n \"Hash Cond\": \"(idx.relnamespace = pg_namespace.oid)\",\n \"Shared Hit Blocks\": 29,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 23.87,\n \"Total Cost\": 40.92,\n \"Plan Rows\": 17,\n \"Plan Width\": 205,\n \"Actual Startup Time\": 0.534,\n \"Actual Total Time\": 1.282,\n \"Actual Rows\": 116,\n \"Actual Loops\": 1,\n \"Output\": [\n \"pg_index.indrelid\",\n \"pg_index.indexrelid\",\n \"idx.relname\",\n \"idx.reltuples\",\n \"idx.relpages\",\n \"idx.relam\",\n \"idx.reloptions\",\n \"idx.oid\",\n \"idx.relnamespace\",\n \"tbl_1.relname\"\n ],\n \"Inner Unique\": false,\n \"Hash Cond\": \"(idx.oid = pg_index.indexrelid)\",\n \"Shared Hit Blocks\": 28,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_class\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"idx\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 16.27,\n \"Plan Rows\": 161,\n \"Plan Width\": 133,\n \"Actual Startup Time\": 0.013,\n \"Actual Total Time\": 0.407,\n \"Actual Rows\": 182,\n \"Actual Loops\": 1,\n \"Output\": [\n \"idx.relname\",\n \"idx.reltuples\",\n \"idx.relpages\",\n \"idx.relam\",\n \"idx.reloptions\",\n \"idx.oid\",\n \"idx.relnamespace\"\n ],\n \"Filter\": \"(idx.relpages > 0)\",\n \"Rows Removed by Filter\": 166,\n \"Shared Hit Blocks\": 12,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 23.42,\n \"Total Cost\": 23.42,\n \"Plan Rows\": 36,\n \"Plan Width\": 72,\n \"Actual Startup Time\": 0.441,\n \"Actual Total Time\": 0.442,\n \"Actual Rows\": 116,\n \"Actual Loops\": 1,\n \"Output\": [\n \"pg_index.indrelid\",\n \"pg_index.indexrelid\",\n \"tbl_1.relname\"\n ],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 20,\n \"Shared Hit Blocks\": 16,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 17.14,\n \"Total Cost\": 23.42,\n \"Plan Rows\": 36,\n \"Plan Width\": 72,\n \"Actual Startup Time\": 0.266,\n \"Actual Total Time\": 0.378,\n \"Actual Rows\": 116,\n \"Actual Loops\": 1,\n \"Output\": [\n \"pg_index.indrelid\",\n \"pg_index.indexrelid\",\n \"tbl_1.relname\"\n ],\n \"Inner Unique\": true,\n \"Hash Cond\": \"(pg_index.indrelid = tbl_1.oid)\",\n \"Shared Hit Blocks\": 16,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_index\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"pg_index\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 5.8,\n \"Plan Rows\": 180,\n \"Plan Width\": 8,\n \"Actual Startup Time\": 0.003,\n \"Actual Total Time\": 0.073,\n \"Actual Rows\": 137,\n \"Actual Loops\": 1,\n \"Output\": [\n \"pg_index.indexrelid\",\n \"pg_index.indrelid\",\n \"pg_index.indnatts\",\n \"pg_index.indnkeyatts\",\n \"pg_index.indisunique\",\n \"pg_index.indisprimary\",\n \"pg_index.indisexclusion\",\n \"pg_index.indimmediate\",\n \"pg_index.indisclustered\",\n \"pg_index.indisvalid\",\n \"pg_index.indcheckxmin\",\n \"pg_index.indisready\",\n \"pg_index.indislive\",\n \"pg_index.indisreplident\",\n \"pg_index.indkey\",\n \"pg_index.indcollation\",\n \"pg_index.indclass\",\n \"pg_index.indoption\",\n \"pg_index.indexprs\",\n \"pg_index.indpred\"\n ],\n \"Filter\": \"pg_index.indisvalid\",\n \"Rows Removed by Filter\": 0,\n \"Shared Hit Blocks\": 4,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 16.27,\n \"Total Cost\": 16.27,\n \"Plan Rows\": 69,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.229,\n \"Actual Total Time\": 0.229,\n \"Actual Rows\": 71,\n \"Actual Loops\": 1,\n \"Output\": [\n \"tbl_1.relname\",\n \"tbl_1.oid\"\n ],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 15,\n \"Shared Hit Blocks\": 12,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_class\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"tbl_1\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 16.27,\n \"Plan Rows\": 69,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.01,\n \"Actual Total Time\": 0.182,\n \"Actual Rows\": 71,\n \"Actual Loops\": 1,\n \"Output\": [\n \"tbl_1.relname\",\n \"tbl_1.oid\"\n ],\n \"Filter\": \"(tbl_1.relkind = 'r'::\\\"char\\\")\",\n \"Rows Removed by Filter\": 277,\n \"Shared Hit Blocks\": 12,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 1.06,\n \"Total Cost\": 1.06,\n \"Plan Rows\": 6,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.037,\n \"Actual Total Time\": 0.037,\n \"Actual Rows\": 7,\n \"Actual Loops\": 1,\n \"Output\": [\n \"pg_namespace.nspname\",\n \"pg_namespace.oid\"\n ],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 9,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_namespace\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"pg_namespace\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 1.06,\n \"Plan Rows\": 6,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.022,\n \"Actual Total Time\": 0.024,\n \"Actual Rows\": 7,\n \"Actual Loops\": 1,\n \"Output\": [\n \"pg_namespace.nspname\",\n \"pg_namespace.oid\"\n ],\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Index Scan\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Scan Direction\": \"Forward\",\n \"Index Name\": \"pg_attribute_relid_attnum_index\",\n \"Relation Name\": \"pg_attribute\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"a_2\",\n \"Startup Cost\": 0.28,\n \"Total Cost\": 1.71,\n \"Plan Rows\": 6,\n \"Plan Width\": 238,\n \"Actual Startup Time\": 0.004,\n \"Actual Total Time\": 0.005,\n \"Actual Rows\": 2,\n \"Actual Loops\": 116,\n \"Output\": [\n \"a_2.attrelid\",\n \"a_2.attname\",\n \"a_2.atttypid\",\n \"a_2.attstattarget\",\n \"a_2.attlen\",\n \"a_2.attnum\",\n \"a_2.attndims\",\n \"a_2.attcacheoff\",\n \"a_2.atttypmod\",\n \"a_2.attbyval\",\n \"a_2.attstorage\",\n \"a_2.attalign\",\n \"a_2.attnotnull\",\n \"a_2.atthasdef\",\n \"a_2.atthasmissing\",\n \"a_2.attidentity\",\n \"a_2.attisdropped\",\n \"a_2.attislocal\",\n \"a_2.attinhcount\",\n \"a_2.attcollation\",\n \"a_2.attacl\",\n \"a_2.attoptions\",\n \"a_2.attfdwoptions\",\n \"a_2.attmissingval\"\n ],\n \"Index Cond\": \"((a_2.attrelid = pg_index.indexrelid) AND (a_2.attnum > 0))\",\n \"Rows Removed by Index Recheck\": 0,\n \"Shared Hit Blocks\": 351,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Nested Loop\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 19.89,\n \"Total Cost\": 101.67,\n \"Plan Rows\": 1,\n \"Plan Width\": 401,\n \"Actual Startup Time\": 0.008,\n \"Actual Total Time\": 0.857,\n \"Actual Rows\": 365,\n \"Actual Loops\": 193,\n \"Output\": [\n \"n_2.nspname\",\n \"c_3.relname\",\n \"a_1.attname\",\n \"NULL::boolean\",\n \"s_3.stanullfrac\",\n \"s_3.stawidth\",\n \"NULL::real\",\n \"NULL::anyarray\",\n \"NULL::real[]\",\n \"NULL::anyarray\",\n \"NULL::real\",\n \"NULL::anyarray\",\n \"NULL::real[]\",\n \"NULL::real[]\"\n ],\n \"Inner Unique\": true,\n \"Join Filter\": \"(has_column_privilege(c_3.oid, a_1.attnum, 'select'::text) AND (c_3.oid = a_1.attrelid))\",\n \"Rows Removed by Join Filter\": 0,\n \"Shared Hit Blocks\": 214436,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 19.61,\n \"Total Cost\": 41.74,\n \"Plan Rows\": 66,\n \"Plan Width\": 146,\n \"Actual Startup Time\": 0.004,\n \"Actual Total Time\": 0.157,\n \"Actual Rows\": 365,\n \"Actual Loops\": 193,\n \"Output\": [\n \"s_3.stanullfrac\",\n \"s_3.stawidth\",\n \"s_3.starelid\",\n \"s_3.staattnum\",\n \"c_3.relname\",\n \"c_3.oid\",\n \"n_2.nspname\"\n ],\n \"Inner Unique\": false,\n \"Hash Cond\": \"(s_3.starelid = c_3.oid)\",\n \"Shared Hit Blocks\": 3101,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_statistic\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"s_3\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 19.98,\n \"Plan Rows\": 398,\n \"Plan Width\": 14,\n \"Actual Startup Time\": 0.001,\n \"Actual Total Time\": 0.035,\n \"Actual Rows\": 398,\n \"Actual Loops\": 193,\n \"Output\": [\n \"s_3.starelid\",\n \"s_3.staattnum\",\n \"s_3.stainherit\",\n \"s_3.stanullfrac\",\n \"s_3.stawidth\",\n \"s_3.stadistinct\",\n \"s_3.stakind1\",\n \"s_3.stakind2\",\n \"s_3.stakind3\",\n \"s_3.stakind4\",\n \"s_3.stakind5\",\n \"s_3.staop1\",\n \"s_3.staop2\",\n \"s_3.staop3\",\n \"s_3.staop4\",\n \"s_3.staop5\",\n \"s_3.stanumbers1\",\n \"s_3.stanumbers2\",\n \"s_3.stanumbers3\",\n \"s_3.stanumbers4\",\n \"s_3.stanumbers5\",\n \"s_3.stavalues1\",\n \"s_3.stavalues2\",\n \"s_3.stavalues3\",\n \"s_3.stavalues4\",\n \"s_3.stavalues5\"\n ],\n \"Shared Hit Blocks\": 3088,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 18.89,\n \"Total Cost\": 18.89,\n \"Plan Rows\": 57,\n \"Plan Width\": 132,\n \"Actual Startup Time\": 0.476,\n \"Actual Total Time\": 0.476,\n \"Actual Rows\": 237,\n \"Actual Loops\": 1,\n \"Output\": [\n \"c_3.relname\",\n \"c_3.oid\",\n \"n_2.nspname\"\n ],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 46,\n \"Shared Hit Blocks\": 13,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Hash Join\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Join Type\": \"Inner\",\n \"Startup Cost\": 1.09,\n \"Total Cost\": 18.89,\n \"Plan Rows\": 57,\n \"Plan Width\": 132,\n \"Actual Startup Time\": 0.098,\n \"Actual Total Time\": 0.355,\n \"Actual Rows\": 237,\n \"Actual Loops\": 1,\n \"Output\": [\n \"c_3.relname\",\n \"c_3.oid\",\n \"n_2.nspname\"\n ],\n \"Inner Unique\": true,\n \"Hash Cond\": \"(c_3.relnamespace = n_2.oid)\",\n \"Shared Hit Blocks\": 13,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_class\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"c_3\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 16.27,\n \"Plan Rows\": 342,\n \"Plan Width\": 72,\n \"Actual Startup Time\": 0.012,\n \"Actual Total Time\": 0.206,\n \"Actual Rows\": 348,\n \"Actual Loops\": 1,\n \"Output\": [\n \"c_3.relname\",\n \"c_3.oid\",\n \"c_3.relnamespace\"\n ],\n \"Filter\": \"((NOT c_3.relrowsecurity) OR (NOT row_security_active(c_3.oid)))\",\n \"Rows Removed by Filter\": 0,\n \"Shared Hit Blocks\": 12,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n },\n {\n \"Node Type\": \"Hash\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 1.07,\n \"Total Cost\": 1.07,\n \"Plan Rows\": 1,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.027,\n \"Actual Total Time\": 0.027,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\n \"n_2.nspname\",\n \"n_2.oid\"\n ],\n \"Hash Buckets\": 1024,\n \"Original Hash Buckets\": 1024,\n \"Hash Batches\": 1,\n \"Original Hash Batches\": 1,\n \"Peak Memory Usage\": 9,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_namespace\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"n_2\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 1.07,\n \"Plan Rows\": 1,\n \"Plan Width\": 68,\n \"Actual Startup Time\": 0.021,\n \"Actual Total Time\": 0.022,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\n \"n_2.nspname\",\n \"n_2.oid\"\n ],\n \"Filter\": \"(n_2.nspname = 'pg_catalog'::name)\",\n \"Rows Removed by Filter\": 6,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Index Scan\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Scan Direction\": \"Forward\",\n \"Index Name\": \"pg_attribute_relid_attnum_index\",\n \"Relation Name\": \"pg_attribute\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"a_1\",\n \"Startup Cost\": 0.28,\n \"Total Cost\": 0.89,\n \"Plan Rows\": 1,\n \"Plan Width\": 70,\n \"Actual Startup Time\": 0.001,\n \"Actual Total Time\": 0.001,\n \"Actual Rows\": 1,\n \"Actual Loops\": 70445,\n \"Output\": [\n \"a_1.attrelid\",\n \"a_1.attname\",\n \"a_1.atttypid\",\n \"a_1.attstattarget\",\n \"a_1.attlen\",\n \"a_1.attnum\",\n \"a_1.attndims\",\n \"a_1.attcacheoff\",\n \"a_1.atttypmod\",\n \"a_1.attbyval\",\n \"a_1.attstorage\",\n \"a_1.attalign\",\n \"a_1.attnotnull\",\n \"a_1.atthasdef\",\n \"a_1.atthasmissing\",\n \"a_1.attidentity\",\n \"a_1.attisdropped\",\n \"a_1.attislocal\",\n \"a_1.attinhcount\",\n \"a_1.attcollation\",\n \"a_1.attacl\",\n \"a_1.attoptions\",\n \"a_1.attfdwoptions\",\n \"a_1.attmissingval\"\n ],\n \"Index Cond\": \"((a_1.attrelid = s_3.starelid) AND (a_1.attnum = s_3.staattnum))\",\n \"Rows Removed by Index Recheck\": 0,\n \"Filter\": \"(NOT a_1.attisdropped)\",\n \"Rows Removed by Filter\": 0,\n \"Shared Hit Blocks\": 211335,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Index Only Scan\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Scan Direction\": \"Forward\",\n \"Index Name\": \"pg_type_oid_index\",\n \"Relation Name\": \"pg_type\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"t\",\n \"Startup Cost\": 0.15,\n \"Total Cost\": 4.17,\n \"Plan Rows\": 1,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.005,\n \"Actual Total Time\": 0.005,\n \"Actual Rows\": 1,\n \"Actual Loops\": 100,\n \"Output\": [\"t.oid\"],\n \"Index Cond\": \"(t.oid = q.atttypid)\",\n \"Rows Removed by Index Recheck\": 0,\n \"Heap Fetches\": 0,\n \"Shared Hit Blocks\": 101,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Inner\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"pg_am\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"am\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 1.07,\n \"Plan Rows\": 1,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 0.0,\n \"Actual Total Time\": 0.0,\n \"Actual Rows\": 1,\n \"Actual Loops\": 47,\n \"Output\": [\"am.oid\"],\n \"Filter\": \"(am.amname = 'btree'::name)\",\n \"Rows Removed by Filter\": 0,\n \"Shared Hit Blocks\": 47,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}\n`;\n\nexport const plan_parallel_source = `[\n {\n \"Plan\": {\n \"Node Type\": \"Aggregate\",\n \"Strategy\": \"Plain\",\n \"Partial Mode\": \"Finalize\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 144975.01,\n \"Total Cost\": 144975.02,\n \"Plan Rows\": 1,\n \"Plan Width\": 32,\n \"Actual Startup Time\": 484.97,\n \"Actual Total Time\": 484.97,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\"sum(l_quantity)\"],\n \"Plans\": [\n {\n \"Node Type\": \"Gather\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 144974.57,\n \"Total Cost\": 144974.98,\n \"Plan Rows\": 4,\n \"Plan Width\": 32,\n \"Actual Startup Time\": 484.868,\n \"Actual Total Time\": 486.428,\n \"Actual Rows\": 3,\n \"Actual Loops\": 1,\n \"Output\": [\"(PARTIAL sum(l_quantity))\"],\n \"Workers Planned\": 4,\n \"Workers Launched\": 2,\n \"Single Copy\": false,\n \"Plans\": [\n {\n \"Node Type\": \"Aggregate\",\n \"Strategy\": \"Plain\",\n \"Partial Mode\": \"Partial\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 143974.57,\n \"Total Cost\": 143974.58,\n \"Plan Rows\": 1,\n \"Plan Width\": 32,\n \"Actual Startup Time\": 482.39,\n \"Actual Total Time\": 482.39,\n \"Actual Rows\": 1,\n \"Actual Loops\": 3,\n \"Output\": [\"PARTIAL sum(l_quantity)\"],\n \"Workers\": [\n {\n \"Worker Number\": 0,\n \"Actual Startup Time\": 481.485,\n \"Actual Total Time\": 481.485,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1\n },\n {\n \"Worker Number\": 1,\n \"Actual Startup Time\": 481.56,\n \"Actual Total Time\": 481.56,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1\n }\n ],\n \"Plans\": [\n {\n \"Node Type\": \"Seq Scan\",\n \"Parent Relationship\": \"Outer\",\n \"Parallel Aware\": true,\n \"Relation Name\": \"lineitem\",\n \"Schema\": \"public\",\n \"Alias\": \"lineitem\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 140298.89,\n \"Plan Rows\": 1470273,\n \"Plan Width\": 5,\n \"Actual Startup Time\": 0.652,\n \"Actual Total Time\": 344.447,\n \"Actual Rows\": 1962085,\n \"Actual Loops\": 3,\n \"Output\": [\n \"l_orderkey\",\n \"l_partkey\",\n \"l_suppkey\",\n \"l_linenumber\",\n \"l_quantity\",\n \"l_extendedprice\",\n \"l_discount\",\n \"l_tax\",\n \"l_returnflag\",\n \"l_linestatus\",\n \"l_shipdate\",\n \"l_commitdate\",\n \"l_receiptdate\",\n \"l_shipinstruct\",\n \"l_shipmode\",\n \"l_comment\"\n ],\n \"Filter\": \"(lineitem.l_shipdate <= '1998-08-18 00:00:00'::timestamp without time zone)\",\n \"Rows Removed by Filter\": 38320,\n \"Workers\": [\n {\n \"Worker Number\": 0,\n \"Actual Startup Time\": 0.414,\n \"Actual Total Time\": 344.435,\n \"Actual Rows\": 1962858,\n \"Actual Loops\": 1\n },\n {\n \"Worker Number\": 1,\n \"Actual Startup Time\": 0.441,\n \"Actual Total Time\": 344.431,\n \"Actual Rows\": 1971199,\n \"Actual Loops\": 1\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n \"Planning Time\": 0.591,\n \"Triggers\": [],\n \"Execution Time\": 486.495\n }\n]`;\n\nexport const plan_parallel_2_query = `select\n l_shipmode,\n sum(case\n when o_orderpriority = '1-URGENT'\n or o_orderpriority = '2-HIGH'\n then 1\n else 0\n end) as high_line_count,\n sum(case\n when o_orderpriority <> '1-URGENT'\n and o_orderpriority <> '2-HIGH'\n then 1\n else 0\n end) as low_line_count\nfrom\n orders,\n lineitem\nwhere\n o_orderkey = l_orderkey\n and l_shipmode in ('MAIL', 'AIR')\n and l_commitdate < l_receiptdate\n and l_shipdate < l_commitdate\n and l_receiptdate >= date '1996-01-01'\n and l_receiptdate < date '1996-01-01' + interval '1' year\ngroup by\n l_shipmode\norder by\n l_shipmode\nLIMIT 1;\n`;\n\nexport const plan_parallel_2_source = ` Limit (cost=1964755.66..1964961.44 rows=1 width=27) (actual time=7579.592..7922.997 rows=1 loops=1)\n -> Finalize GroupAggregate (cost=1964755.66..1966196.11 rows=7 width=27) (actual time=7579.590..7579.591 rows=1 loops=1)\n Group Key: lineitem.l_shipmode\n -> Gather Merge (cost=1964755.66..1966195.83 rows=28 width=27) (actual time=7559.593..7922.319 rows=6 loops=1)\n Workers Planned: 4\n Workers Launched: 4\n -> Partial GroupAggregate (cost=1963755.61..1965192.44 rows=7 width=27) (actual time=7548.103..7564.592 rows=2 loops=5)\n Group Key: lineitem.l_shipmode\n -> Sort (cost=1963755.61..1963935.20 rows=71838 width=27) (actual time=7530.280..7539.688 rows=62519 loops=5)\n Sort Key: lineitem.l_shipmode\n Sort Method: external merge Disk: 2304kB\n Worker 0: Sort Method: external merge Disk: 2064kB\n Worker 1: Sort Method: external merge Disk: 2384kB\n Worker 2: Sort Method: external merge Disk: 2264kB\n Worker 3: Sort Method: external merge Disk: 2336kB\n -> Parallel Hash Join (cost=382571.01..1957960.99 rows=71838 width=27) (actual time=7036.917..7499.692 rows=62519 loops=5)\n Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)\n -> Parallel Seq Scan on lineitem (cost=0.00..1552386.40 rows=71838 width=19) (actual time=0.583..4901.063 rows=62519 loops=5)\n Filter: ((l_shipmode = ANY ('{MAIL,AIR}'::bpchar[])) AND (l_commitdate < l_receiptdate) AND (l_shipdate < l_commitdate) AND (l_receiptdate >= '1996-01-01'::date) AND (l_receiptdate < '1997-01-01 00:00:00'::timestamp without time zone))\n Rows Removed by Filter: 11934691\n -> Parallel Hash (cost=313722.45..313722.45 rows=3750045 width=20) (actual time=2011.518..2011.518 rows=3000000 loops=5)\n Buckets: 65536 Batches: 256 Memory Usage: 3840kB\n -> Parallel Seq Scan on orders (cost=0.00..313722.45 rows=3750045 width=20) (actual time=0.029..995.948 rows=3000000 loops=5)\n Planning Time: 0.977 ms\n Execution Time: 7923.770 ms`;\n\nexport const plan_trigger_source = ` QUERY PLAN\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n Delete on emailmessages (cost=224.85..38989.92 rows=5000 width=34) (actual time=217158.570..217158.570 rows=0 loops=1)\n Buffers: shared hit=2579331 read=506594 dirtied=503671\n -> Nested Loop (cost=224.85..38989.92 rows=5000 width=34) (actual time=7.105..4576.019 rows=5000 loops=1)\n Buffers: shared hit=20223 read=395\n -> HashAggregate (cost=224.42..274.42 rows=5000 width=32) (actual time=7.072..23.891 rows=5000 loops=1)\n Group Key: \"ANY_subquery\".emailmessageid\n Buffers: shared hit=583\n -> Subquery Scan on \"ANY_subquery\" (cost=0.43..211.92 rows=5000 width=32) (actual time=0.064..3.892 rows=5000 loops=1)\n Buffers: shared hit=583\n -> Limit (cost=0.43..161.92 rows=5000 width=4) (actual time=0.053..2.808 rows=5000 loops=1)\n Buffers: shared hit=583\n -> Index Only Scan using emailmessages_pkey on emailmessages emailmessages_1 (cost=0.43..89834.20 rows=2781465 width=4) (actual time=0.051..2.260 rows=5000 loops=1)\n Heap Fetches: 609\n Buffers: shared hit=583\n -> Index Scan using emailmessages_pkey on emailmessages (cost=0.43..7.73 rows=1 width=10) (actual time=0.903..0.905 rows=1 loops=5000)\n Index Cond: (emailmessageid = \"ANY_subquery\".emailmessageid)\n Buffers: shared hit=19640 read=395\n Planning time: 2.482 ms\n Trigger for constraint headeremessageref: time=4038.247 calls=5000\n Trigger for constraint formdataemessageref: time=81.415 calls=5000\n Trigger for constraint attachemessageref: time=158945.774 calls=5000\n Trigger for constraint outgoingemessageref: time=332.316 calls=5000\n Trigger for constraint incomingemessageref: time=125.492 calls=5000\n Trigger for constraint eventemessageref: time=251.365 calls=5000\n Trigger for constraint filteredemessageref: time=125.894 calls=5000\n Execution time: 381072.164 ms\n(26 rows)`;\n\nexport const plan_trigger_query = `DELETE FROM emailmessages where emailmessageid in ( select emailmessageid from emailmessages limit 5000 );`;\n\nexport const plan_trigger_2_source = `[\n {\n \"Plan\": {\n \"Node Type\": \"ModifyTable\",\n \"Operation\": \"Insert\",\n \"Parallel Aware\": false,\n \"Relation Name\": \"emp\",\n \"Schema\": \"brut\",\n \"Alias\": \"emp\",\n \"Startup Cost\": 0.0,\n \"Total Cost\": 0.01,\n \"Plan Rows\": 1,\n \"Plan Width\": 44,\n \"Actual Startup Time\": 0.401,\n \"Actual Total Time\": 0.401,\n \"Actual Rows\": 0,\n \"Actual Loops\": 1,\n \"Shared Hit Blocks\": 1,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0,\n \"Plans\": [\n {\n \"Node Type\": \"Result\",\n \"Parent Relationship\": \"Member\",\n \"Parallel Aware\": false,\n \"Startup Cost\": 0.0,\n \"Total Cost\": 0.01,\n \"Plan Rows\": 1,\n \"Plan Width\": 44,\n \"Actual Startup Time\": 0.004,\n \"Actual Total Time\": 0.004,\n \"Actual Rows\": 1,\n \"Actual Loops\": 1,\n \"Output\": [\"10000\", \"now()\", \"'pouet'::text\"],\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Blocks\": 0\n }\n ]\n },\n \"Planning Time\": 0.049,\n \"Triggers\": [\n {\n \"Trigger Name\": \"emp_stamp\",\n \"Relation\": \"emp\",\n \"Time\": 1.565,\n \"Calls\": 1\n },\n {\n \"Trigger Name\": \"emp_stamp2\",\n \"Relation\": \"emp\",\n \"Time\": 0.106,\n \"Calls\": 1\n }\n ],\n \"Execution Time\": 2.121\n }\n]`;\n\nexport const plan_trigger_2_query = `INSERT INTO brut.emp VALUES (10000, NOW(), 'pouet');`;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\n// import { LoadingPage } from \"components\";\n\nimport {\n plan1_source,\n plan1_query,\n plan3_source,\n plan3_query,\n plan6_source,\n plan9_source,\n plan9_query,\n plan_parallel_2_source,\n plan_parallel_2_query,\n mysql_plan1_source,\n} from \"pages/ExpalinPage/pages/AllExplainPage/samples\";\nimport { useCreateExplainState } from \"pages/ExpalinPage/pages/CreateExplainPage/CreateExplainContext\";\nimport { isDefined } from \"utils/common\";\n\nconst LinkButton = styled.button`\n background-color: transparent;\n border: none;\n cursor: pointer;\n display: inline;\n margin: 0;\n padding: 0;\n`;\n\ninterface Props {\n url?: string;\n}\n\nconst CustomExplainSampleLinkComponent: React.FC = ({ children, url }) => {\n //todo获取规则名称,右侧获取规则md文件进行展示\n const { setDatabaseType, setExplainFormat, setExplainName, setExplainSource, setQuerySource } =\n useCreateExplainState();\n\n const samples = [\n [\"mysql\", mysql_plan1_source, \"\", \"mysql\", \"tree\"],\n [\"Example_1_TEXT\", plan1_source, plan1_query, \"postgres\", \"tree\"],\n [\"Example_3\", plan3_source, plan3_query, \"postgres\", \"tree\"],\n [\"With_subplan\", plan6_source, \"\", \"postgres\", \"tree\"],\n [\"With_CTE\", plan9_source, plan9_query, \"postgres\", \"tree\"],\n [\"Parallel_(4_workers)\", plan_parallel_2_source, plan_parallel_2_query, \"postgres\", \"tree\"],\n ];\n\n const sampleName: string = isDefined(url) ? url.substring(29) : \"\";\n const foundItem = samples.find((item) => item[0] === sampleName);\n\n return (\n {\n setExplainName(foundItem ? foundItem[0] : \"\");\n setExplainSource(foundItem ? foundItem[1] : \"\");\n setQuerySource(foundItem ? foundItem[2] : \"\");\n setDatabaseType(foundItem ? foundItem[3] : \"\");\n setExplainFormat(foundItem ? foundItem[4] : \"\");\n }}\n >\n {children}\n \n );\n};\n\nexport default CustomExplainSampleLinkComponent;\n","import styled, { keyframes } from \"styled-components\";\n\nconst animate = keyframes`\n from {\n opacity: 0;\n\t\ttransform: translate3d(100%, 0, 0);\n }\n\n to {\n opacity: 1;\n\t\ttransform: none;\n }\n`;\n\nexport const Actions = styled.div`\n font-size: 27px;\n display: flex;\n align-items: center;\n`;\n\nexport const Body = styled.div`\n display: flex;\n flex-direction: column;\n padding: 70px 35px 20px;\n`;\n\nexport const Close = styled.div`\n cursor: pointer;\n font-size: 18px;\n background-color: rgba(255, 255, 255, 0.1);\n width: 30px;\n height: 30px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s ease;\n\n &:hover {\n background-color: rgba(255, 255, 255, 0.2);\n }\n`;\n\nexport const Header = styled.div<{ width?: string }>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 60px;\n background-color: ${({ theme }) => theme.mediumPrimaryColor};\n padding: 0 20px;\n color: ${({ theme }) => theme.whiteColor};\n position: fixed;\n top: 0;\n width: ${({ width }) => (width ? width : \"60vw\")};\n`;\n\nexport const Container = styled.div`\n display: flex;\n position: absolute;\n z-index: 9998;\n width: 100vw;\n height: 100vh;\n top: 0;\n right: 0;\n justify-content: flex-end;\n background-color: rgba(32, 32, 32, 0.2);\n`;\n\nexport const Content = styled.div<{ width?: string }>`\n background-color: #fff;\n height: 100vh;\n width: ${({ width }) => (width ? width : \"60vw\")};\n top: 0;\n right: 0;\n box-shadow: 0 8px 10px 0 rgba(11, 10, 26, 0.04), 0 3px 14px 0 rgba(11, 10, 26, 0.08),\n 0 5px 5px 0 rgba(11, 10, 26, 0.12);\n overflow-y: scroll;\n overflow-x: hidden;\n animation-name: ${animate};\n animation-duration: 0.1s;\n animation-fill-mode: both;\n position: relative;\n`;\n","import React, { useRef } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { useClickAway, useKey } from \"react-use\";\n\nimport { Actions, Body, Container, Content, Header } from \"./styled\";\n\ninterface Props {\n headerLink?: React.ReactNode | string;\n onClose: () => void;\n additional?: boolean;\n width?: string;\n}\n\nconst EXIT_KEY = \"Escape\";\n\nconst SideView: React.FC = ({ width, additional, children, onClose, headerLink }) => {\n const ref = useRef(null);\n const nullRef = useRef(null);\n useKey(EXIT_KEY, onClose);\n useClickAway(additional ? nullRef : ref, onClose);\n\n return createPortal(\n \n \n
\n {headerLink}\n
\n {children}\n
\n
,\n document.body\n );\n};\n\nexport default SideView;\n","const InfoIcon = ({ color = \"currentColor\" }: { color?: string }): JSX.Element => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default InfoIcon;\r\n","import React from \"react\";\nimport styled from \"styled-components\";\n\ninterface ToolTipProps {\n control: React.ReactNode;\n className?: string;\n disabled?: boolean;\n cursor?: \"pointer\" | \"help\" | \"not-allowed\";\n maxWidth?: string;\n}\n\nconst Control = styled.div<{ $cursor?: \"pointer\" | \"help\" | \"not-allowed\"; $showCursor?: boolean }>`\n display: inline-block;\n position: relative;\n cursor: ${({ $cursor, $showCursor = true }) => ($showCursor && $cursor) ?? \"pointer\"};\n`;\n\nconst ToolTipView = styled.div<{ $disabled?: boolean; $maxWidth?: string }>`\n display: none;\n font-size: 14px;\n line-height: initial;\n position: absolute;\n padding: 9px 8px 8px;\n box-shadow: 0 24px 38px rgba(53, 53, 66, 0.14), 0 9px 46px rgba(53, 53, 66, 0.12), 0 11px 15px rgba(53, 53, 66, 0.2);\n border-radius: 4px;\n background: rgba(26, 26, 33, 0.9);\n color: ${({ theme }) => theme.whiteColor};\n top: calc(100% + 10px);\n left: -50px;\n min-width: 100px;\n width: max-content;\n max-width: ${({ $maxWidth }) => ($maxWidth ? $maxWidth : \"380px\")};\n z-index: 1000;\n div:hover > &&,\n &&:hover {\n display: ${({ $disabled }) => ($disabled ? \"none\" : \"block\")};\n }\n`;\n\nconst ToolTip: React.FC = ({ children, control, className, disabled, cursor, maxWidth }) => {\n return (\n \n {control}\n \n {children}\n \n \n );\n};\n\nexport default ToolTip;\n","import InfoIcon from \"./components/InfoIcon\";\nimport ToolTip from \"./ToolTip\";\n\nexport default ToolTip;\nexport { ToolTip, InfoIcon };\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport ToolTip, { InfoIcon } from \"components/ToolTip\";\n\nconst ToolTipBlock = styled(ToolTip)`\n top: calc(100%);\n background: ${({ theme }) => theme.darkBlue90};\n color: ${({ theme }) => theme.whiteColor};\n padding: 11px 19px;\n min-width: 250px;\n font-size: 11px;\n line-height: 16px;\n font-weight: 500;\n & a {\n color: rgba(255, 255, 255, 0.5);\n }\n`;\n\nconst Info = styled.div`\n display: inline-block;\n vertical-align: text-top;\n margin-left: 5px;\n color: ${({ theme }) => theme.lightTextColor};\n`;\n\nconst InformationToolTip: React.FC = ({ children }) => {\n return (\n \n \n \n }\n >\n {children}\n \n );\n};\n\nexport default InformationToolTip;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport ToolTip, { InfoIcon } from \"components/ToolTip\";\n\nconst ToolTipBlock = styled(ToolTip)`\n top: calc(100%);\n background: ${({ theme }) => theme.darkBlue90};\n color: ${({ theme }) => theme.whiteColor};\n padding: 11px 19px;\n min-width: 250px;\n font-size: 11px;\n line-height: 16px;\n font-weight: 500;\n & a {\n color: rgba(255, 255, 255, 0.5);\n }\n`;\n\nconst Info = styled.div`\n display: inline-block;\n vertical-align: text-top;\n margin-left: 5px;\n color: ${({ theme }) => theme.lightTextColor};\n`;\n\nconst ErrorInfoToolTip: React.FC = ({ children }) => {\n return (\n \n \n \n }\n >\n {children}\n \n );\n};\n\nexport default ErrorInfoToolTip;\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { StatusIcon } from \"components\";\nimport ErrorInfoToolTip from \"./ErrorInfoToolTip\";\n\nconst Error = styled(StatusIcon)`\n padding-left: 1px;\n width: 26px;\n min-width: 26px;\n height: 26px;\n padding-top: 5px;\n font-size: 17px;\n`;\n\nconst ErrorBlock = styled.div`\n display: flex;\n align-items: center;\n font-weight: 600;\n font-size: 12px;\n line-height: 18px;\n color: ${({ theme }) => theme.darkPrimaryColor};\n`;\n\nconst ErrorText = styled.div`\n font-weight: normal;\n color: ${({ theme }) => theme.dangerColor};\n max-width: 400px;\n`;\n\nconst ErrorSection: React.FC<{\n errorTitle: React.ReactNode;\n errorMessage: React.ReactNode;\n}> = ({ errorMessage, errorTitle }) => (\n \n \n
\n {errorTitle}\n {errorMessage}\n
\n
\n);\n\nconst TestingConnectionError: React.FC<{ errorMessage: React.ReactNode }> = ({ errorMessage }) => (\n } errorMessage={errorMessage} />\n);\n\nconst TestingWorkspaceError: React.FC<{ errorMessage: React.ReactNode }> = ({ errorMessage }) => (\n \n \n \n
\n \n
\n
\n \n }\n errorMessage={errorMessage}\n />\n);\n\nconst TestingInstanceError: React.FC<{ errorMessage: React.ReactNode }> = ({ errorMessage }) => (\n \n \n \n
\n \n
\n
\n \n }\n errorMessage={errorMessage}\n />\n);\nconst TestingWorkloadError: React.FC<{ errorMessage: React.ReactNode }> = ({ errorMessage }) => (\n } errorMessage={errorMessage} />\n);\n\nconst JiraCreateError: React.FC<{ errorMessage: React.ReactNode }> = ({ errorMessage }) => (\n } errorMessage={errorMessage} />\n);\n\nconst CreateEmailTaskError: React.FC<{ errorMessage: React.ReactNode }> = ({ errorMessage }) => (\n } errorMessage={errorMessage} />\n);\n\nconst OrgCreateError: React.FC<{ errorMessage: React.ReactNode }> = ({ errorMessage }) => (\n } errorMessage={errorMessage} />\n);\n\nconst SubscriptionCreateError: React.FC<{ errorMessage: React.ReactNode }> = ({ errorMessage }) => (\n } errorMessage={errorMessage} />\n);\n\nconst FetchingCreatorError: React.FC = () => (\n }\n errorMessage={}\n />\n);\n\nexport {\n TestingInstanceError,\n OrgCreateError,\n TestingConnectionError,\n FetchingCreatorError,\n TestingWorkspaceError,\n TestingWorkloadError,\n JiraCreateError,\n CreateEmailTaskError,\n SubscriptionCreateError,\n};\n","import { Field, FieldProps, Form, Formik } from \"formik\";\nimport React from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\nimport * as yup from \"yup\";\n\nimport { Input, ControlLabels, Button, LoadingButton } from \"components\";\n\nimport InformationToolTip from \"views/Connection/ConnectionForm/components/InformationToolTip\";\nimport { JiraCreateError } from \"views/Workspace/ServiceForm/components/TestingConnectionError\";\n\nimport { Values } from \"../types\";\n\nconst Buttons = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n\n & > button {\n margin-left: 5px;\n }\n`;\n\nconst ControlLabelsWithMargin = styled(ControlLabels)`\n margin-bottom: 29px;\n`;\n\n// const RequestButton = styled(Button)`\n// min-width: 105px;\n// `;\n\ninterface JiraFormProps {\n isLoading?: boolean;\n onSubmit: (values: Values) => void;\n onCancel: () => void;\n currentValues?: Values;\n hasFeedback?: boolean;\n errorMessage: string | null;\n}\n\nconst validationSchema = yup.object().shape({\n issueType: yup.string().required(\"form.empty.error\"),\n jiraBaseUrl: yup.string().required(\"form.empty.error\"),\n jiraUserName: yup.string().required(\"form.empty.error\"),\n apiToken: yup.string().required(\"form.empty.error\"),\n projectId: yup.string().required(\"form.empty.error\"),\n});\n\nconst JiraForm: React.FC = ({\n isLoading,\n onSubmit,\n onCancel,\n errorMessage,\n currentValues,\n hasFeedback,\n}) => {\n const formatMessage = useIntl().formatMessage;\n // const [issueType, setIssueType] = useState<{ description: string }>();\n // const jiraIssueTypes = useGetJiraIssueTypeCollection();\n // const dropdownData = useMemo(\n // () =>\n // jiraIssueTypes.map((item) => ({\n // label: item.name,\n // value: item.id,\n // description: item.description,\n // })),\n // [jiraIssueTypes]\n // );\n\n return (\n \n {() => (\n
\n \n {({ field, meta }: FieldProps) => (\n }\n message={\n <>\n \n \n \n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n {/* */}\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n {/* \n {({ field, meta }: FieldProps) => (\n }\n message={issueType?.description}\n >\n {\n setFieldValue(\"issueType\", item.value);\n setIssueType(item);\n }}\n />\n \n )}\n */}\n {/* \n {({ field, meta }: FieldProps) => (\n }\n message={}\n >\n \n \n )}\n \n {!currentValues?.email && (\n \n {({ field, meta }: FieldProps) => (\n }\n message={!!meta.error && meta.touched && }\n >\n \n \n )}\n \n )} */}\n \n \n {/* \n \n */}\n \n \n \n \n {errorMessage !== null && }\n \n )}\n \n );\n};\n\nexport default JiraForm;\n","// @ts-ignore 1234\nimport fnTranslate from \"md-to-adf\";\nimport React, { useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Modal } from \"components\";\n\nimport { useCreateJiraIssue } from \"hooks/services/useAnalysisHook\";\n\nimport JiraForm from \"./components/JiraForm\";\nimport { Values } from \"./types\";\n\ninterface RequestJiraModalProps {\n onClose: () => void;\n initialName?: string;\n content: string;\n summary: string;\n}\nconst Content = styled.div`\n width: 492px;\n padding: 22px 34px 36px 32px;\n`;\n\nconst RequestJiraModal: React.FC = ({ content, summary, onClose, initialName }) => {\n const [hasFeedback, setHasFeedback] = useState(false);\n const { mutateAsync: createJiraIssue, isLoading } = useCreateJiraIssue();\n const [errorMessage, setErrorMessage] = useState(null);\n\n const onSubmit = (values: Values) => {\n const translatedADF = fnTranslate(content);\n createJiraIssue({\n ...values,\n summary: summary,\n translatedADF: translatedADF,\n })\n .then(({ data: result }) => {\n onClose();\n setTimeout(() => {\n const a = document.createElement(\"a\");\n document.body.appendChild(a);\n a.href = result.url;\n a.target = \"_blank\";\n a.click();\n document.body.removeChild(a);\n setHasFeedback(false);\n }, 1000);\n })\n .catch((e) => {\n setErrorMessage(e.message);\n });\n };\n\n return (\n } onClose={onClose}>\n \n \n \n \n );\n};\n\nexport default RequestJiraModal;\n","import RequestJiraModal from \"./RequestJiraModal\";\n\nexport default RequestJiraModal;\n","import React from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { useToggle } from \"react-use\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n// import MyContentCard from \"components/ContentCard/MyContentCard\";\nimport { Markdown } from \"components/Markdown\";\nimport { SideView } from \"components/SideView\";\n\nimport { useConfig } from \"config\";\nimport { StatementDetail } from \"core/request/PawsqlClient\";\nimport { useGetStatementDetail } from \"hooks/services/useAnalysisHook\";\nimport { QueryDetailProvider } from \"pages/AnalysisPage/pages/AnalysisItemPage/components/QueryDetailContext\";\nimport { isNotBlank } from \"utils/common\";\nimport RequestJiraModal from \"views/Workspace/RequestJiraModal\";\n\nconst Content = styled.div`\n max-width: 813px;\n padding: 20px 18px 37px 22px;\n`;\n\nconst StyledSection = styled.div`\n padding: 15px 20px;\n\n & > div:not(:last-child) {\n margin-bottom: 20px;\n }\n`;\n\n// const EndBlock = styled.div`\n// flex: 1 0 0;\n// display: flex;\n// justify-content: flex-end;\n// margin-right: 200px;\n// `;\n\nconst Controls = styled.div`\n display: flex;\n justify-content: flex-end;\n margin-top: 26px;\n`;\n\nexport const QueryDetailsModal: React.FC<{\n statementDetail: StatementDetail | null;\n analysisStmtId: string;\n closeModal: () => void;\n}> = (props) => {\n const { locale } = useIntl();\n const isEn = locale === \"en\";\n const [isOpenRequestModal, toggleOpenRequestModal] = useToggle(false);\n const { isInternal } = useConfig();\n\n const { data: statementDetail } = useGetStatementDetail(props.analysisStmtId);\n const { detailMarkdown, detailMarkdownZh } = statementDetail;\n const content = isEn ? detailMarkdown : isNotBlank(detailMarkdownZh) ? detailMarkdownZh : detailMarkdown;\n const summary =\n statementDetail.analysisName + \"-Tuning Details for \" + statementDetail.statementName + \" [by PawSQL]\";\n return (\n \n \n \n \n \n }\n >\n \n \n \n {!isInternal && (\n \n \n {isOpenRequestModal && (\n \n )}\n \n )}\n {/* \n \n */}\n \n \n \n );\n};\n","import React, { useCallback, useState } from \"react\";\nimport { useToggle } from \"react-use\";\nimport styled from \"styled-components\";\n\nimport { StatementDetail } from \"core/request/PawsqlClient\";\nimport { useAnalysisService } from \"hooks/services/useAnalysisHook\";\nimport { isDefined } from \"utils/common\";\nimport { QueryDetailsModal } from \"views/analyses/QueryDetailsModal\";\n\nconst LinkButton = styled.button`\n background-color: transparent;\n border: none;\n cursor: pointer;\n display: inline;\n margin: 0;\n padding: 0;\n`;\n\ninterface Props {\n url?: string;\n}\n\nconst CustomLinkComponent: React.FC = ({ url, children }) => {\n const [open, setOpen] = useToggle(false);\n const statementId = isDefined(url) ? url.substring(23) : \"\";\n const [statementDetail, setStatementDetail] = useState(null);\n const service = useAnalysisService();\n const handleClick = useCallback(() => {\n service.getDetail(statementId).then(({ data }) => {\n setStatementDetail(data);\n });\n }, [service, statementId]);\n return (\n {\n handleClick();\n setOpen(true);\n }}\n >\n {children}\n {open && (\n {\n setOpen(false);\n }}\n statementDetail={statementDetail}\n analysisStmtId={statementId}\n />\n )}\n \n );\n};\n\nexport default CustomLinkComponent;\n","import React from \"react\";\n// import { useIntl } from \"react-intl\";\n// import { useToggle } from \"react-use\";\n// import styled from \"styled-components\";\n\n// import { useGetStatementDetail } from \"hooks/services/useAnalysisHook\";\n// import { isDefined } from \"utils/common\";\n// import { useQueryDetailState } from \"pages/AnalysisPage/pages/AnalysisItemPage/components/QueryDetailContext\";\n// import { SQLDiffModal } from \"views/analyses/SQLDiffModal\";\n\n// const ALink = styled.a`\n// word-wrap: break-word;\n// box-sizing: border-box;\n// text-decoration: none;\n// font-weight: 600;\n// display: inline-block;\n// user-select: none;\n// vertical-align: middle;\n// white-space: nowrap;\n// border: 1px solid transparent;\n// border-color: #fff;\n// background-color: #fff;\n// box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);\n// line-height: 1.5;\n// padding: 0.25rem 0.5rem;\n// border-radius: 0.375rem;\n// text-align: right !important;\n// position: relative;\n// transition: all 0.15s ease;\n// letter-spacing: 0.025em;\n// text-transform: none;\n// will-change: transform;\n// font-size: 0.75rem;\n// color: #6333ff;\n// cursor: pointer;\n// `;\ninterface Props {\n url?: string;\n}\n\nconst CustomShowSQLDiffComponent: React.FC = () => {\n // const statementId = isDefined(url) ? url.substring(25) : \"\";\n\n // const { details } = useQueryDetailState();\n // const { rewrittenQuery, stmtText } = details;\n // let contentBefore = \"\";\n // let contentAfter = \"\";\n\n // let sqls: string[] = [];\n // rewrittenQuery.map((item) => {\n // const temp = JSON.parse(item.rewrittenQueriesStr) as Array;\n // sqls = sqls.concat(temp);\n // });\n\n // contentBefore += stmtText;\n\n // if (sqls && sqls.length > 0) {\n // // todo 这里是否要把所有重写的sql都展示,因为有重复的\n // // sqls.map((item, index) => {\n // // contentBefore += \"-- original sql \\n\" + stmtText + \"\\n\\n\";\n // // contentAfter += \"-- rewritten sql \" + (index + 1) + \"\\n\" + item + \"\\n\\n\";\n // // });\n\n // contentAfter += sqls[0];\n // }\n\n // const [open, setOpen] = useToggle(false);\n // const { formatMessage } = useIntl();\n\n return <>;\n // return (\n // <>\n //  \n // {\n // setOpen(true);\n // }}\n // >\n // {formatMessage({ id: \"markdown.custom.link.sql.compare\" })}\n // \n // {open && (\n // {\n // setOpen(false);\n // }}\n // contentBefore={contentBefore}\n // contentAfter={contentAfter}\n // />\n // )}\n // \n // );\n};\n\nexport default CustomShowSQLDiffComponent;\n","import { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\n\nimport {\n getRuleByCode,\n listDefaultRules,\n listRules,\n RuleListUpdate,\n RuleTypeRequestBody,\n updateDefault,\n updateUserRule,\n updateDefaultRule,\n RuleRead,\n} from \"../../request/PawsqlClient\";\n\nexport class RuleService extends PawsqlRequestService {\n public get(ruleCode: string) {\n return getRuleByCode({ id: ruleCode }, this.requestOptions);\n }\n\n public list(objectType: string) {\n return listRules({ objectType: objectType }, this.requestOptions);\n }\n public listDefault(values: RuleTypeRequestBody) {\n return listDefaultRules(values, this.requestOptions);\n }\n\n public updateUserRule(ruleListUpdate: RuleListUpdate) {\n return updateUserRule(ruleListUpdate, this.requestOptions);\n }\n public updateDefault(ruleListUpdate: RuleListUpdate) {\n return updateDefault(ruleListUpdate, this.requestOptions);\n }\n public updateDefaultRule(rule: RuleRead) {\n return updateDefaultRule(rule, this.requestOptions);\n }\n}\n","import { useMutation, useQueryClient } from \"react-query\";\n\nimport { useConfig } from \"config\";\nimport { RuleService } from \"core/domain/workspace/RuleService\";\nimport { useInitService } from \"services/useInitService\";\n\nimport { RuleListUpdate, RuleRead, RuleTypeRequestBody } from \"../../core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\n\nexport const rulesKeys = {\n all: [SCOPE_USER, \"rules\"] as const,\n lists: () => [...rulesKeys.all, \"list\"] as const,\n listsWithObjectType: (objectType: string) => [...rulesKeys.all, \"objectType\", objectType] as const,\n defaultList: () => [...rulesKeys.all, \"defaultList\"] as const,\n defaultListWithObjectType: (objectType?: string) => [...rulesKeys.all, \"defaultList\", objectType] as const,\n detail: (ruleCode: string) => [...rulesKeys.all, \"details\", ruleCode] as const,\n config: (userId: string) => [\"config\", userId] as const,\n};\n\nexport function useRuleService() {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n return useInitService(() => new RuleService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);\n}\n\nconst useRuleList = (objectType: string) => {\n const { user } = useMyAuthService();\n const service = useRuleService();\n return useSuspenseQuery(rulesKeys.listsWithObjectType(user.userId + objectType), () => service.list(objectType));\n};\n\nconst useDefaultRuleList = (values: RuleTypeRequestBody) => {\n const service = useRuleService();\n\n return useSuspenseQuery(rulesKeys.defaultListWithObjectType(JSON.stringify(values)), () =>\n service.listDefault(values)\n );\n};\n\nconst useGetRuleByCode = (ruleCode: string) => {\n const service = useRuleService();\n\n return useSuspenseQuery(rulesKeys.detail(ruleCode), () => service.get(ruleCode));\n};\n\nconst useUpdateUserRules = (objectType: string, userId: string) => {\n const service = useRuleService();\n const queryClient = useQueryClient();\n\n return useMutation(\n (values: RuleListUpdate) => {\n return service.updateUserRule(values);\n },\n {\n onSuccess: ({ data }) => {\n data && queryClient.invalidateQueries(rulesKeys.listsWithObjectType(userId + objectType));\n },\n }\n );\n};\n\nconst useUpdateDefaultRules = (objectType?: string) => {\n const service = useRuleService();\n const queryClient = useQueryClient();\n const { user } = useMyAuthService();\n return useMutation(\n (values: RuleListUpdate) => {\n return service.updateDefault(values);\n },\n {\n onSuccess: ({ data }) => {\n data &&\n queryClient.invalidateQueries(\n rulesKeys.defaultListWithObjectType(JSON.stringify({ objectType: objectType }))\n );\n data && queryClient.invalidateQueries(rulesKeys.listsWithObjectType(user.userId + objectType));\n },\n }\n );\n};\n\nconst useUpdateDefaultRule = (objectType?: string) => {\n const service = useRuleService();\n const queryClient = useQueryClient();\n\n return useMutation(\n (values: RuleRead) => {\n return service.updateDefaultRule(values);\n },\n {\n onSuccess: ({ data }) => {\n data &&\n queryClient.invalidateQueries(\n rulesKeys.defaultListWithObjectType(JSON.stringify({ objectType: objectType }))\n );\n },\n }\n );\n};\n\nexport {\n useGetRuleByCode,\n useRuleList,\n useDefaultRuleList,\n useUpdateUserRules,\n useUpdateDefaultRules,\n useUpdateDefaultRule,\n};\n","import React, { useState } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\n// import { useDocumentation } from \"hooks/services/useDocumentation\";\nimport { useRuleService } from \"hooks/services/useRuleHook\";\nimport { isDefined, isNotBlank } from \"utils/common\";\nimport ToolTip from \"components/ToolTip\";\nimport Markdown from \"./Markdown\";\n\nconst LinkButton = styled.button`\n background-color: transparent;\n border: none;\n cursor: pointer;\n display: inline;\n margin: 0;\n padding: 0;\n`;\n\nconst ToolTipBlock = styled(ToolTip)`\n top: calc(100%);\n background: ${({ theme }) => theme.whiteColor};\n color: ${({ theme }) => theme.darkBlue90};\n padding: 11px 19px;\n min-width: 250px;\n font-size: 13px;\n line-height: 16px;\n font-weight: 500;\n & a {\n color: rgba(255, 255, 255, 0.5);\n }\n`;\n\ninterface Props {\n url?: string;\n}\n\nconst CustomRuleInfoLinkToolTipsComponent: React.FC = ({ children, url }) => {\n const [content, setContent] = useState(null);\n const [isLoading, setIsLoading] = useState(false);\n const ruleCode = isDefined(url) ? url.substring(22) : \"\";\n const { locale } = useIntl();\n const isEn = locale === \"en\";\n const service = useRuleService();\n\n // 悬浮时加载数据\n const handleMouseEnter = async () => {\n if (isNotBlank(content) || isLoading) {\n return;\n } // 如果已加载过内容或正在加载,跳过\n setIsLoading(true);\n\n try {\n const { data: rule } = await service.get(ruleCode);\n setContent(isEn ? rule?.descEn : rule?.descCn ?? \"\");\n } catch (error) {\n console.error(\"Error loading rule:\", error);\n } finally {\n setIsLoading(false);\n }\n };\n\n return (\n \n {children}\n \n }\n >\n {content ? : isLoading ? \"Loading...\" : \"\"}\n \n );\n};\n\nexport default CustomRuleInfoLinkToolTipsComponent;\n","import type { PluggableList } from \"react-markdown/lib/react-markdown\";\r\n\r\nimport { faCopy } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport React from \"react\";\r\nimport { CopyToClipboardWrapper } from \"react-clipboard-button\";\r\nimport { useIntl } from \"react-intl\";\r\nimport ReactMarkdown from \"react-markdown\";\r\nimport remarkFrontmatter from \"remark-frontmatter\";\r\nimport remarkGfm from \"remark-gfm\";\r\nimport styled from \"styled-components\";\r\n\r\nimport { Button } from \"components/base\";\r\n\r\nimport { CodeBlock } from \"./CodeBlock\";\r\nimport CustomCreateExplainLinkComponent from \"./CustomCreateExplainLinkComponent\";\r\nimport CustomExplainSampleLinkComponent from \"./CustomExplainSampleLinkComponent\";\r\nimport CustomLinkComponent from \"./CustomLinkComponent\";\r\nimport CustomShowSQLDiffComponent from \"./CustomShowSQLDiffComponent\";\r\nimport CustomRuleInfoLinkToolTipsComponent from \"./CustomRuleInfoLinkToolTipsComponent\";\r\n\r\nconst ButtonWithMargin = styled(Button)`\r\n margin-right: 9px;\r\n`;\r\n\r\ninterface Props {\r\n content?: string;\r\n className?: string;\r\n rehypePlugins?: PluggableList;\r\n}\r\n\r\nconst Markdown: React.FC = ({ content, className, rehypePlugins }) => {\r\n const { formatMessage } = useIntl();\r\n\r\n return (\r\n (href.startsWith(\"#\") ? undefined : \"_self\")}\r\n linkTarget={(href) => (href.startsWith(\"#\") ? undefined : \"_blank\")}\r\n className={`prose ${className}`}\r\n skipHtml\r\n // eslint-disable-next-line\r\n // @ts-ignore This is not actually causing any issues, but requires to disable TS on this for now.\r\n remarkPlugins={[remarkFrontmatter, remarkGfm]}\r\n rehypePlugins={rehypePlugins}\r\n components={{\r\n a: (props: { href?: string; children: React.ReactNode }) => {\r\n return props.href?.startsWith(\"./customLink/statement/\") ? (\r\n \r\n ) : props.href?.startsWith(\"./customLink/ruleInfo/\") ? (\r\n \r\n ) : props.href?.startsWith(\"./customLink/explain/samples/\") ? (\r\n \r\n ) : props.href?.startsWith(\"./customLink/showSQLDiff/\") ? (\r\n \r\n ) : props.href?.startsWith(\"./customLink/createExplain/\") ? (\r\n \r\n ) : (\r\n \r\n {props.children}\r\n // All other links\r\n );\r\n },\r\n h1: (props: { children: React.ReactNode }) => {\r\n return (\r\n

{props.children}

// All other links\r\n );\r\n },\r\n pre({ node, ...props }) {\r\n return
;\r\n        },\r\n        code({ node, inline, className, children, ...props }) {\r\n          const match = /language-(\\w+)/.exec(className || \"\");\r\n          return !inline && match ? (\r\n            \r\n                  \r\n                \r\n              }\r\n              text={String(children)}\r\n              style={{}}\r\n            >\r\n              {/*  */}\r\n              {/* \r\n                {codeString}\r\n               */}\r\n              \r\n            \r\n          ) : (\r\n            \r\n              {children}\r\n            \r\n          );\r\n        },\r\n      }}\r\n      children={content || \"\"}\r\n    />\r\n  );\r\n};\r\n\r\nconst StyledMarkdown = styled(Markdown)`\r\n  * {\r\n    color: ${({ theme }) => theme.textColor};\r\n    line-height: 24px;\r\n    font-size: 16px;\r\n    font-weight: 400;\r\n  }\r\n\r\n  h1 {\r\n    font-size: 48px;\r\n    line-height: 56px;\r\n    font-weight: bold;\r\n  }\r\n\r\n  h2 {\r\n    font-size: 24px;\r\n    line-height: 36px;\r\n    font-weight: bold;\r\n  }\r\n\r\n  h3 {\r\n    font-size: 18px;\r\n    font-weight: bold;\r\n  }\r\n\r\n  h4 {\r\n    font-weight: bold;\r\n  }\r\n\r\n  a {\r\n    color: ${({ theme }) => theme.primaryColor};\r\n    text-decoration: none;\r\n    line-height: 24px;\r\n\r\n    &:hover {\r\n      text-decoration: underline;\r\n    }\r\n  }\r\n\r\n  table {\r\n    border-collapse: collapse;\r\n  }\r\n\r\n  th,\r\n  td {\r\n    border: 1px solid ${({ theme }) => theme.borderTableColor};\r\n    margin: 0;\r\n    padding: 8px 16px;\r\n  }\r\n\r\n  th {\r\n    background: ${({ theme }) => theme.lightTableColor};\r\n  }\r\n\r\n  blockquote {\r\n    border-left: 4px solid ${({ theme }) => theme.borderTableColor};\r\n    padding-left: 16px;\r\n    margin-left: 25px;\r\n  }\r\n\r\n  strong {\r\n    font-weight: bold;\r\n  }\r\n\r\n  code {\r\n    background: ${({ theme }) => theme.lightTableColor};\r\n    // 控制是否换行\r\n    white-space: break-spaces;\r\n\r\n    &.language-sql,\r\n    &.language-text {\r\n      display: block;\r\n      padding: 15px;\r\n      overflow: auto;\r\n    }\r\n  }\r\n\r\n  img {\r\n    max-width: 100%;\r\n  }\r\n`;\r\n\r\nexport default StyledMarkdown;\r\n","import React from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { FormattedMessage } from \"react-intl\";\nimport { Link } from \"react-router-dom\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n\nimport { useI18nContext } from \"core/i18n\";\nimport { RoutePaths } from \"pages/routePaths\";\n\nconst Links = styled.div`\n  max-width: 120ch;\n  width: 100%;\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n  align-items: center;\n`;\n\nconst LanguageChangeButton = styled(Button)`\n  font-style: normal;\n  font-weight: bold;\n  color: ${({ theme }) => theme.BackLink};\n\n  &:hover {\n    opacity: 0.8;\n  }\n`;\n\nconst FormLink = styled.div`\n  font-size: 11px;\n  line-height: 13px;\n  color: ${({ theme }) => theme.darkGreyColor};\n`;\n\nconst TextBlock = styled.div`\n  display: inline-block;\n`;\n\nexport const EndBlock = styled.div`\n  flex: 1 0 0;\n  display: flex;\n  justify-content: flex-end;\n`;\n\nconst Content = styled.div`\n  max-width: 120ch;\n  margin: 10px auto;\n  padding-bottom: 10px;\n`;\n\nconst Logo = styled.img`\n  display: block;\n`;\n\nconst Header: React.FC = () => {\n  const { locale } = useIntl();\n  const isEn = locale === \"en\";\n  const { changeLocal } = useI18nContext();\n  const username = localStorage.getItem(\"pawsql-user\");\n  return (\n    \n      \n        \n          \n        \n        \n          \n            \n          \n        \n        \n          \n            \n              {username ? (\n                \n              ) : (\n                \n              )}\n            \n          \n        \n      \n    \n  );\n};\n\nexport default Header;\n","import React from \"react\";\n\nimport Header from \"./Header\";\n\nconst FormContent: React.FC = (props) => {\n  return (\n    <>\n      
\n {props.children}\n \n );\n};\n\nexport default FormContent;\n","import React, { Suspense } from \"react\";\nimport styled from \"styled-components\";\n\nimport { Card, LoadingPage } from \"components\";\n// import LoadingSchema from \"components/LoadingSchema\";\nimport { Markdown } from \"components/Markdown\";\n\nimport FormContent from \"./FormContent\";\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: flex-start;\n gap: 10px;\n`;\n\nexport const LeftFieldCol = styled.div`\n width: 470px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nconst StyledSection = styled.div`\n padding: 15px 20px;\n\n & > div:not(:last-child) {\n margin-bottom: 20px;\n }\n`;\n\nconst InnerContent = styled.div`\n max-width: 990px;\n margin: 10px auto;\n padding-bottom: 10px;\n`;\n\nconst Content = styled.div`\n width: 100%;\n height: auto;\n overflow-y: auto;\n flex-direction: row;\n background: ${({ theme }) => theme.backgroundColor};\n`;\n\nconst Page = styled.div`\n overflow-y: hidden;\n height: 100%;\n display: flex;\n flex-direction: column;\n`;\n\nconst Part = styled.div`\n flex: 1 0 0;\n padding: 20px 36px 39px 46px;\n`;\n\nexport const StaticMDView: React.FC<{ content?: string }> = ({ content }) => {\n return (\n \n \n \n \n }>\n \n \n <>\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { MyWorkspaceRead, WorkspaceDefinitionReadList } from \"core/request/PawsqlClient\";\n\nexport const DEV_IMAGE_TAG = \"dev\";\n\nexport const WorkloadIcon = `\\n\\n\\n\\nCreated by potrace 1.10, written by Peter Selinger 2001-2011\\n\\n\\n\\n\\n\\n\\n\\n\\n`;\n\nexport const WORKSPACE_DEFINITIONS: WorkspaceDefinitionReadList = {\n workspaceDefinitions: [\n {\n workspaceDefinitionId: \"8afe9a17-1e93-9513-afa4-03cc5117fd50\",\n name: \"Text\",\n dockerRepository: \"pawsql/text\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/RawText.md\",\n icon: \"/databaseIcon/Text.svg\",\n },\n {\n workspaceDefinitionId: \"778daa7c-feaf-4db6-96f3-70fd645acc77\",\n name: \"File\",\n dockerRepository: \"pawsql/file\",\n dockerImageTag: \"0.1.0\",\n documentationUrl: \"workspace/RawFile.md\",\n icon: \"/databaseIcon/File.svg\",\n },\n {\n workspaceDefinitionId: \"435bb9a5-7887-4809-aa58-28c27df0d7ad\",\n name: \"MySQL\",\n dbType: \"mysql\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbVersion: [\"8.2\", \"8.1\", \"8.0\", \"5.7\", \"5.6\", \"5.5\", \"5.1\", \"5.0\"],\n dockerRepository: \"pawsql/mysql\",\n dockerImageTag: \"0.5.10\",\n documentationUrl: \"workspace/MySQL.md\",\n icon: \"/databaseIcon/MySQL.svg\",\n },\n {\n workspaceDefinitionId: \"decd338e-5647-4c0b-adf4-da0e75f5a750\",\n name: \"Postgres\",\n dbType: \"postgres\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbVersion: [\n \"16\",\n \"15\",\n \"14\",\n \"13\",\n \"12\",\n \"11\",\n \"10\",\n \"9.6\",\n \"9.5\",\n \"9.4\",\n \"9.3\",\n \"9.2\",\n \"9.1\",\n \"9.0\",\n \"8.x\",\n \"7.x\",\n ],\n dockerRepository: \"pawsql/postgres\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/Postgres.md\",\n icon: \"/databaseIcon/Postgres.svg\",\n },\n {\n workspaceDefinitionId: \"b0ed57dc-1575-0c10-be29-74ef4dbf2267\",\n name: \"OpenGauss\",\n dbType: \"opengauss\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbVersion: [\"5.0.0\", \"3.0.0\"],\n dockerRepository: \"pawsql/opengauss\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/OpenGauss.md\",\n icon: \"/databaseIcon/OpenGauss.svg\",\n },\n {\n workspaceDefinitionId: \"09d38ac7-f73e-4189-b7f9-aa762af5f35a\",\n name: \"电科金仓(Kingbase)\",\n dbType: \"kingbase\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbVersion: [\"V9\", \"V8\"],\n dockerRepository: \"pawsql/kingbasees\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/KingbaseES.md\",\n icon: \"/databaseIcon/Kingbase.svg\",\n },\n\n {\n workspaceDefinitionId: \"fba03030-f5c0-426d-8530-85b39bc510d8\",\n name: \"Hive\",\n dbType: \"hive\",\n isOnlineWorkspace: true,\n isOnlineInstance: false,\n dbVersion: [\"3.1.3\"],\n dockerRepository: \"pawsql/hive\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/Hive.md\",\n icon: \"/databaseIcon/Hive.svg\",\n },\n\n {\n workspaceDefinitionId: \"94fc45f9-3c5c-4b47-8b3a-b396f8540d60\",\n name: \"GoldenDB\",\n dbType: \"galdendb\",\n isOnlineWorkspace: true,\n isOnlineInstance: false,\n dbVersion: [\"7.1\", \"7.0\"],\n dockerRepository: \"pawsql/goldendb.md\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/GoldenDB.md\",\n icon: \"/databaseIcon/GoldenDB.svg\",\n },\n {\n workspaceDefinitionId: \"bbf27c49-61aa-4e26-a338-40af81a32d1d\",\n name: \"TDSQL MySQL(分布式)\",\n dbType: \"tdsqlx-mysql\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbVersion: [\"3.1.x\", \"2.1.x\"],\n dockerRepository: \"pawsql/tdsql-mysql.md\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/TDSQL-MySQL.md\",\n icon: \"/databaseIcon/TDSQL-MySQL.svg\",\n },\n {\n workspaceDefinitionId: \"1c3d72bb-b886-4432-84d6-85ff2ebeef4b\",\n name: \"TDSQL PostgreSQL(分布式)\",\n dbType: \"tdsqlx-postgres\",\n isOnlineWorkspace: true,\n isOnlineInstance: false,\n dbVersion: [\"V5\", \"V2\"],\n dockerRepository: \"pawsql/tdsql-postgres.md\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/TDSQL-Postgres.md\",\n icon: \"/databaseIcon/TDSQL-Postgres.svg\",\n },\n {\n workspaceDefinitionId: \"fc1b699a-83cf-4ec2-add8-fb69e45cee00\",\n name: \"Oracle\",\n dbType: \"oracle\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbVersion: [\"21c\", \"19c\", \"18c\", \"12c\", \"11g\", \"10g\", \"9\"],\n dockerRepository: \"pawsql/oracle\",\n dockerImageTag: \"0.0.1\",\n releaseStage: \"beta\",\n documentationUrl: \"workspace/Oracle.md\",\n icon: \"/databaseIcon/Oracle.svg\",\n },\n {\n workspaceDefinitionId: \"426ecb17-2341-4d42-b255-4accb260f7f5\",\n name: \"GaussDB for MySQL\",\n isOnlineWorkspace: true,\n isOnlineInstance: false,\n dbType: \"gaussdbx-mysql\",\n dbVersion: [\"8.0\"],\n dockerRepository: \"pawsql/mysql\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/GaussDBForMySQL.md\",\n icon: \"/databaseIcon/GaussDB-MySQL.svg\",\n },\n {\n workspaceDefinitionId: \"148df0e4-7475-4358-bcc8-da9db9c9c623\",\n name: \"GaussDB for DWS\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbType: \"dws\",\n dbVersion: [\"8.2.0\", \"8.1.3\", \"8.1.1\", \"8.1.0\", \"8.0.1\"],\n dockerRepository: \"pawsql/opengauss\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/DWS.md\",\n icon: \"/databaseIcon/DWS.svg\",\n },\n {\n workspaceDefinitionId: \"24d2641d-f7ac-4f48-8216-3a4182f4c03d\",\n name: \"达梦(Dameng)\",\n dbType: \"dameng\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbVersion: [\"8.0\"],\n dockerRepository: \"pawsql/dameng\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/DAMENG.md\",\n icon: \"/databaseIcon/DAMENG.svg\",\n },\n {\n workspaceDefinitionId: \"0f4092c8-d8ff-4803-9d40-7c684819ad8d\",\n name: \"MogDB\",\n dbType: \"mogdb\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbVersion: [\"5.0\", \"3.1\", \"3.0\"],\n dockerRepository: \"pawsql/mogdb\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/MogDB.md\",\n icon: \"/databaseIcon/MogDB.svg\",\n },\n {\n workspaceDefinitionId: \"19b3e5d4-613c-4561-be93-6aaef56dac48\",\n name: \"GaussDB(分布式)\",\n dbType: \"gaussdbx\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbVersion: [\"V2.0\"],\n dockerRepository: \"pawsql/gaussdb\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/GaussDistributed.md\",\n icon: \"/databaseIcon/Gauss-Distributed.svg\",\n },\n {\n workspaceDefinitionId: \"cf45d7bc-3d53-499a-bd18-7059c0859c9d\",\n name: \"OceanBase (MySQL)\",\n dbType: \"oceanbase_mysql\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbVersion: [\"4.3.x\", \"3.2.x\"],\n dockerRepository: \"pawsql/oceanbase_mysql\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/OceanBaseMySQL.md\",\n icon: \"/databaseIcon/OceanBase-MySQL.svg\",\n },\n {\n workspaceDefinitionId: \"2b98c9b9-202f-4834-b5cc-962958fe0f08\",\n name: \"OceanBase (Oracle)\",\n dbType: \"oceanbase_oracle\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbVersion: [\"4.3.x\", \"3.2.x\"],\n dockerRepository: \"pawsql/oceanbase_oracle\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/OceanBaseOracle.md\",\n icon: \"/databaseIcon/OceanBase-Oracle.svg\",\n },\n {\n workspaceDefinitionId: \"2a8c57fb-d9fd-4187-b2b6-1de208cbcdac\",\n name: \"PolarDB-X 2.0\",\n dbType: \"polardbx\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbVersion: [\"V2.5.0\", \"V2.4.0\", \"V2.3.0\"],\n dockerRepository: \"pawsql/polardbx\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/PolarDB.md\",\n icon: \"/databaseIcon/PolarDB.svg\",\n },\n {\n workspaceDefinitionId: \"653decd3-4c2e-44a7-8e18-7d3a7ab36f0f\",\n name: \"SQLServer\",\n dbType: \"mssql\",\n isOnlineWorkspace: true,\n isOnlineInstance: true,\n dbVersion: [\"16.0\", \"15.0\", \"14.0\"],\n dockerRepository: \"pawsql/mssql\",\n releaseStage: \"beta\",\n dockerImageTag: \"0.0.1\",\n documentationUrl: \"workspace/SQLServer.md\",\n icon: \"/databaseIcon/SQLServer.svg\",\n },\n ],\n};\n\nexport const getWorkspaceDefinitionById = (workspaceDefinitionId: string) => {\n const workspaceDefinition = WORKSPACE_DEFINITIONS.workspaceDefinitions.find(\n (definition) => definition.workspaceDefinitionId === workspaceDefinitionId\n );\n return workspaceDefinition;\n};\n\nexport const getValidateFlagByDefinitionId = (definition: string) => {\n if (definition === \"3160df5d-2057-4e22-a28e-b179c57e4608\") {\n //tdsql-private\n return true;\n }\n const definitionList: WorkspaceDefinitionReadList = WORKSPACE_DEFINITIONS;\n const item = definitionList.workspaceDefinitions.find((item) => item.workspaceDefinitionId === definition);\n return (item?.isOnlineWorkspace ?? false) || (item?.isOnlineInstance ?? false);\n};\n\nexport const getValidateFlagByWorkspace = (workspace?: MyWorkspaceRead) => {\n const definition = workspace?.workspaceDefinitionId;\n const definitionList: WorkspaceDefinitionReadList = WORKSPACE_DEFINITIONS;\n return (\n definitionList.workspaceDefinitions.find((item) => item.workspaceDefinitionId === definition)?.isOnlineWorkspace ??\n false\n );\n};\n\nexport const getWorkloadOptions = () => {\n return [\n { value: \"01\", label: \"form.workload.queryMode.raw.text\" },\n { value: \"05\", label: \"form.workload.queryMode.raw.file\" },\n { value: \"02\", label: \"form.workload.queryMode.mysql.query.log\" },\n { value: \"03\", label: \"form.workload.queryMode.postgresql.query.log\" },\n // { value: \"04\", label: \"form.workload.queryMode.mapper\" },\n { value: \"06\", label: \"form.workload.queryMode.opengauss.query.log\" },\n ];\n};\n\nexport const getAuditWorkloadOptions = () => {\n return [\n { value: \"01\", label: \"form.workload.queryMode.raw.text\" },\n { value: \"05\", label: \"form.workload.queryMode.raw.file\" },\n ];\n};\n","import { IconDefinition } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\n\nimport { Button } from \"components\";\nimport ToolTip from \"components/ToolTip\";\n\ninterface Props {\n onClick: () => void;\n message?: React.ReactNode | string;\n icon: IconDefinition;\n className?: string;\n disable?: boolean;\n wasActive?: boolean;\n}\n\nexport const ToolTipButton: React.FC = ({ onClick, message, icon, className, disable, wasActive }) => {\n return (\n \n \n \n }\n >\n {message}\n \n );\n};\n","import { faTasks } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\n\nimport { Button } from \"components\";\nimport ToolTip from \"components/ToolTip\";\n\ninterface Props {\n onClick: () => void;\n}\n\nexport const CreateJiraTaskButton: React.FC = ({ onClick }) => {\n return (\n \n \n \n }\n >\n \n \n );\n};\n","import ReactDiffViewer, { DiffMethod } from \"react-diff-viewer-continued\";\n\ninterface CodeDiffProp {\n contentBefore: string;\n contentAfter: string;\n}\n\nexport const ReactCodeDiff: React.FC = ({ contentBefore, contentAfter }) => {\n return (\n \n );\n};\n","import React, { useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Markdown } from \"components/Markdown\";\nimport { SideView } from \"components/SideView\";\nimport { FlexContainer } from \"components/ui/Flex\";\n\nimport { RuleRewrittenQuery } from \"core/request/PawsqlClient\";\nimport { ReactCodeDiff } from \"pages/AnalysisPage/pages/AnalysisItemPage/components/ReactCodeDiff\";\n\nconst Content = styled.div`\n max-width: 1513px;\n padding: 7px 6px 12px 7px;\n`;\n\nconst Splitter = styled.div`\n line-height: var(--pf-global--LineHeight--md);\n text-align: left;\n font-weight: normal;\n color: #1a194d;\n font-size: 14px;\n font-family: Noto Sans, sans-serif;\n -webkit-font-smoothing: antialiased;\n touch-action: none;\n min-width: 1px;\n cursor: col-itemize;\n background-color: #fff;\n box-sizing: border-box;\n position: relative;\n flex-shrink: 0;\n width: 7px;\n border-left: 1px solid #eee;\n margin-left: -36px;\n margin-right: 5px;\n background: ${({ theme }) => theme.greyColor20};\n\n &:hover {\n background: ${({ theme }) => theme.grey};\n }\n`;\n\nexport const SQLDiffSideView: React.FC<{\n contentBefore: string;\n contentAfter: string;\n rewriteRules?: RuleRewrittenQuery[];\n closeModal: () => void;\n title?: string;\n}> = (props) => {\n const { locale } = useIntl();\n const [diagramWidth, setDiagramWidth] = useState(60);\n let rewriteSQLEn = \"\";\n let rewriteSQLZh = \"\";\n\n if (props.rewriteRules) {\n rewriteSQLEn = rewriteSQLEn.concat(\"ℹ️ __Applied rules__:\").concat(\"\\n\");\n rewriteSQLZh = rewriteSQLZh.concat(\"ℹ️ __本次重写优化应用的规则__:\").concat(\"\\n\");\n\n props.rewriteRules?.forEach((item) => {\n rewriteSQLEn = rewriteSQLEn.concat(\" - **\").concat(item.ruleNameEn).concat(\"**\").concat(\"\\n\");\n rewriteSQLZh = rewriteSQLZh.concat(\" - **\").concat(item.ruleNameZh).concat(\"**\").concat(\"\\n\");\n\n //添加重写片段\n rewriteSQLEn = rewriteSQLEn.concat(\" ``` sql\").concat(\"\\n\");\n rewriteSQLZh = rewriteSQLZh.concat(\" ``` sql\").concat(\"\\n\");\n\n const rewrittenQueries: string[] = JSON.parse(item.violatedQueriesStr);\n\n rewrittenQueries.forEach((frag) => {\n if (frag) {\n const fragStr = \" \" + (frag.length > 110 ? frag.substring(0, 100) + \"... \" : frag);\n rewriteSQLEn = rewriteSQLEn.concat(fragStr).concat(\"\\n\");\n rewriteSQLZh = rewriteSQLZh.concat(fragStr).concat(\"\\n\");\n }\n });\n\n rewriteSQLEn = rewriteSQLEn.concat(\" ```\").concat(\"\\n\");\n rewriteSQLZh = rewriteSQLZh.concat(\" ```\").concat(\"\\n\");\n });\n }\n\n const handleMouseDown = (e: React.MouseEvent) => {\n const initialPos = e.clientX;\n const target = e.target as HTMLDivElement;\n\n const splitterRect = target.getBoundingClientRect();\n\n const containerSize = window.innerWidth;\n\n const sideviewSize = containerSize - splitterRect.left;\n\n const handleMouseMove = (e: MouseEvent) => {\n const currentPos = e.clientX;\n const delta = currentPos - initialPos;\n\n const newSize = ((sideviewSize - delta) / containerSize) * 100;\n\n setDiagramWidth(newSize > 80 ? 80 : newSize);\n };\n\n const handleMouseUp = () => {\n document.removeEventListener(\"mousemove\", handleMouseMove);\n document.removeEventListener(\"mouseup\", handleMouseUp);\n };\n\n document.addEventListener(\"mousemove\", handleMouseMove);\n document.addEventListener(\"mouseup\", handleMouseUp);\n };\n\n return (\n \n }\n >\n \n \n
\n \n {props.rewriteRules && }\n
\n
\n \n
\n );\n};\n","import { faChartSimple, faExchangeAlt } from \"@fortawesome/free-solid-svg-icons\";\nimport React from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { useGetAnalysis, useGetStatementDetail } from \"hooks/services/useAnalysisHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { QueryDetailProvider } from \"pages/AnalysisPage/pages/AnalysisItemPage/components/QueryDetailContext\";\nimport { StaticMDView } from \"pages/AnalysisPage/pages/AnalysisItemPage/components/StaticMDView\";\nimport { isNotBlank } from \"utils/common\";\nimport { Cell, PageTitle, Row } from \"components\";\nimport { useToggle } from \"react-use\";\nimport { getValidateFlagByDefinitionId } from \"core/domain/workspace/constants\";\nimport { useConfig } from \"config\";\nimport { ToolTipButton } from \"components/base/Button/ToolTipButton\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { CreateJiraTaskButton } from \"components/base/Button/CreateJiraTaskButton\";\nimport RequestJiraModal from \"views/Workspace/RequestJiraModal\";\nimport { SQLDiffSideView } from \"../SQLDiffModal/SQLDiffSideView\";\n\nconst ButtonCell = styled(Cell)`\n &:last-child {\n text-align: left;\n }\n padding-left: 11px;\n height: 9px;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: flex-start;\n gap: 10px;\n`;\n\nexport const LeftFieldCol = styled.div`\n width: 470px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nexport const QueryDetailPage: React.FC = () => {\n const { isInternal } = useConfig();\n const { query, push, location } = useRouter<{ queryId: string; lang?: string }>(); // 读取lang查询参数\n const { locale } = useIntl();\n // 优先使用 lang 查询参数来确定语言\n const isEn = query.lang ? query.lang === \"en\" : locale === \"en\";\n const { data: details } = useGetStatementDetail(query.queryId);\n const { data: analysis } = useGetAnalysis(details.analysisId);\n const { detailMarkdown, detailMarkdownZh } = details;\n const content = isEn ? detailMarkdown : isNotBlank(detailMarkdownZh) ? detailMarkdownZh : detailMarkdown;\n const [isOpenRequestModal, toggleOpenRequestModal] = useToggle(false);\n\n const summary = analysis.analysisName + \"-Tuning Details for \" + details.statementName + \" [by PawSQL]\";\n\n const [openDiff, setOpenDiff] = useToggle(false);\n let contentBefore = \"\";\n let contentAfter = \"\";\n\n let sqls: string[] = [];\n if (details.rewrittenQuery) {\n details.rewrittenQuery.forEach((item) => {\n const temp = JSON.parse(item.rewrittenQueriesStr) as Array;\n sqls = sqls.concat(temp);\n });\n\n contentBefore += details.stmtText;\n if (sqls && sqls.length > 0) {\n // todo 这里是否要把所有重写的sql都展示,因为有重复的\n // sqls.map((item, index) => {\n // contentBefore += \"-- original sql \\n\" + stmtText + \"\\n\\n\";\n // contentAfter += \"-- rewritten sql \" + (index + 1) + \"\\n\" + item + \"\\n\\n\";\n // });\n\n contentAfter += sqls[0];\n }\n }\n\n const showDiffButton = isNotBlank(contentAfter);\n\n const showBeforeExplainBtn =\n !!details.validationDetails &&\n details.validationDetails.beforePlan &&\n getValidateFlagByDefinitionId(analysis.workspaceDefinitionId) &&\n !!details.validationDetails &&\n !!details.validationDetails.beforePlan &&\n !details.validationDetails.beforePlan.includes(\"Predicate Information (identified by plan id)\"); //暂时排除dws生成的执行计划\n\n const showAfterExplainBtn =\n !!details.validationDetails &&\n details.validationDetails.afterPlan &&\n getValidateFlagByDefinitionId(analysis.workspaceDefinitionId) &&\n !!details.validationDetails &&\n !!details.validationDetails.afterPlan &&\n !details.validationDetails.afterPlan.includes(\"Predicate Information (identified by plan id)\"); //暂时排除dws生成的执行计划\n\n return (\n \n }\n endComponent={\n \n \n {showDiffButton && (\n }\n onClick={() => {\n setOpenDiff(true);\n }}\n icon={faExchangeAlt}\n />\n )}\n {(showBeforeExplainBtn || showAfterExplainBtn) && (\n }\n onClick={() => {\n push(`${RoutePaths.Static}${RoutePaths.DiffExplain}/${details.stmtId}`, {\n state: {\n ...(location.state as Record),\n showAfterExplainBtn: showAfterExplainBtn,\n },\n });\n }}\n icon={faChartSimple}\n />\n )}\n {!isInternal && (\n {\n toggleOpenRequestModal(true);\n }}\n >\n )}\n {!isInternal && isOpenRequestModal && (\n \n )}\n {openDiff && (\n {\n setOpenDiff(false);\n }}\n contentBefore={contentBefore}\n contentAfter={contentAfter}\n rewriteRules={details.rewrittenQuery}\n />\n )}\n \n \n }\n />\n \n \n );\n};\n","import { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\n\nimport {\n CronConfigUpdate,\n updateSlowQueryRemark,\n getSlowQuery,\n listSlowQueries,\n updateCronConfig,\n RemarkUpdate,\n getSlowQueryDetails,\n // PageController,\n // listSlowQueriesWithPage,\n manualCollect,\n getDatabaseList,\n getPeriodData,\n getSqlTypeList,\n getShardList,\n getStatusList,\n getAvgTimeRankList,\n SlowQueryChartRequestBody,\n} from \"../../request/PawsqlClient\";\n\nexport class SlowQueryService extends PawsqlRequestService {\n public list(dbinstanceId: string) {\n return listSlowQueries({ id: dbinstanceId }, this.requestOptions);\n }\n public getStatusList(request: SlowQueryChartRequestBody) {\n return getStatusList(request, this.requestOptions);\n }\n public getAvgTimeRankList(request: SlowQueryChartRequestBody) {\n return getAvgTimeRankList(request, this.requestOptions);\n }\n\n public getDatabaseList(request: SlowQueryChartRequestBody) {\n return getDatabaseList(request, this.requestOptions);\n }\n public getSqlTypeList(request: SlowQueryChartRequestBody) {\n return getSqlTypeList(request, this.requestOptions);\n }\n public getShardList(request: SlowQueryChartRequestBody) {\n return getShardList(request, this.requestOptions);\n }\n\n // public listWithPage(\n // dbinstanceId: string,\n // searchQuery: string,\n // statusList: string[],\n // databaseList: string[],\n // sqlTypeList: string[],\n // isBusiness: boolean,\n // pageController: PageController\n // ) {\n // return listSlowQueriesWithPage(\n // {\n // dbinstanceId: dbinstanceId,\n // searchQuery: searchQuery,\n // statusList: statusList,\n // isBusiness: isBusiness,\n // databaseList: databaseList,\n // sqlTypeList: sqlTypeList,\n // pagination: pageController,\n // },\n // this.requestOptions\n // );\n // }\n\n public get(slowQueryId: string) {\n return getSlowQuery({ id: slowQueryId }, this.requestOptions);\n }\n\n public getDetails(slowQueryId: string) {\n return getSlowQueryDetails({ id: slowQueryId }, this.requestOptions);\n }\n\n public getPeriodData(dbinstanceId: string, onlyBusiness?: boolean) {\n return getPeriodData({ id: dbinstanceId, onlyBusiness: onlyBusiness }, this.requestOptions);\n }\n public updateCronConfig(configUpdate: CronConfigUpdate) {\n return updateCronConfig(configUpdate, this.requestOptions);\n }\n\n public manualCollect(id: string, jobType: string) {\n return manualCollect({ dbinstanceId: id, jobType: jobType }, this.requestOptions);\n }\n\n public updateSlowQueryRemark(remarkUpdate: RemarkUpdate) {\n return updateSlowQueryRemark(remarkUpdate, this.requestOptions);\n }\n}\n","import { useMutation, useQueryClient } from \"react-query\";\n\nimport { useConfig } from \"config\";\nimport { SlowQueryService } from \"core/domain/workspace/SlowQueriesService\";\nimport { useInitService } from \"services/useInitService\";\n\nimport {\n JobRequestBody,\n CronConfigUpdate,\n PageContent,\n // PageController,\n RemarkUpdate,\n SlowQueryRead,\n SlowQueryChartRequestBody,\n} from \"../../core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\n\nexport const slowQueriesKeys = {\n all: [SCOPE_USER, \"slowQueries\"] as const,\n lists: () => [...slowQueriesKeys.all, \"list\"] as const,\n list: (filters: string) => [...slowQueriesKeys.lists(), { filters }] as const,\n detail: (slowQueryId: string) => [...slowQueriesKeys.all, \"details\", slowQueryId] as const,\n details: (slowQueryId: string) => [...slowQueriesKeys.all, \"detailsInfo\", slowQueryId] as const,\n periodData: (dbinstanceId: string, onlyBusiness?: boolean) =>\n [...slowQueriesKeys.all, \"periodData\", dbinstanceId, onlyBusiness] as const,\n dropDown: [SCOPE_USER, \"dropDown\"] as const,\n databaseList: (request: SlowQueryChartRequestBody) => [...slowQueriesKeys.dropDown, \"databaseList\", request] as const,\n statusList: (request: SlowQueryChartRequestBody) => [...slowQueriesKeys.dropDown, \"statusList\", request] as const,\n avgTimeRankList: (request: SlowQueryChartRequestBody) =>\n [...slowQueriesKeys.dropDown, \"avgTimeRankList\", request] as const,\n sqlTypeList: (request: SlowQueryChartRequestBody) => [...slowQueriesKeys.dropDown, \"sqlTypeList\", request] as const,\n shardList: (request: SlowQueryChartRequestBody) => [...slowQueriesKeys.dropDown, \"shardList\", request] as const,\n};\n\nexport function useSlowQueryService() {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n return useInitService(() => new SlowQueryService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);\n}\n\n// const useSlowQueryList = (dbinstanceId: string): SlowQueryReadList => {\n// const service = useSlowQueryService();\n// return useSuspenseQuery(slowQueriesKeys.lists(), () => service.list(dbinstanceId));\n// };\n\n// const useSlowQueryListWithPage = (\n// dbinstanceId: string,\n// searchQuery: string,\n// statusList: string[],\n// databaseList: string[],\n// sqlTypeList: string[],\n// isBusiness: boolean,\n// pageController: PageController\n// ): PageContent => {\n// const service = useSlowQueryService();\n// return useSuspenseQuery(slowQueriesKeys.lists(), () =>\n// service.listWithPage(dbinstanceId, searchQuery, statusList, databaseList, sqlTypeList, isBusiness, pageController)\n// );\n// };\n\n// const useGetSlowQuery = (slowQueryId: string) => {\n// const service = useSlowQueryService();\n// return useSuspenseQuery(slowQueriesKeys.detail(slowQueryId), () => service.get(slowQueryId));\n// };\n\nconst useGetStatusList = (request: SlowQueryChartRequestBody) => {\n const service = useSlowQueryService();\n return useSuspenseQuery(slowQueriesKeys.statusList(request), () => service.getStatusList(request));\n};\n\nconst useGetAvgTimeRankList = (request: SlowQueryChartRequestBody) => {\n const service = useSlowQueryService();\n return useSuspenseQuery(slowQueriesKeys.avgTimeRankList(request), () => service.getAvgTimeRankList(request));\n};\n\nconst useGetDatabaseList = (request: SlowQueryChartRequestBody) => {\n const service = useSlowQueryService();\n return useSuspenseQuery(slowQueriesKeys.databaseList(request), () => service.getDatabaseList(request));\n};\n\nconst useGetShardList = (request: SlowQueryChartRequestBody) => {\n const service = useSlowQueryService();\n return useSuspenseQuery(slowQueriesKeys.shardList(request), () => service.getShardList(request));\n};\nconst useGetSqlTypeList = (request: SlowQueryChartRequestBody) => {\n const service = useSlowQueryService();\n return useSuspenseQuery(slowQueriesKeys.sqlTypeList(request), () => service.getSqlTypeList(request));\n};\n\nconst useGetSlowQueryDetails = (slowQueryId: string) => {\n const service = useSlowQueryService();\n return useSuspenseQuery(slowQueriesKeys.details(slowQueryId), () => service.getDetails(slowQueryId));\n};\n\nconst useGetPeriodData = (dbinstanceId: string, onlyBusiness?: boolean) => {\n const service = useSlowQueryService();\n return useSuspenseQuery(slowQueriesKeys.periodData(dbinstanceId, onlyBusiness), () =>\n service.getPeriodData(dbinstanceId ?? \"\", onlyBusiness)\n );\n};\n\nconst useUpdateCronConfig = () => {\n const service = useSlowQueryService();\n\n return useMutation((values: CronConfigUpdate) => {\n return service.updateCronConfig(values);\n });\n};\n\nconst useManualCollect = () => {\n const service = useSlowQueryService();\n\n return useMutation((values: JobRequestBody) => {\n return service.manualCollect(values.dbinstanceId, values.jobType);\n });\n};\n\nconst useUpdateSlowQueryRemark = () => {\n const service = useSlowQueryService();\n const queryClient = useQueryClient();\n\n return useMutation(\n (values: RemarkUpdate) => {\n return service.updateSlowQueryRemark(values);\n },\n {\n onSuccess: ({ data }, ctx) => {\n if (data) {\n queryClient.setQueryData(slowQueriesKeys.lists(), (lst: PageContent | undefined) => ({\n size: lst?.size ?? 0,\n current: lst?.current ?? 0,\n total: lst?.total ?? 0,\n records:\n lst?.records.map((item) => {\n if (item.slowQueryId === ctx.slowQueryId) {\n return data;\n } else {\n return item;\n }\n }) ?? [],\n }));\n }\n },\n }\n );\n};\n\nexport {\n // useSlowQueryListWithPage,\n // useSlowQueryList,\n useGetSlowQueryDetails,\n // useGetSlowQuery,\n useUpdateCronConfig,\n useUpdateSlowQueryRemark,\n useManualCollect,\n useGetDatabaseList,\n useGetPeriodData,\n useGetSqlTypeList,\n useGetShardList,\n useGetStatusList,\n useGetAvgTimeRankList,\n};\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Link } from \"components/Link\";\n\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useUserService } from \"services/users/UsersService\";\nimport useRouter from \"hooks/useRouter\";\n\nexport enum CreditStatus {\n \"POSITIVE\" = \"positive\",\n \"NEGATIVE_WITHIN_GRACE_PERIOD\" = \"negative_within_grace_period\",\n \"NEGATIVE_BEYOND_GRACE_PERIOD\" = \"negative_beyond_grace_period\",\n \"NEGATIVE_MAX_THRESHOLD\" = \"negative_max_threshold\",\n}\n\nconst Container = styled.div<{ errorType?: string }>`\n height: 30px;\n width: 100%;\n background: ${({ errorType, theme }) => (errorType === \"credits\" ? theme.redColor : theme.warningColor)};\n color: ${({ theme }) => theme.blackColor};\n text-align: center;\n // position: fixed;\n z-index: 3;\n font-size: 12px;\n line-height: 30px;\n`;\nconst CreditsLink = styled(Link)`\n color: ${({ theme }) => theme.blackColor};\n`;\n\ninterface AlertBannerProps {\n alertType: string;\n id: CreditStatus | string;\n}\n\nexport const AlertBanner: React.FC = ({ alertType: errorType, id }) => {\n const { pathname } = useRouter();\n\n return (\n \n {errorType === \"credits\" ? (\n (\n {content}\n ),\n }}\n />\n ) : (\n \n )}\n \n );\n};\n\nexport const AlertBannerWithLogout: React.FC = ({ alertType: errorType, id }) => {\n const { setIsLogin } = useUserService();\n\n return (\n \n {errorType === \"credits\" ? (\n (\n {\n localStorage.removeItem(\"username\");\n localStorage.removeItem(\"token\");\n setIsLogin(false);\n }}\n to={RoutePaths.Signup}\n >\n {content}\n \n ),\n }}\n />\n ) : (\n \n )}\n \n );\n};\n","import React, { useContext, useMemo } from \"react\";\n\nimport { SlowQueryDetail } from \"core/request/PawsqlClient\";\n\ninterface Context {\n details: SlowQueryDetail;\n}\n\nconst SlowQueryDetailContext = React.createContext(null);\n\nconst useSlowQueryDetailState = (): Context => {\n const SlowQueryDetailState = useContext(SlowQueryDetailContext);\n if (!SlowQueryDetailState) {\n throw new Error(\"useSlowQueryDetailState should be used within SlowQueryDetailProvider\");\n }\n return SlowQueryDetailState;\n};\n\nconst SlowQueryDetailProvider: React.FC<{\n details: SlowQueryDetail;\n}> = ({ details, children }) => {\n const ctx = useMemo(() => {\n return {\n details,\n };\n }, [details]);\n\n return {children};\n};\n\nexport { useSlowQueryDetailState, SlowQueryDetailProvider };\n","import React from \"react\";\nimport { useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { useGetSlowQueryDetails } from \"hooks/services/useSlowQueryHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { SlowQueryDetailProvider } from \"pages/AnalysisPage/pages/AnalysisItemPage/components/SlowQueryDetailContext\";\nimport { StaticMDView } from \"pages/AnalysisPage/pages/AnalysisItemPage/components/StaticMDView\";\nimport { isNotBlank } from \"utils/common\";\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: flex-start;\n gap: 10px;\n`;\n\nexport const LeftFieldCol = styled.div`\n width: 470px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nexport const SlowQueryDetailPage: React.FC = () => {\n const { query } = useRouter<{ slowQueryId: string }>();\n const { locale } = useIntl();\n const isEn = locale === \"en\";\n const { data: details } = useGetSlowQueryDetails(query.slowQueryId);\n const { detailMarkdown, detailMarkdownZh } = details;\n const content = isEn ? detailMarkdown : isNotBlank(detailMarkdownZh) ? detailMarkdownZh : detailMarkdown;\n return (\n \n \n \n );\n};\n","export const fetchDocumentation = async (url: string): Promise => {\n const response = await fetch(url, {\n method: \"GET\",\n });\n\n return await response.text();\n};\n","import { UseQueryResult, useQuery } from \"react-query\";\n\nimport { useConfig } from \"config\";\nimport { fetchDocumentation } from \"core/domain/Documentation\";\n\ntype UseDocumentationResult = UseQueryResult;\n\nexport const documentationKeys = {\n text: (integrationUrl: string) => [\"document\", integrationUrl] as const,\n};\n\nexport const useDocumentation = (documentationUrl: string): UseDocumentationResult => {\n const { apiUrl } = useConfig();\n const url = apiUrl + \"/v1/static/\" + documentationUrl;\n\n return useQuery(documentationKeys.text(documentationUrl), () => fetchDocumentation(url), {\n enabled: !!documentationUrl,\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n retry: false,\n });\n};\n","import { createContext, useCallback, useContext, useEffect, useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\n\n// @ts-expect-error Default value provided at implementation\nconst DocumentationPanelContext = createContext>();\n\nexport const useDocumentationPanelState = () => {\n const [documentationPanelOpen, setDocumentationPanelOpen] = useState(false);\n const [documentationUrl, setDocumentationUrlState] = useState(\"\");\n const [documentTitle, setDocumentTitle] = useState();\n\n /* Ad blockers prevent the Google Ads docs .md file from rendering. Because these URLs are\n * standardized, we work around this without changing the main file URL by:\n * 1. Changing the name of the .md in the Gradle build\n * a. the docs we render aren't actually fetching from our website, they're compiled with our build\n * b. when running on localhost, we fetch them with our proxy, so there is an additional piece in setupProxy.js for that case\n * 2. Changing the URL here to match the renamed .md file\n */\n\n const setDocumentationUrl = useCallback((url: string) => {\n setDocumentationUrlState(url.replace(\"google-ads\", \"gglad\"));\n }, []);\n\n return {\n documentationPanelOpen,\n setDocumentationPanelOpen,\n documentationUrl,\n setDocumentationUrl,\n documentTitle,\n setDocumentTitle,\n };\n};\n\nexport const useCloseDocumentationPanelEffect = () => {\n const { setDocumentationPanelOpen } = useDocumentationPanelState();\n useEffect(() => {\n return setDocumentationPanelOpen(false);\n }, [setDocumentationPanelOpen]);\n};\n\nexport const useDocumentationPanelContext = () => useContext(DocumentationPanelContext);\n\nexport const DocumentationPanelProvider: React.FC = ({ children }) => {\n return (\n \n {children}\n \n );\n};\n","import type { Url } from \"url\";\n\nimport { useMemo } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { useIntl } from \"react-intl\";\nimport { PluggableList } from \"react-markdown/lib/react-markdown\";\nimport { ReflexElement } from \"react-reflex\";\n// import { useLocation } from \"react-router-dom\";\n// import { useUpdateEffect } from \"react-use\";\nimport rehypeSlug from \"rehype-slug\";\nimport urls from \"rehype-urls\";\nimport styled from \"styled-components\";\n\nimport { LoadingPage, PageTitle } from \"components\";\nimport Markdown from \"components/Markdown/Markdown\";\n\nimport { useConfig } from \"config\";\nimport { useDocumentation } from \"hooks/services/useDocumentation\";\nimport { useDocumentationPanelContext } from \"views/Workspace/DocumentationLayout/DocumentationPanelContext\";\n\nexport const DocumentationContainer = styled.div`\n padding: 0px 0px 20px;\n background-color: #ffffff;\n min-height: 100vh;\n`;\n\nexport const DocumentationContent = styled(Markdown)`\n padding: 0px 35px 20px;\n`;\n\nexport const DocumentationPanel: React.FC = () => {\n const config = useConfig();\n\n const { documentationUrl, documentTitle } = useDocumentationPanelContext();\n const { locale } = useIntl();\n const { data: docs, isLoading } = useDocumentation(locale + \"/\" + documentationUrl);\n const { formatMessage } = useIntl();\n // @ts-expect-error rehype-slug currently has type conflicts due to duplicate vfile dependencies\n const urlReplacerPlugin: PluggableList = useMemo(() => {\n const sanitizeLinks = (url: Url, element: Element) => {\n // Relative URLs pointing to another place within the documentation.\n if (url.path?.startsWith(\"../../\")) {\n if (element.tagName === \"img\") {\n // In images replace relative URLs with links to our bundled assets\n return url.path.replace(\"../../\", `${config.integrationUrl}/`);\n } else {\n // In links replace with a link to the external documentation instead\n // The external path is the markdown URL without the \"../../\" prefix and the .md extension\n const docPath = url.path.replace(/^\\.\\.\\/\\.\\.\\/(.*?)(\\.md)?$/, \"$1\");\n return `${config.links.docsLink(locale)}/${docPath}`;\n }\n }\n return url.href;\n };\n return [[urls, sanitizeLinks], [rehypeSlug]];\n }, [config.integrationUrl, config.links, locale]);\n\n // const location = useLocation();\n\n // useUpdateEffect(() => {\n // setDocumentationPanelOpen(false);\n // }, [setDocumentationPanelOpen, location.pathname]);\n\n return isLoading || documentationUrl === \"\" ? (\n \n ) : docs ? (\n \n \n {!docs.includes(\"\") ? (\n \n ) : (\n \n )}\n \n ) : (\n \n \n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"leftPanelStyle\":\"DocumentationLayout_leftPanelStyle__mJYez\",\"darkOverlay\":\"DocumentationLayout_darkOverlay__v-jjw\",\"container\":\"DocumentationLayout_container__BD9Rj\",\"noScroll\":\"DocumentationLayout_noScroll__Roz5M\",\"fullHeight\":\"DocumentationLayout_fullHeight__-ibZw\",\"scroll\":\"DocumentationLayout_scroll__nLK32\",\"lightOverlay\":\"DocumentationLayout_lightOverlay__-ABHU\",\"rotatedHeader\":\"DocumentationLayout_rotatedHeader__CRMLj\",\"panelGrabber\":\"DocumentationLayout_panelGrabber__queDe\",\"grabberHandleIcon\":\"DocumentationLayout_grabberHandleIcon__rrWIa\"};","import { faGripLinesVertical } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport classNames from \"classnames\";\nimport React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { ReflexContainer, ReflexElement, ReflexSplitter } from \"react-reflex\";\nimport { useWindowSize } from \"react-use\";\n\nimport { DocumentationPanel } from \"components/DocumentationPanel\";\n\nimport styles from \"./DocumentationLayout.module.scss\";\nimport { useDocumentationPanelContext } from \"./DocumentationPanelContext\";\n\ninterface PanelContainerProps {\n dimensions?: {\n width: number;\n height: number;\n };\n}\n\nconst LeftPanelContainer: React.FC> = ({ children, dimensions }) => {\n const width = dimensions?.width ?? 0;\n const screenWidth = useWindowSize().width;\n\n return (\n <>\n {screenWidth > 500 && width < 450 && (\n
\n

\n \n

\n
\n )}\n 550,\n })}\n >\n {children}\n \n \n );\n};\n\nconst RightPanelContainer: React.FC> = ({ children, dimensions }) => {\n const width = dimensions?.width ?? 0;\n\n return (\n <>\n {width < 350 ? (\n
\n

Setup Guide

\n
\n ) : (\n
{children}
\n )}\n \n );\n};\n//NOTE: ReflexElement will not load its contents if wrapped in an empty jsx tag along with ReflexSplitter. They must be evaluated/rendered separately.\n\nexport const DocumentationLayout: React.FC = ({ children }) => {\n const { documentationPanelOpen } = useDocumentationPanelContext();\n const screenWidth = useWindowSize().width;\n\n return (\n \n \n {children}\n \n {documentationPanelOpen && (\n \n
\n \n
\n
\n )}\n {screenWidth > 500 && documentationPanelOpen && (\n \n \n \n \n \n )}\n
\n );\n};\n","import { DocumentationLayout } from \"./DocumentationLayout\";\nimport { DocumentationPanelProvider } from \"./DocumentationPanelContext\";\n\nexport const DocumentationWrapper: React.FC = ({ children }) => {\n return (\n \n {children}\n \n );\n};\n","// import { faArrowLeft } from \"@fortawesome/free-solid-svg-icons\";\n// import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { Link } from \"react-router-dom\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n\nimport { useI18nContext } from \"core/i18n\";\n// import { useConfig } from \"config\";\nimport { RoutePaths } from \"pages/routePaths\";\n// import LanguageChangeIconBlack from \"views/layout/SideBar/components/LanguageChangeIconBlack\";\n\nconst Links = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n`;\n\nconst LanguageChangeButton = styled(Button)`\n font-style: normal;\n font-weight: bold;\n color: ${({ theme }) => theme.BackLink};\n\n &:hover {\n opacity: 0.8;\n }\n`;\n\n// const MenuItem = styled(NavLink)`\n// color: ${({ theme }) => theme.greyColor30};\n// width: 100%;\n// cursor: pointer;\n// border-radius: 4px;\n// height: 70px;\n// display: flex;\n// flex-direction: column;\n// justify-content: center;\n// align-items: center;\n// font-weight: normal;\n// font-size: 12px;\n// line-height: 15px;\n// margin-top: 7px;\n// text-decoration: none;\n// position: relative;\n\n// &.active {\n// color: ${({ theme }) => theme.whiteColor};\n// background: ${({ theme }) => theme.primaryColor};\n// }\n// `;\n\nconst FormLink = styled.div`\n font-size: 11px;\n line-height: 13px;\n color: ${({ theme }) => theme.darkGreyColor};\n`;\n\nconst TextBlock = styled.div`\n padding: 0 9px;\n display: inline-block;\n`;\n\nexport const EndBlock = styled.div`\n flex: 1 0 0;\n display: flex;\n justify-content: flex-end;\n`;\n\ninterface HeaderProps {\n toLogin?: boolean;\n loginWithDemo: () => void;\n}\n\nconst Header: React.FC = ({ toLogin }) => {\n // const config = useConfig();\n const { changeLocal } = useI18nContext();\n return (\n \n {/* \n \n Back\n */}\n \n {/* */}\n \n \n \n \n {/* \n \n \n \n \n \n \n */}\n\n \n \n \n \n \n \n \n \n {/* */}\n \n \n \n );\n};\n\nexport default Header;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport Header from \"./Header\";\n\nconst MainBlock = styled.div`\n width: 100%;\n height: calc(100% - 100px);\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst FormContainer = styled.div`\n max-width: 409px;\n width: 100%;\n`;\n\nconst Logo = styled.img`\n margin-bottom: 37px;\n display: block;\n`;\n\nconst FormContent: React.FC<{ toLogin?: boolean; loginWithDemo: () => void }> = (props) => {\n return (\n <>\n
\n \n \n {/* */}\n \n {props.children}\n \n \n \n );\n};\n\nexport default FormContent;\n","import { Form as FormikForm } from \"formik\";\nimport styled from \"styled-components\";\n\nconst Form = styled(FormikForm)`\n margin-top: 42px;\n`;\n\nconst FieldItem = styled.div`\n margin-bottom: 21px;\n`;\n\nconst RowFieldItem = styled(FieldItem)`\n display: flex;\n flex-direction: row;\n\n & > div {\n flex: 1 0 0;\n margin-right: 14px;\n\n &:last-child {\n margin-right: 0;\n }\n }\n`;\n\nconst BottomBlock = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n margin-top: 20px;\n font-size: 11px;\n`;\n\nexport { Form, FieldItem, BottomBlock, RowFieldItem };\n","import styled from \"styled-components\";\n\nimport { H1 } from \"components\";\n\nexport const FormTitle = styled(H1)`\n color: ${({ theme }) => theme.redColor};\n`;\n","// import { AuthErrorCodes } from \"firebase/auth\";\nimport { Field, FieldProps, Formik } from \"formik\";\nimport React from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport * as yup from \"yup\";\n\nimport { LabeledInput, Link, LoadingButton } from \"components\";\n\nimport { useNotificationService } from \"hooks/services/NotificationOld/NotificationService\";\nimport useRouterHook from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useResetPasswordAction, useUserService } from \"services/users/UsersService\";\n\nimport { BottomBlock, FieldItem, Form } from \"../components/FormComponents\";\nimport { FormTitle } from \"../components/FormTitle\";\n\nconst ResetPasswordPageValidationSchema = yup.object().shape({\n newPassword: yup.string().required(\"form.empty.error\"),\n});\n\nconst ResetPasswordConfirmPage: React.FC = () => {\n const { mutateAsync: confirmPasswordReset } = useResetPasswordAction();\n const { registerNotification, unregisterNotificationById } = useNotificationService();\n const { push, query } = useRouterHook<{ token: string }>();\n const formatMessage = useIntl().formatMessage;\n const { setIsLogin } = useUserService();\n\n return (\n
\n \n \n \n {\n try {\n const result = await confirmPasswordReset({ token: query.token, newPassword: newPassword });\n if (result.data) {\n registerNotification({\n id: \"confirmResetPassword.success\",\n title: formatMessage({ id: \"confirmResetPassword.success\" }),\n isError: false,\n });\n setTimeout(() => {\n unregisterNotificationById(\"confirmResetPassword.success\");\n }, 3000);\n localStorage.removeItem(\"username\");\n localStorage.removeItem(\"token\");\n setIsLogin(false);\n push(RoutePaths.Login);\n } else {\n registerNotification({\n id: \"confirmResetPassword.error.default\",\n title: formatMessage({\n id: \"confirmResetPassword.error.default\",\n }),\n isError: true,\n });\n setTimeout(() => {\n unregisterNotificationById(\"confirmResetPassword.error.default\");\n }, 3000);\n }\n } catch (err) {\n registerNotification({\n id: err.message,\n title: formatMessage({\n id: err.message === \"login.resetPassword.invalid.token\" ? err.message : \"login.unknownError\",\n }),\n isError: true,\n });\n setTimeout(() => {\n unregisterNotificationById(\n err.message === \"login.resetPassword.invalid.token\" ? err.message : \"login.unknownError\"\n );\n }, 3000);\n }\n }}\n validateOnBlur={true}\n validateOnChange={false}\n >\n {({ isSubmitting }) => (\n
\n \n \n {({ field, meta }: FieldProps) => (\n }\n type=\"password\"\n error={!!meta.error && meta.touched}\n message={meta.touched && meta.error && formatMessage({ id: meta.error })}\n />\n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n )}\n \n
\n );\n};\n\nexport { ResetPasswordConfirmPage };\n","import HeadTitle from \"./HeadTitle\";\n\nexport default HeadTitle;\n","import useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport React from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { useIntl } from \"react-intl\";\n\ninterface FormattedHeadTitle {\n id: string;\n values?: Record;\n}\n\ninterface StringHeadTitle {\n title: string;\n}\n\ntype HeadTitleDefinition = FormattedHeadTitle | StringHeadTitle;\n\nconst isStringTitle = (v: HeadTitleDefinition): v is StringHeadTitle => {\n return \"title\" in v;\n};\n\ninterface IProps {\n titles: HeadTitleDefinition[];\n}\n\n/**\n * Titles defined by {@link HeadTitleDefinition} will be\n * chained together with the {@link SEPARATOR}.\n */\nconst HeadTitle: React.FC = ({ titles }) => {\n const intl = useIntl();\n const { pathname } = useRouter();\n const PAWSQL = intl.formatMessage({ id: \"landing.page.subtitle\" });\n const SEPARATOR = \"|\";\n let platformTitle = PAWSQL;\n\n if (pathname.startsWith(RoutePaths.App)) {\n platformTitle = intl.formatMessage({ id: \"landing.page.app.subtitle\" });\n } else if (pathname.startsWith(RoutePaths.Audit)) {\n platformTitle = intl.formatMessage({ id: \"landing.page.audit.subtitle\" });\n } else if (pathname.startsWith(RoutePaths.Ppt)) {\n platformTitle = intl.formatMessage({ id: \"landing.page.ppt.subtitle\" });\n } else {\n platformTitle = intl.formatMessage({ id: \"landing.page.subtitle\" });\n }\n\n const getTitle = (d: HeadTitleDefinition): string => {\n return isStringTitle(d) ? d.title : intl.formatMessage({ id: d.id }, d.values);\n };\n\n const headTitle = titles.map(getTitle).join(` ${SEPARATOR} `);\n return (\n \n {headTitle}\n \n );\n};\n\nexport default HeadTitle;\n","import { Field, FieldProps, Formik } from \"formik\";\nimport React, { useEffect } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\nimport * as yup from \"yup\";\n\nimport { LabeledInput, Link, LoadingButton } from \"components\";\nimport HeadTitle from \"components/HeadTitle\";\n\nimport { useConfig } from \"config\";\n// import useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useLoginUser, userKeys } from \"services/users/UsersService\";\nimport { useDocumentationPanelContext } from \"views/Workspace/DocumentationLayout/DocumentationPanelContext\";\n\nimport { BottomBlock, FieldItem, Form } from \"../components/FormComponents\";\nimport { FormTitle } from \"../components/FormTitle\";\nimport { useQueryClient } from \"react-query\";\n\nconst LoginPageValidationSchema = yup.object().shape({\n email: yup.string().email(\"form.email.error\").required(\"form.empty.error\"),\n password: yup.string().required(\"form.empty.error\"),\n});\n\nconst EndBlock = styled.div`\n flex: 1 0 0;\n display: flex;\n justify-content: flex-end;\n`;\n\ninterface LoginPageProp {\n setLogin: () => void;\n}\n\nconst LoginPage: React.FC = (props) => {\n const formatMessage = useIntl().formatMessage;\n const { isInternal } = useConfig();\n const queryClient = useQueryClient();\n\n const { mutateAsync: login, isLoading } = useLoginUser();\n const { documentationPanelOpen, setDocumentationUrl, setDocumentationPanelOpen, setDocumentTitle } =\n useDocumentationPanelContext();\n // const { query, replace } = useRouter();\n useEffect(() => {\n setDocumentationPanelOpen(true);\n setDocumentTitle();\n setDocumentationUrl(\"Login.md\");\n }, [documentationPanelOpen, setDocumentationPanelOpen, setDocumentTitle, setDocumentationUrl]);\n\n return (\n
\n \n \n \n \n\n {\n login(values)\n .then((result) => {\n if (result.data) {\n queryClient.invalidateQueries(userKeys.currentUser());\n\n localStorage.setItem(\"username\", values.email);\n localStorage.setItem(\"token\", result.data.token);\n // replace(query.from ?? \"/\");\n props.setLogin();\n const urlParams = new URLSearchParams(window.location.search);\n const redirectPath = urlParams.get(\"from\");\n if (redirectPath) {\n // 如果存在重定向路径,那么跳转到该路径\n window.location.href = decodeURIComponent(redirectPath);\n }\n }\n })\n .catch((err) => {\n console.log(err);\n console.log(err.message);\n\n switch (err.message) {\n case \"unactive\": {\n setFieldError(\"email\", \"unactive\");\n break;\n }\n case \"nonexistent\": {\n setFieldError(\"email\", \"nonexistent\");\n break;\n }\n case \"incorrect\": {\n setFieldError(\"email\", \"incorrect\");\n break;\n }\n default:\n setFieldError(\"email\", \"server.error\");\n }\n });\n }}\n validateOnBlur\n validateOnChange={false}\n >\n {() => (\n
\n \n \n {({ field, meta }: FieldProps) => (\n }\n placeholder={formatMessage({\n id: \"login.yourEmail.placeholder\",\n })}\n type=\"text\"\n error={!!meta.error && meta.touched}\n message={meta.touched && meta.error && formatMessage({ id: meta.error })}\n />\n )}\n \n \n \n \n {({ field, meta }: FieldProps) => (\n }\n placeholder={formatMessage({\n id: \"login.yourPassword.placeholder\",\n })}\n type=\"password\"\n error={!!meta.error && meta.touched}\n message={meta.touched && meta.error && formatMessage({ id: meta.error })}\n />\n )}\n \n \n \n <>\n {!isInternal && (\n \n \n \n )}\n \n \n \n \n \n \n \n
\n )}\n \n
\n );\n};\n\nexport default LoginPage;\n","import { Field, FieldProps, Formik } from \"formik\";\nimport React from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport * as yup from \"yup\";\n\nimport { LoadingButton, LabeledInput, Link } from \"components\";\nimport HeadTitle from \"components/HeadTitle\";\n\nimport { useNotificationService } from \"hooks/services/NotificationOld/NotificationService\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useResetPassword } from \"services/users/UsersService\";\n\nimport { BottomBlock, FieldItem, Form } from \"../components/FormComponents\";\nimport { FormTitle } from \"../components/FormTitle\";\n\nconst ResetPasswordPageValidationSchema = yup.object().shape({\n email: yup.string().email(\"form.email.error\").required(\"form.empty.error\"),\n});\n\nconst ResetPasswordPage: React.FC = () => {\n // const { requirePasswordReset } = useAuthService();\n const { mutateAsync: requirePasswordReset } = useResetPassword();\n const { registerNotification } = useNotificationService();\n const { formatMessage } = useIntl();\n\n return (\n
\n \n \n \n \n\n {\n try {\n const result = await requirePasswordReset({ email: email });\n if (result.data) {\n registerNotification({\n id: \"resetPassword.emailSent\",\n title: formatMessage({ id: \"login.resetPassword.emailSent\" }),\n isError: false,\n });\n } else {\n registerNotification({\n id: \"resetPassword.emailSent.error\",\n title: formatMessage({ id: \"login.resetPassword.emailSent.error\" }),\n isError: true,\n });\n }\n } catch (err) {\n err.message.includes(\"user-not-found\")\n ? FormikBag.setFieldError(\"email\", \"login.yourEmail.notFound\")\n : FormikBag.setFieldError(\"email\", \"login.unknownError\");\n }\n }}\n validateOnBlur={true}\n validateOnChange={false}\n >\n {({ isSubmitting }) => (\n
\n \n \n {({ field, meta }: FieldProps) => (\n }\n placeholder={formatMessage({\n id: \"login.yourEmail.placeholder\",\n })}\n type=\"text\"\n error={!!meta.error && meta.touched}\n message={meta.touched && meta.error && formatMessage({ id: meta.error })}\n />\n )}\n \n \n \n \n \n \n \n \n \n \n
\n )}\n \n
\n );\n};\n\nexport default ResetPasswordPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"heading\":\"heading_heading__lL4kq\",\"sm\":\"heading_sm__+4XFn\",\"md\":\"heading_md__r-1Mb\",\"lg\":\"heading_lg__MQ7cF\",\"xl\":\"heading_xl__hJLs8\",\"centered\":\"heading_centered__GsK5i\"};","// extracted by mini-css-extract-plugin\nexport default {\"text\":\"text_text__mXRQr\",\"sm\":\"text_sm__Y8u2P\",\"md\":\"text_md__VYqcS\",\"lg\":\"text_lg__m10fl\",\"centered\":\"text_centered__TyK73\",\"bold\":\"text_bold__ddxFT\"};","import classNames from \"classnames\";\nimport React from \"react\";\n\nimport headingStyles from \"./heading.module.scss\";\nimport textStyles from \"./text.module.scss\";\n\ntype TextSize = \"sm\" | \"md\" | \"lg\";\ntype HeadingSize = TextSize | \"xl\";\ntype TextElementType = \"p\" | \"span\" | \"div\";\ntype HeadingElementType = \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n\ninterface BaseProps {\n className?: string;\n centered?: boolean;\n}\n\ninterface TextProps extends BaseProps {\n as?: TextElementType;\n size?: TextSize;\n bold?: boolean;\n}\n\ninterface HeadingProps extends BaseProps {\n as: HeadingElementType;\n size?: HeadingSize;\n}\n\nconst getTextClassNames = ({ size, centered, bold }: Required>) => {\n const sizes: Record = {\n sm: textStyles.sm,\n md: textStyles.md,\n lg: textStyles.lg,\n };\n\n return classNames(textStyles.text, sizes[size], centered && textStyles.centered, bold && textStyles.bold);\n};\n\nconst getHeadingClassNames = ({ size, centered }: Required>) => {\n const sizes: Record = {\n sm: headingStyles.sm,\n md: headingStyles.md,\n lg: headingStyles.lg,\n xl: headingStyles.xl,\n };\n\n return classNames(headingStyles.heading, sizes[size], centered && headingStyles.centered);\n};\n\nconst isHeadingType = (props: TextProps | HeadingProps): props is HeadingProps => {\n return props.as ? /^h[0-6]$/.test(props.as) : false;\n};\n\nexport const Text: React.FC> = React.memo((props) => {\n const isHeading = isHeadingType(props);\n const { as = \"p\", centered = false, children, className: classNameProp, ...remainingProps } = props;\n\n const className = classNames(\n isHeading\n ? getHeadingClassNames({ centered, size: props.size ?? \"md\" })\n : getTextClassNames({ centered, size: props.size ?? \"md\", bold: props.bold ?? false }),\n classNameProp\n );\n\n return React.createElement(as, {\n ...remainingProps,\n className,\n children,\n });\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"SignupPage_title__Q8+tU\",\"highlight\":\"SignupPage_highlight__ywfTY\"};","import { Field, FieldProps, Formik } from \"formik\";\nimport React, { useEffect, useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\nimport * as yup from \"yup\";\n\nimport { LabeledInput, LoadingButton } from \"components\";\nimport HeadTitle from \"components/HeadTitle\";\n// import { Close } from \"components/SideView/styled\";\nimport { Text } from \"components/Text\";\n\n// import { useConfig } from \"config\";\nimport useRouter from \"hooks/useRouter\";\n// import MyVideoItem from \"pages/OnboardingPage/components/VideoItem/MyVideoItem\";\nimport { useSignupUser } from \"services/users/UsersService\";\nimport { useDocumentationPanelContext } from \"views/Workspace/DocumentationLayout/DocumentationPanelContext\";\n// import SignupSuccess from \"views/Workspace/ServiceForm/components/SignupSuccess\";\nimport { useNotificationService } from \"hooks/services/NotificationOld/NotificationService\";\n\nimport { BottomBlock, FieldItem, Form, RowFieldItem } from \"../components/FormComponents\";\n// import SpecialBlock from \"./components/SpecialBlock\";\nimport styles from \"./SignupPage.module.scss\";\nimport { useConfig } from \"config\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { isNotBlank } from \"utils/common\";\n\n// const Buttons = styled.div`\n// width: 100%;\n// display: flex;\n// flex-direction: row;\n// justify-content: center;\n// align-items: center;\n\n// & > button {\n// margin: 30px;\n// }\n// `;\n\nconst Link = styled.a`\n font-family: Inter, Helvetica, Arial, sans-serif;\n accent-color: #615eff;\n box-sizing: border-box;\n color: #615eff;\n text-decoration: none;\n`;\n\nexport const EndBlock = styled.div`\n flex: 1 0 0;\n display: flex;\n justify-content: flex-end;\n`;\n\n// const Videos = styled.div`\n// width: 425px;\n// height: 205px;\n// display: flex;\n// justify-content: center;\n// align-items: center;\n// margin: 40px 0 10px;\n// background: url(\"/video-background.svg\") no-repeat;\n// padding: 0 27px;\n// `;\n\ninterface FormValues {\n userName: string;\n companyName: string;\n email: string;\n password: string;\n mobile: string;\n language: string;\n analysisId?: string;\n}\n\nconst SignupPageValidationSchema = yup.object().shape({\n email: yup.string().email(\"form.email.error\").required(\"form.empty.error\"),\n password: yup.string().min(8, \"signup.password.minLength\").required(\"form.empty.error\"),\n companyName: yup.string().min(4, \"signup.companyName.minLength\").required(\"form.empty.error\"),\n userName: yup.string().required(\"form.empty.error\"),\n});\n\ninterface SignupPageProps {\n highlightStyle?: React.CSSProperties;\n setLogin: () => void;\n loginWithDemo: () => void;\n loginIsLoading: boolean;\n}\n\nconst hasAnalysisId = (state: unknown): state is { analysisId: string } => {\n return (\n typeof state === \"object\" && state !== null && typeof (state as { analysisId?: string }).analysisId === \"string\"\n );\n};\nconst hasStmtId = (state: unknown): state is { stmtId: string } => {\n return typeof state === \"object\" && state !== null && typeof (state as { stmtId?: string }).stmtId === \"string\";\n};\n\nconst SignupPage: React.FC = ({ highlightStyle }) => {\n const formatMessage = useIntl().formatMessage;\n const { registerNotification, unregisterNotificationById } = useNotificationService();\n\n const config = useConfig();\n const { locale } = useIntl();\n const [language, setLanguage] = useState(locale);\n useEffect(() => {\n setLanguage(locale);\n }, [locale]);\n // const isEn = locale === \"en\";\n const { mutateAsync: signup } = useSignupUser();\n const { documentationPanelOpen, setDocumentationUrl, setDocumentationPanelOpen, setDocumentTitle } =\n useDocumentationPanelContext();\n const [successMessage, setSuccessMessage] = useState(null);\n useEffect(() => {\n setDocumentationPanelOpen(true);\n setDocumentTitle();\n setDocumentationUrl(\"Signup.md\");\n }, [documentationPanelOpen, setDocumentationPanelOpen, setDocumentationUrl, setDocumentTitle]);\n\n const { push, location } = useRouter();\n const analysisId = hasAnalysisId(location.state) ? location.state.analysisId : \"\";\n const stmtId = hasStmtId(location.state) ? location.state.stmtId : \"\";\n\n return (\n
\n \n \n (\n \n {hl}\n \n ),\n }}\n />\n \n \n initialValues={{\n userName: \"\",\n companyName: \"\",\n email: \"\",\n language: language,\n password: \"\",\n mobile: \"\",\n analysisId: analysisId,\n }}\n validationSchema={SignupPageValidationSchema}\n onSubmit={async (values, { setFieldError }) =>\n signup({ ...values, language: language })\n .then((data) => {\n if (data.data) {\n setSuccessMessage();\n registerNotification({\n id: \"signup\",\n title: `${\n config.isInternal\n ? formatMessage({ id: \"form.signup.success\" })\n : formatMessage({ id: \"form.signup.success.active\" })\n }`,\n isError: false,\n onClose: () => {\n push(\n isNotBlank(analysisId) && isNotBlank(stmtId)\n ? `../${RoutePaths.Login}?from=${RoutePaths.App}/${RoutePaths.Analyses}/${analysisId}/${RoutePaths.Details}/${stmtId}`\n : `../${RoutePaths.Login}`\n );\n },\n });\n setTimeout(() => {\n setSuccessMessage(null);\n unregisterNotificationById(\"signup\");\n push(\n isNotBlank(analysisId) && isNotBlank(stmtId)\n ? `../${RoutePaths.Login}?from=${RoutePaths.App}/${RoutePaths.Analyses}/${analysisId}/${RoutePaths.Details}/${stmtId}`\n : `../${RoutePaths.Login}`\n );\n }, 5000);\n }\n })\n .catch((err) => {\n setFieldError(\"email\", err.message);\n })\n }\n validateOnBlur={true}\n validateOnChange={true}\n >\n {({ isValid, isSubmitting }) => (\n
\n \n \n {({ field, meta }: FieldProps) => (\n }\n placeholder={formatMessage({\n id: \"login.fullName.placeholder\",\n })}\n type=\"text\"\n error={!!meta.error && meta.touched}\n message={meta.touched && meta.error && formatMessage({ id: meta.error })}\n />\n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n placeholder={formatMessage({\n id: \"login.companyName.placeholder\",\n })}\n type=\"text\"\n error={!!meta.error && meta.touched}\n message={meta.touched && meta.error && formatMessage({ id: meta.error })}\n />\n )}\n \n {/* \n {({ field, meta }: FieldProps) => (\n }\n type=\"text\"\n error={!!meta.error && meta.touched}\n message={meta.touched && meta.error && formatMessage({ id: meta.error })}\n />\n )}\n */}\n \n \n \n {({ field, meta }: FieldProps) => (\n }\n placeholder={formatMessage({\n id: \"login.yourEmail.placeholder\",\n })}\n type=\"text\"\n error={!!meta.error && meta.touched}\n message={meta.touched && meta.error && formatMessage({ id: meta.error })}\n />\n )}\n \n \n \n \n {({ field, meta }: FieldProps) => (\n }\n placeholder={formatMessage({\n id: \"login.password.placeholder\",\n })}\n type=\"password\"\n error={!!meta.error && meta.touched}\n message={meta.touched && meta.error && formatMessage({ id: meta.error })}\n />\n )}\n \n \n {!config.isInternal && (\n
\n (\n \n {node}\n \n ),\n Privacylnk: (node: React.ReactNode) => (\n \n {node}\n \n ),\n }}\n />\n
\n )}\n \n <>\n {!successMessage && (\n \n \n \n )}\n {/* {successMessage && } */}\n \n \n
\n )}\n \n
\n );\n};\n\nexport default SignupPage;\n","import React, { Suspense, useState } from \"react\";\nimport { Navigate, Route, Routes } from \"react-router-dom\";\nimport styled from \"styled-components\";\n\nimport { LoadingPage } from \"components\";\n\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useLoginUser } from \"services/users/UsersService\";\nimport { DocumentationWrapper } from \"views/Workspace/DocumentationLayout\";\n\nimport FormContent from \"./components/FormContent\";\n// import News from \"./components/News\";\nimport { ResetPasswordConfirmPage } from \"./ConfirmPasswordResetPage\";\nimport { LoginPage } from \"./LoginPage\";\nimport { ResetPasswordPage } from \"./ResetPasswordPage\";\nimport { SignupPage } from \"./SignupPage\";\n\nconst Content = styled.div`\n width: 100%;\n height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: row;\n background: ${({ theme }) => theme.whiteColor};\n`;\n\nconst Part = styled.div`\n flex: 1 0 0;\n padding: 20px 36px 39px 46px;\n height: 100%;\n`;\n\n// const NewsPart = styled(Part)`\n// background: ${({ theme }) => theme.beigeColor};\n// display: flex;\n// flex-direction: column;\n// justify-content: space-between;\n// `;\n\ninterface AuthProp {\n isLogin: boolean;\n setLogin: () => void;\n}\n\nconst Auth: React.FC = (props) => {\n const { pathname, location } = useRouter();\n\n const { mutateAsync: login } = useLoginUser();\n const [isLoading, setIsLoading] = useState(false);\n\n const loginWithDemo = () => {\n const demoAccount = \"demo@pawsql.com\";\n const demoPassword = \"demo@pawsql.com\";\n\n login({ email: demoAccount, password: demoPassword }).then((result) => {\n if (result.data) {\n setIsLoading(true);\n localStorage.setItem(\"username\", demoAccount);\n localStorage.setItem(\"token\", result.data.token);\n localStorage.setItem(\"hasClickDemo\", \"1\");\n setIsLoading(false);\n props.setLogin();\n const urlParams = new URLSearchParams(window.location.search);\n const redirectPath = urlParams.get(\"from\");\n if (redirectPath) {\n // 如果存在重定向路径,那么跳转到该路径\n window.location.href = decodeURIComponent(redirectPath);\n }\n }\n });\n };\n\n return (\n \n \n \n \n }>\n \n props.setLogin()} />} />\n props.setLogin()}\n />\n }\n />\n } />\n } />\n } />\n \n \n \n \n \n \n // \n // {isLoading ? (\n // \n // ) : docs ? (\n // \n // } />\n // \n // ) : (\n // <>\n // \n // \n // \n // \n // \n // \n // )}\n // \n );\n};\n\nexport default Auth;\n","import React from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { useDocumentation } from \"hooks/services/useDocumentation\";\nimport { useGetRuleByCode } from \"hooks/services/useRuleHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { StaticMDView } from \"pages/AnalysisPage/pages/AnalysisItemPage/components/StaticMDView\";\n\nconst RuleDetailPage: React.FC = () => {\n const { query } = useRouter<{ ruleCode: string }>();\n const { locale, formatMessage } = useIntl();\n const isEn = locale === \"en\";\n\n const { data: docs } = useDocumentation(locale + \"/rule/\" + query.ruleCode + \".md\");\n\n const { data: details } = useGetRuleByCode(query.ruleCode);\n const content = docs ? docs : isEn ? details?.descEn : details?.descCn ?? \"\";\n return ;\n};\n\nexport default RuleDetailPage;\n","import React from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { useDocumentation } from \"hooks/services/useDocumentation\";\nimport useRouter from \"hooks/useRouter\";\nimport { StaticMDView } from \"pages/AnalysisPage/pages/AnalysisItemPage/components/StaticMDView\";\n\nconst WLDefinitionPage: React.FC = () => {\n const { query } = useRouter<{ workloadType: string }>();\n const { locale } = useIntl();\n\n const { data: docs } = useDocumentation(locale + \"/workload/\" + query.workloadType + \".md\");\n return ;\n};\n\nexport default WLDefinitionPage;\n","import React from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { useDocumentation } from \"hooks/services/useDocumentation\";\nimport useRouter from \"hooks/useRouter\";\nimport { StaticMDView } from \"pages/AnalysisPage/pages/AnalysisItemPage/components/StaticMDView\";\n\nconst WPDefinitionPage: React.FC = () => {\n const { query } = useRouter<{ workspaceType: string }>();\n const { locale } = useIntl();\n const { data: docs } = useDocumentation(locale + \"/workspace/\" + query.workspaceType + \".md\");\n\n return ;\n};\n\nexport default WPDefinitionPage;\n","export enum Metric {\n time,\n rows,\n cost,\n buffers,\n estimate_factor,\n io,\n}\n\nexport enum BufferLocation {\n shared = \"Shared\",\n temp = \"Temp\",\n local = \"Local\",\n}\n\nexport enum BufferType {\n hit = \"Hit\",\n read = \"Read\",\n written = \"Written\",\n dirtied = \"Dirtied\",\n}\n\nexport class HighlightType {\n public static NONE = \"none\";\n public static DURATION = \"duration\";\n public static ROWS = \"rows\";\n public static COST = \"cost\";\n}\n\nexport enum SortDirection {\n asc = \"asc\",\n desc = \"desc\",\n}\n\nexport enum EstimateDirection {\n over = 1,\n under = 2,\n none = 3,\n}\n\nexport enum CenterMode {\n center,\n visible,\n none,\n}\n\nexport enum NodeProp {\n // plan property keys\n NODE_TYPE = \"Node Type\",\n ACTUAL_ROWS = \"Actual Rows\",\n PLAN_ROWS = \"Plan Rows\",\n PLAN_WIDTH = \"Plan Width\",\n ROWS_REMOVED_BY_FILTER = \"Rows Removed by Filter\",\n ROWS_REMOVED_BY_JOIN_FILTER = \"Rows Removed by Join Filter\",\n ACTUAL_STARTUP_TIME = \"Actual Startup Time\",\n ACTUAL_TOTAL_TIME = \"Actual Total Time\",\n ACTUAL_LOOPS = \"Actual Loops\",\n STARTUP_COST = \"Startup Cost\",\n TOTAL_COST = \"Total Cost\",\n PLANS = \"Plans\",\n RELATION_NAME = \"Relation Name\",\n SCHEMA = \"Schema\",\n ALIAS = \"Alias\",\n GROUP_KEY = \"Group Key\",\n SORT_KEY = \"Sort Key\",\n SORT_METHOD = \"Sort Method\",\n SORT_SPACE_TYPE = \"Sort Space Type\",\n SORT_SPACE_USED = \"Sort Space Used\",\n JOIN_TYPE = \"Join Type\",\n INDEX_NAME = \"Index Name\",\n HASH_CONDITION = \"Hash Cond\",\n PARENT_RELATIONSHIP = \"Parent Relationship\",\n SUBPLAN_NAME = \"Subplan Name\",\n PARALLEL_AWARE = \"Parallel Aware\",\n WORKERS = \"Workers\",\n WORKERS_PLANNED = \"Workers Planned\",\n WORKERS_LAUNCHED = \"Workers Launched\",\n SHARED_HIT_BLOCKS = \"Shared Hit Blocks\",\n SHARED_READ_BLOCKS = \"Shared Read Blocks\",\n SHARED_DIRTIED_BLOCKS = \"Shared Dirtied Blocks\",\n SHARED_WRITTEN_BLOCKS = \"Shared Written Blocks\",\n TEMP_READ_BLOCKS = \"Temp Read Blocks\",\n TEMP_WRITTEN_BLOCKS = \"Temp Written Blocks\",\n LOCAL_HIT_BLOCKS = \"Local Hit Blocks\",\n LOCAL_READ_BLOCKS = \"Local Read Blocks\",\n LOCAL_DIRTIED_BLOCKS = \"Local Dirtied Blocks\",\n LOCAL_WRITTEN_BLOCKS = \"Local Written Blocks\",\n IO_READ_TIME = \"I/O Read Time\",\n IO_WRITE_TIME = \"I/O Write Time\",\n OUTPUT = \"Output\",\n HEAP_FETCHES = \"Heap Fetches\",\n WAL_RECORDS = \"WAL Records\",\n WAL_BYTES = \"WAL Bytes\",\n WAL_FPI = \"WAL FPI\",\n FULL_SORT_GROUPS = \"Full-sort Groups\",\n PRE_SORTED_GROUPS = \"Pre-sorted Groups\",\n PRESORTED_KEY = \"Presorted Key\",\n\n // computed by pev\n NODE_ID = \"nodeId\",\n EXCLUSIVE_DURATION = \"*Duration (exclusive)\",\n EXCLUSIVE_COST = \"*Cost (exclusive)\",\n ACTUAL_ROWS_REVISED = \"*Actual Rows Revised\",\n PLAN_ROWS_REVISED = \"*Plan Rows Revised\",\n ROWS_REMOVED_BY_FILTER_REVISED = \"*Rows Removed by Filter\",\n ROWS_REMOVED_BY_JOIN_FILTER_REVISED = \"*Rows Removed by Join Filter\",\n\n PLANNER_ESTIMATE_FACTOR = \"*Planner Row Estimate Factor\",\n PLANNER_ESTIMATE_DIRECTION = \"*Planner Row Estimate Direction\",\n\n EXCLUSIVE_SHARED_HIT_BLOCKS = \"*Shared Hit Blocks (exclusive)\",\n EXCLUSIVE_SHARED_READ_BLOCKS = \"*Shared Read Blocks (exclusive)\",\n EXCLUSIVE_SHARED_DIRTIED_BLOCKS = \"*Shared Dirtied Blocks (exclusive)\",\n EXCLUSIVE_SHARED_WRITTEN_BLOCKS = \"*Shared Written Blocks (exclusive)\",\n EXCLUSIVE_TEMP_READ_BLOCKS = \"*Temp Read Blocks (exclusive)\",\n EXCLUSIVE_TEMP_WRITTEN_BLOCKS = \"*Temp Written Blocks (exclusive)\",\n EXCLUSIVE_LOCAL_HIT_BLOCKS = \"*Local Hit Blocks (exclusive)\",\n EXCLUSIVE_LOCAL_READ_BLOCKS = \"*Local Read Blocks (exclusive)\",\n EXCLUSIVE_LOCAL_DIRTIED_BLOCKS = \"*Local Dirtied Blocks (exclusive)\",\n EXCLUSIVE_LOCAL_WRITTEN_BLOCKS = \"*Local Written Blocks (exclusive)\",\n\n EXCLUSIVE_IO_READ_TIME = \"*I/O Read Time (exclusive)\",\n EXCLUSIVE_IO_WRITE_TIME = \"*I/O Write Time (exclusive)\",\n AVERAGE_IO_READ_TIME = \"*I/O Read Speed (exclusive)\",\n AVERAGE_IO_WRITE_TIME = \"*I/O Write Speed (exclusive)\",\n\n WORKERS_PLANNED_BY_GATHER = \"*Workers Planned By Gather\",\n\n CTE_SCAN = \"CTE Scan\",\n CTE_NAME = \"CTE Name\",\n Stage_NAME = \"Stage Name\",\n FUNCTION_NAME = \"Function Name\",\n\n ARRAY_INDEX_KEY = \"arrayIndex\",\n\n PEV_PLAN_TAG = \"plan_\",\n Filter = \"Filter\",\n Inner_Unique = \"Inner Unique\",\n Join_Filter = \"Join Filter\",\n Recheck_Cond = \"Recheck Cond\",\n Index_Cond = \"Index Cond\",\n Index_Over = \"Index Over\",\n With_Index_Cond = \"With Index Condition\",\n Aggregate_Table = \"Aggregate Table\",\n Group_Aggregate = \"Group Aggregate\",\n Limit = \"Limit\",\n Zero_Rows = \"Zero Rows\",\n Sort = \"Sort\",\n Select = \"Select\",\n Streaming_Type = \"Streaming Type\",\n Join_Condition = \"Join Condition\",\n ACCESS = \"Access\",\n Extra = \"Extra info\",\n KEY_NULL_EQU = \"KEY NULL EQU\",\n RKEY_UNIQUE = \"RKEY UNIQUE\",\n KEY_NUM = \"KEY NUM\",\n DATABASE_TYPE = \"DATABASE TYPE\",\n SLCT_PUSHDOWN = \"SLCT PUSHDOWN\",\n ROW_NUM = \"Row Num\",\n COL_NUM = \"Column Num\",\n grp_num = \"group number\",\n sfun_num = \"number of aggregate functions\",\n distinct_flag = \"distinct flag\",\n slave_empty = \"slave empty\",\n keys = \"keys\",\n scan_type = \"scan type\",\n scan_range = \"scan range\",\n is_global = \"is global\",\n sort_key_num = \"sort key num\",\n partition_key_num = \"partition key num\",\n is_distinct = \"is distinct\",\n top_flag = \"top flag\",\n is_adaptive = \"is adaptive\",\n spool_key_num = \"spool key num\",\n spool_num = \"spool num\",\n is_atom = \"is atom\",\n has_var = \"has var\",\n sites = \"sites\",\n delete_table = \"delete table\",\n delete_type = \"delete type\",\n mpp_opt = \"mpp opt\",\n hp_opt = \"hp opt\",\n update_table = \"update table\",\n update_type = \"update type\",\n insert_table = \"insert table\",\n insert_type = \"insert type\",\n for_mdis = \"for mdis\",\n}\n\nexport const NodePropChinese = {\n // plan property keys\n \"Node Type\": \"节点类型\",\n \"Actual Rows\": \"实际行数\",\n \"Plan Rows\": \"估计行数\",\n \"Plan Width\": \"估计宽度\",\n \"Rows Removed by Filter\": \"条件过滤掉的行数\",\n \"Rows Removed by Join Filter\": \"表连接过滤掉的行数\",\n \"Actual Startup Time\": \"实际启动时间\",\n \"Actual Total Time\": \"实际执行时间\",\n \"Actual Loops\": \"实际循环次数\",\n \"Startup Cost\": \"启动成本\",\n \"Total Cost\": \"总成本\",\n Plans: \"执行计划\",\n \"Relation Name\": \"表名\",\n Schema: \"模式\",\n Alias: \"别名\",\n \"Group Key\": \"分组键\",\n \"Sort Key\": \"排序键\",\n \"Sort Method\": \"排序算法\",\n \"Sort Space Type\": \"排序空间类型\",\n \"Sort Space Used\": \"排序空间大小\",\n \"Join Type\": \"连接类型\",\n \"Index Name\": \"索引名\",\n \"Hash Cond\": \"哈希条件\",\n \"Parent Relationship\": \"表连接\",\n \"Subplan Name\": \"子计划名称\",\n \"Parallel Aware\": \"并行\",\n Workers: \"工作进程\",\n \"Workers Planned\": \"估算的进程数\",\n \"Workers Launched\": \"已启动进程数\",\n \"Shared Hit Blocks\": \"共享命中块数\",\n \"Shared Read Blocks\": \"共享读取块数\",\n \"Shared Dirtied Blocks\": \"共享脏块数\",\n \"Shared Written Blocks\": \"共享写入块数\",\n \"Temp Read Blocks\": \"临时读取块数\",\n \"Temp Written Blocks\": \"临时写入块数\",\n \"Local Hit Blocks\": \"本地命中块数\",\n \"Local Read Blocks\": \"本地读取块数\",\n \"Local Dirtied Blocks\": \"本地脏块数\",\n \"Local Written Blocks\": \"本地写入块数\",\n \"I/O Read Time\": \"I/O读取时间\",\n \"I/O Write Time\": \"I/O写入时间\",\n Output: \"输出字段\",\n \"Heap Fetches\": \"堆读取\",\n \"WAL Records\": \"WAL记录数\",\n \"WAL Bytes\": \"WAL大小(bytes)\",\n \"WAL FPI\": \"WAL FPI\",\n \"Full-sort Groups\": \"全排序分组\",\n \"Pre-sorted Groups\": \"预排序分组\",\n \"Presorted Key\": \"预排序键\",\n\n // computed by pev\n nodeId: \"节点ID\",\n \"*Duration (exclusive)\": \"持续时间(独占)\",\n \"*Cost (exclusive)\": \"成本(独占)\",\n \"*Actual Rows Revised\": \"实际行数(修订)\",\n \"*Plan Rows Revised\": \"计划行数(修订)\",\n \"*Rows Removed by Filter\": \"条件过滤掉的行数\",\n \"*Rows Removed by Join Filter\": \"连接过滤掉的行数\",\n\n \"*Planner Row Estimate Factor\": \"优化器行数估计因子\",\n \"*Planner Row Estimate Direction\": \"优化器行数估计方向\",\n\n \"*Shared Hit Blocks (exclusive)\": \"共享命中块数(独占)\",\n \"*Shared Read Blocks (exclusive)\": \"共享读取块数(独占)\",\n \"*Shared Dirtied Blocks (exclusive)\": \"共享脏块数(独占)\",\n \"*Shared Written Blocks (exclusive)\": \"共享写入块数(独占)\",\n \"*Temp Read Blocks (exclusive)\": \"临时读取块数(独占)\",\n \"*Temp Written Blocks (exclusive)\": \"临时写入块数(独占)\",\n \"*Local Hit Blocks (exclusive)\": \"本地命中块数(独占)\",\n \"*Local Read Blocks (exclusive)\": \"本地读取块数(独占)\",\n \"*Local Dirtied Blocks (exclusive)\": \"本地脏块数(独占)\",\n \"*Local Written Blocks (exclusive)\": \"本地写入块数(独占)\",\n\n \"*I/O Read Time (exclusive)\": \"I/O读取时间(独占)\",\n \"*I/O Write Time (exclusive)\": \"I/O写入时间(独占)\",\n \"*I/O Read Speed (exclusive)\": \"I/O读取速度(独占)\",\n \"*I/O Write Speed (exclusive)\": \"I/O写入速度(独占)\",\n\n \"*Workers Planned By Gather\": \"汇总计算的算子数目\",\n\n \"CTE Scan\": \"CTE扫描\",\n \"CTE Name\": \"CTE名称\",\n \"Function Name\": \"函数名称\",\n\n arrayIndex: \"数组索引\",\n\n plan_: \"计划_\",\n Filter: \"过滤\",\n \"Inner Unique\": \"内部唯一性约束\",\n \"Join Filter\": \"连接过滤条件\",\n \"Recheck Cond\": \"条件重新验证\",\n \"Index Cond\": \"索引条件\",\n \"Aggregate Table\": \"聚合表\",\n \"Group Aggregate\": \"聚合函数\",\n Limit: \"限制\",\n \"Index Over\": \"索引基于\",\n \"With Index Condition\": \"索引条件\",\n \"Zero Rows\": \"零行\",\n Sort: \"排序\",\n Select: \"选择\",\n \"Streaming Type\": \"数据流类型\",\n \"Join Condition\": \"连接条件\",\n Access: \"条件\",\n \"Extra info\": \"额外信息\",\n \"KEY NULL EQU\": \"键值空等式\",\n \"RKEY UNIQUE\": \"唯一键\",\n \"KEY NUM\": \"键数量\",\n \"DATABASE TYPE\": \"数据库类型\",\n \"SLCT PUSHDOWN\": \"选择操作下推\",\n \"Row Num\": \"行数\",\n \"Column Num\": \"列数\",\n \"group number\": \"分组数\",\n \"number of aggregate functions\": \"聚合函数数\",\n \"distinct flag\": \"去重标志\",\n \"slave empty\": \"从节点是否为空\",\n \"scan type\": \"扫描类型\",\n \"scan range\": \"扫描范围\",\n \"is global\": \"是否全局索引\",\n keys: \"用于分组的列\",\n \"sort key num\": \"用于排序的键的数量\",\n \"partition key num\": \"用于分区的键的数量\",\n \"is distinct\": \"是否去重\",\n \"top flag\": \"是否只选择前N个结果\",\n \"is adaptive\": \"是否使用自适应排序\",\n \"spool key num\": \"用于缓存的键的数量\",\n \"spool num\": \"Spool 的编号\",\n \"is atom\": \"这个操作是否是原子的\",\n \"has var\": \"是否有变量\",\n sites: \"这个操作涉及的站点\",\n \"delete table\": \"要删除行的表\",\n \"delete type\": \"删除基于操作的类型\",\n \"mpp opt\": \"是否启用了 MPP(大规模并行处理)优化\",\n \"hp opt\": \"是否启用了 HP(高性能)优化\",\n \"update table\": \"要更新行的表\",\n \"update type\": \"更新基于操作的类型\",\n \"insert table\": \"要插入行的表\",\n \"insert type\": \"更新插入操作的类型\",\n \"for mdis\": \"是否用于多维数据集(MDIS)操作\",\n};\n\nexport enum PropType {\n blocks,\n boolean,\n bytes,\n cost,\n duration,\n estimateDirection,\n factor,\n increment,\n json,\n kilobytes,\n list,\n loops,\n rows,\n sortGroups,\n transferRate,\n}\n\nexport const nodePropTypes: { [key: string]: PropType } = {};\n\nnodePropTypes[NodeProp.ACTUAL_ROWS] = PropType.rows;\nnodePropTypes[NodeProp.ACTUAL_LOOPS] = PropType.loops;\nnodePropTypes[NodeProp.PLAN_ROWS] = PropType.rows;\nnodePropTypes[NodeProp.PLAN_WIDTH] = PropType.bytes;\nnodePropTypes[NodeProp.ACTUAL_ROWS_REVISED] = PropType.rows;\nnodePropTypes[NodeProp.PLAN_ROWS_REVISED] = PropType.rows;\nnodePropTypes[NodeProp.ACTUAL_TOTAL_TIME] = PropType.duration;\nnodePropTypes[NodeProp.ACTUAL_STARTUP_TIME] = PropType.duration;\nnodePropTypes[NodeProp.STARTUP_COST] = PropType.cost;\nnodePropTypes[NodeProp.TOTAL_COST] = PropType.cost;\nnodePropTypes[NodeProp.PARALLEL_AWARE] = PropType.boolean;\nnodePropTypes[NodeProp.WORKERS] = PropType.json;\nnodePropTypes[NodeProp.SORT_SPACE_USED] = PropType.kilobytes;\nnodePropTypes[NodeProp.ROWS_REMOVED_BY_FILTER] = PropType.rows;\nnodePropTypes[NodeProp.ROWS_REMOVED_BY_JOIN_FILTER] = PropType.rows;\nnodePropTypes[NodeProp.ROWS_REMOVED_BY_FILTER_REVISED] = PropType.rows;\nnodePropTypes[NodeProp.ROWS_REMOVED_BY_JOIN_FILTER_REVISED] = PropType.rows;\nnodePropTypes[NodeProp.HEAP_FETCHES] = PropType.rows;\nnodePropTypes[NodeProp.OUTPUT] = PropType.list;\nnodePropTypes[NodeProp.SORT_KEY] = PropType.list;\nnodePropTypes[NodeProp.PRESORTED_KEY] = PropType.list;\nnodePropTypes[NodeProp.WAL_RECORDS] = PropType.rows;\nnodePropTypes[NodeProp.WAL_BYTES] = PropType.bytes;\nnodePropTypes[NodeProp.WAL_FPI] = PropType.rows;\n\nnodePropTypes[NodeProp.EXCLUSIVE_DURATION] = PropType.duration;\nnodePropTypes[NodeProp.EXCLUSIVE_COST] = PropType.cost;\n\nnodePropTypes[NodeProp.PLANNER_ESTIMATE_FACTOR] = PropType.factor;\nnodePropTypes[NodeProp.PLANNER_ESTIMATE_DIRECTION] = PropType.estimateDirection;\n\nnodePropTypes[NodeProp.IO_READ_TIME] = PropType.duration;\nnodePropTypes[NodeProp.IO_WRITE_TIME] = PropType.duration;\n\nnodePropTypes[NodeProp.EXCLUSIVE_IO_READ_TIME] = PropType.duration;\nnodePropTypes[NodeProp.EXCLUSIVE_IO_WRITE_TIME] = PropType.duration;\nnodePropTypes[NodeProp.AVERAGE_IO_READ_TIME] = PropType.transferRate;\nnodePropTypes[NodeProp.AVERAGE_IO_WRITE_TIME] = PropType.transferRate;\n\nnodePropTypes[NodeProp.EXCLUSIVE_SHARED_HIT_BLOCKS] = PropType.blocks;\nnodePropTypes[NodeProp.EXCLUSIVE_SHARED_READ_BLOCKS] = PropType.blocks;\nnodePropTypes[NodeProp.EXCLUSIVE_SHARED_DIRTIED_BLOCKS] = PropType.blocks;\nnodePropTypes[NodeProp.EXCLUSIVE_SHARED_WRITTEN_BLOCKS] = PropType.blocks;\nnodePropTypes[NodeProp.EXCLUSIVE_TEMP_READ_BLOCKS] = PropType.blocks;\nnodePropTypes[NodeProp.EXCLUSIVE_TEMP_WRITTEN_BLOCKS] = PropType.blocks;\nnodePropTypes[NodeProp.EXCLUSIVE_LOCAL_HIT_BLOCKS] = PropType.blocks;\nnodePropTypes[NodeProp.EXCLUSIVE_LOCAL_READ_BLOCKS] = PropType.blocks;\nnodePropTypes[NodeProp.EXCLUSIVE_LOCAL_DIRTIED_BLOCKS] = PropType.blocks;\nnodePropTypes[NodeProp.EXCLUSIVE_LOCAL_WRITTEN_BLOCKS] = PropType.blocks;\n\nnodePropTypes[NodeProp.FULL_SORT_GROUPS] = PropType.sortGroups;\nnodePropTypes[NodeProp.PRE_SORTED_GROUPS] = PropType.sortGroups;\n\nexport class WorkerProp {\n // plan property keys\n public static WORKER_NUMBER = \"Worker Number\";\n}\n\nnodePropTypes[WorkerProp.WORKER_NUMBER] = PropType.increment;\n\nexport enum SortGroupsProp {\n GROUP_COUNT = \"Group Count\",\n SORT_METHODS_USED = \"Sort Methods Used\",\n SORT_SPACE_MEMORY = \"Sort Space Memory\",\n}\n\nexport enum SortSpaceMemoryProp {\n AVERAGE_SORT_SPACE_USED = \"Average Sort Space Used\",\n PEAK_SORT_SPACE_USED = \"Peak Sort Space Used\",\n}\n","import { useGetConfig } from \"hooks/services/useConfigHook\";\nimport React from \"react\";\nimport { useIntl } from \"react-intl\";\n\ninterface TopBannerProps {\n alertType?: string;\n}\n\nexport const TopBanner: React.FC = () => {\n const { data: adminConfig } = useGetConfig();\n const { locale } = useIntl();\n return (\n \n
\n

\n {locale === \"en\" ? adminConfig.bannerTextEn : adminConfig.bannerTextZh}\n

\n {/* \n \n */}\n
\n \n );\n};\n","const ConnectionsIcon = (): JSX.Element => \"worksapce\";\n\nexport default ConnectionsIcon;\n","const PricingIcon = (): JSX.Element => \"docs\";\nexport default PricingIcon;\n","const SettingsIcon = (): JSX.Element => \"worksapce\";\n\nexport default SettingsIcon;\n","import { faTwitter, faWeixin } from \"@fortawesome/free-brands-svg-icons\";\nimport { faEnvelope, faLightbulb, faArrowAltCircleDown, faUser } from \"@fortawesome/free-regular-svg-icons\";\nimport { faBook, faSliders, faUsers, faCoins } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React, { useMemo } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { NavLink } from \"react-router-dom\";\nimport styled from \"styled-components\";\n\nimport { Popout } from \"components\";\n\nimport { useConfig } from \"config\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport { useCurrentUser, useReactiveUser, useUserService } from \"services/users/UsersService\";\nimport { isDefined } from \"utils/common\";\n\nimport RecipesIcon from \"./RecipesIcon\";\nimport ResourcesIcon from \"./ResourcesIcon\";\nimport StatusIcon from \"./StatusIcon\";\nimport { RiServerFill } from \"@remixicon/react\";\n\nexport const Item = styled.a`\n display: flex;\n flex-direction: row;\n align-items: center;\n text-decoration: none;\n color: ${({ theme }) => theme.textColor};\n font-size: 14px;\n font-weight: 500;\n`;\nexport const NavLinkItem = styled(NavLink)`\n display: flex;\n flex-direction: row;\n align-items: center;\n text-decoration: none;\n color: ${({ theme }) => theme.textColor};\n font-size: 14px;\n font-weight: 500;\n`;\n\nexport const Icon = styled.div`\n width: 34px;\n font-size: 22px;\n`;\n\nconst SidebarPopout: React.FC<{\n children: (props: { onOpen: () => void }) => React.ReactNode;\n options: { value: string; label?: React.ReactNode }[];\n openWechat?: () => void;\n logout?: () => void;\n}> = ({ children, options, openWechat }) => {\n const config = useConfig();\n const { mutateAsync: reactive } = useReactiveUser();\n const { data: user } = useCurrentUser();\n const { setIsLogin } = useUserService();\n const { push } = useRouter();\n const { formatMessage, locale } = useIntl();\n const { isAdmin } = useMyAuthService();\n\n const listData = useMemo(\n () =>\n options.map((item) => {\n switch (item.value) {\n case \"docs\":\n return {\n value: \"docs\",\n label: (\n \n \n \n \n \n \n ),\n };\n case \"selfHost\":\n return {\n value: \"selfHost\",\n label: (\n \n \n \n \n \n \n ),\n };\n case \"pricing\":\n return {\n value: \"pricing\",\n label: (\n \n \n \n \n \n \n ),\n };\n case \"guides\":\n return {\n value: \"guides\",\n label: (\n \n \n \n \n \n \n ),\n };\n case \"twitter\":\n return {\n value: \"twitter\",\n label: (\n \n \n \n \n \n \n ),\n };\n case \"wechat\":\n return {\n value: \"wechat\",\n label: (\n \n \n \n \n \n \n ),\n };\n case \"email\":\n return {\n value: \"email\",\n label: (\n \n \n \n \n \n \n ),\n };\n case \"status\":\n return {\n value: \"status\",\n label: (\n \n \n \n \n \n \n ),\n };\n case \"recipes\":\n return {\n value: \"recipes\",\n label: (\n \n \n \n \n \n \n ),\n };\n case \"ticket\":\n return {\n value: \"ticket\",\n label: (\n \n \n \n \n \n \n ),\n };\n case \"logout\":\n return {\n value: \"logout\",\n label: (\n {\n localStorage.removeItem(\"username\");\n localStorage.removeItem(\"token\");\n setIsLogin(false);\n }}\n >\n \n \n \n \n \n ),\n };\n case \"settings\":\n return {\n value: \"settings\",\n label: (\n \n \n \n \n \n \n ),\n };\n case \"configs\":\n return {\n value: \"configs\",\n label: (\n \n \n \n \n \n \n ),\n };\n case \"users\":\n return {\n value: \"users\",\n label: (\n \n \n \n \n {isAdmin ? formatMessage({ id: \"sidebar.users\" }) : user.orgName}\n \n ),\n };\n case \"reactive\":\n return {\n value: \"reactive\",\n label: (\n {\n if (isDefined(user.email)) {\n reactive(user.email);\n window.location.reload();\n push(\"../\");\n }\n }}\n >\n \n \n \n \n \n ),\n };\n\n default:\n return {\n value: item.value,\n label: item.label ?? item.value,\n };\n }\n }),\n [options, config, push, openWechat, reactive, user, setIsLogin, formatMessage, isAdmin]\n );\n\n return (\n children({ onOpen: targetProps.onOpen })}\n styles={{\n menuPortal: (base) =>\n ({\n ...base,\n // TODO: temporary dirty hack\n transform: \"translate3D(100px, -120px, 0px)\",\n } as any),\n }}\n isSearchable={false}\n options={listData}\n />\n );\n};\n\nexport default SidebarPopout;\n","const SourceIcon = (): JSX.Element => \"worksapce\";\nexport default SourceIcon;\n","// extracted by mini-css-extract-plugin\nexport default {\"beta\":\"SideBar_beta__-2C0z\",\"beta--active\":\"SideBar_beta--active__HUIBp\"};","const BookDemoIcon = (): JSX.Element => \"docs\";\nexport default BookDemoIcon;\n","import { faChartSimple, faCloud, faCoins } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { NavLink } from \"react-router-dom\";\nimport { useToggle } from \"react-use\";\nimport styled from \"styled-components\";\n\nimport { Link, Modal } from \"components\";\n\nimport { useConfig } from \"config\";\nimport { useI18nContext } from \"core/i18n\";\n// import { useGetConfig } from \"hooks/services/useConfigHook\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\n\nimport { RoutePaths } from \"../../../pages/routePaths\";\nimport ConnectionsIcon from \"./components/ConnectionsIcon\";\nimport PricingIcon from \"./components/PricingIcon\";\n// import DocsIcon from \"./components/DocsIcon\";\n// import RulesIcon from \"./components/RulesIcon\";\nimport SettingsIcon from \"./components/SettingsIcon\";\nimport { NavLinkItem } from \"./components/SidebarPopout\";\nimport SourceIcon from \"./components/SourceIcon\";\n// import { UserPageNotificationIndicator } from \"./UserPageNotificationIndicator\";\nimport styles from \"./SideBar.module.scss\";\nimport { RiSettings3Line } from \"@remixicon/react\";\nimport { useGetConfig } from \"hooks/services/useConfigHook\";\nimport BookDemoIcon from \"./components/BookDemoIcon\";\n// import { useGetLicense } from \"hooks/services/useUserHook\";\n// import { LicenseModal } from \"pages/LicensePage/pages/PricingPage/components/LicenseModal\";\n\nconst Bar = styled.nav`\n width: 100px;\n min-width: 65px;\n height: 100%;\n background: ${({ theme }) => theme.darkPrimaryColor};\n padding: 23px 3px 15px 4px;\n text-align: center;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n position: relative;\n z-index: 9999;\n`;\n\nconst Menu = styled.ul`\n padding: 0;\n margin: 20px 0 0;\n width: 100%;\n`;\n\nconst MenuItem = styled(NavLink)`\n color: ${({ theme }) => theme.greyColor30};\n width: 100%;\n cursor: pointer;\n border-radius: 4px;\n height: 70px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n font-weight: normal;\n font-size: 12px;\n line-height: 15px;\n margin-top: 7px;\n text-decoration: none;\n position: relative;\n\n &.active {\n color: ${({ theme }) => theme.whiteColor};\n background: ${({ theme }) => theme.primaryColor};\n opacity: 1;\n }\n`;\n\nconst Text = styled.div`\n margin-top: 7px;\n margin-bottom: 3px;\n`;\n\n// const ALink = styled.a`\n// margin-top: 7px;\n// `;\n\nconst Content = styled.div`\n width: 500px;\n padding: 22px 34px 36px 32px;\n`;\nconst WorkspaceButton = styled.div`\n font-size: 12px;\n line-height: 21px;\n font-weight: 400;\n height: 21px;\n color: ${({ theme }) => theme.whiteColor};\n border-radius: 10px;\n margin-top: 1px;\n // background: rgba(255, 255, 255, 0.2);\n // cursor: pointer;\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 0 8px;\n text-align: center;\n`;\n\nconst LanguageButton = styled.div`\n font-size: 11px;\n line-height: 21px;\n font-weight: 400;\n height: 21px;\n color: ${({ theme }) => theme.whiteColor};\n border-radius: 12px;\n margin-top: 12px;\n margin-left: 10px;\n margin-right: 10px;\n margin-bottom: 6px;\n background: rgba(255, 255, 255, 0.2);\n cursor: pointer;\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 0 8px;\n text-align: center;\n`;\n\ninterface SideBarProp {\n logout: () => void;\n}\n\nconst SideBar: React.FC = () => {\n const { changeLocal } = useI18nContext();\n const { isAdmin, user, isDemo, isBetaUser } = useMyAuthService();\n const { data: adminConfig } = useGetConfig();\n\n const config = useConfig();\n\n const [wechatModal, toggleWechatModal] = useToggle(false);\n\n return (\n <>\n {wechatModal && (\n \n \n \n }\n onClose={toggleWechatModal}\n >\n \n \"logo\"\n \n \n )}\n \n
\n \n \"logo\"\n \n {\"PawSQL\"}\n \n \n \n \n
  • \n \n \n \n \n \n \n
  • \n
  • \n \n \n \n \n \n \n
  • \n {(isAdmin || adminConfig.enableExplain || isBetaUser) && (\n
  • \n \n \n \n \n \n \n
  • \n )}\n\n {!isDemo && (\n
  • \n \n \n \n \n \n \n
  • \n )}\n {config.enablePlan && (\n
  • \n \n \n \n \n \n \n
  • \n )}\n {!config.isInternal && isAdmin && (\n
  • \n \n \n \n \n \n \n
  • \n )}\n
    \n
    \n
    \n \n {config.isInternal ? (\n
  • \n \n \n \n \n \n \n
  • \n ) : (\n
  • \n \n \n \n \n \n \n
  • \n )}\n
  • \n \n \n \n {user.userName}\n \n \n
  • \n
    \n
    \n
    \n \n );\n};\n\nexport default SideBar;\n","import SideBar from \"./SideBar\";\n\nexport default SideBar;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { LoadingPage } from \"components\";\nimport { AlertBanner, AlertBannerWithLogout } from \"components/base/Banner/AlertBanner\";\n\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport { useUserService } from \"services/users/UsersService\";\nimport { ResourceNotFoundErrorBoundary } from \"views/common/ResorceNotFoundErrorBoundary\";\nimport { StartOverErrorView } from \"views/common/StartOverErrorView\";\nimport { TopBanner } from \"components/base/Banner/TopBanner\";\nimport { useGetConfig } from \"hooks/services/useConfigHook\";\nimport SideBar from \"../SideBar\";\n\nconst BodyContainer = styled.div`\n width: 100%;\n height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n min-height: 680px;\n`;\n\nconst MainContainer = styled.div`\n width: 100%;\n height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: row;\n min-height: 680px;\n`;\n\nconst Content = styled.div`\n overflow-y: auto;\n width: 100%;\n height: 100%;\n`;\n\nconst MainView: React.FC = (props) => {\n const { user, isDemo } = useMyAuthService();\n const { logout } = useUserService();\n const { data: adminConfig } = useGetConfig();\n\n return (\n \n \n {}\n \n {adminConfig.enableBanner && }\n {user.expireDays <= 0 && }\n {isDemo && }\n }>\n }>{props.children}\n \n \n \n \n );\n};\n\nexport default MainView;\n","import MainView from \"./MainView\";\n\nexport default MainView;\n","import React, { Suspense } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { ContentCard, LoadingPage, MainPageWithScroll, PageTitle } from \"components\";\nimport HeadTitle from \"components/HeadTitle\";\n\n// import FunctionConfigForm from \"views/Connection/ConnectionForm/FunctionConfigForm\";\n\nconst Content = styled.div`\n max-width: 1279px;\n margin: 0 auto;\n padding-bottom: 20px;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: flex-start;\n gap: 10px;\n`;\n\nexport const LeftFieldCol = styled.div`\n width: 470px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nexport type ConnectionFormMode = \"create\" | \"edit\" | \"readonly\";\n\nconst AllCronConfigPage: React.FC = () => {\n const { formatMessage } = useIntl();\n\n return (\n }>\n }\n pageTitle={}\n >\n \n {/* */}\n \n \n \n );\n};\n\nexport default AllCronConfigPage;\n","import AllCronConfigPage from \"./AllCronConfigPage\";\n\nexport default AllCronConfigPage;\n","import { CronConfigPage } from \"./CronConfigPage\";\n\nexport default CronConfigPage;\n","import React, { Suspense } from \"react\";\nimport { Route, Routes } from \"react-router-dom\";\n\nimport { LoadingPage } from \"components\";\n\nimport AllCronConfigPage from \"./pages/AllConfigPage\";\n\nexport const CronConfigPage: React.FC = () => (\n }>\n \n } />\n \n \n);\n","import { useMemo } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button, H2, H3 } from \"components/base\";\n\ninterface EmptyResourceListViewProps {\n resourceType:\n | \"connections\"\n | \"destinations\"\n | \"sources\"\n | \"workloads\"\n | \"workspaces\"\n | \"analyses\"\n | \"audits\"\n | \"users\"\n | \"explains\"\n | \"databases\"\n | \"instances\"\n | \"integrations\";\n onCreateClick: () => void;\n disableCreateButton?: boolean;\n}\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n`;\n\nexport const Heading = styled(H2)`\n padding-top: 130px;\n font-weight: 700;\n font-size: 24px;\n line-height: 29px;\n max-width: 386px;\n text-align: center;\n strong {\n color: ${({ theme }) => theme.redColor};\n }\n`;\n\nexport const HeadingH3 = styled(H3)`\n font-size: 20px;\n line-height: 24px;\n max-width: 386px;\n strong {\n color: ${({ theme }) => theme.redColor};\n }\n`;\n\nconst IllustrationContainer = styled(Container)`\n position: relative;\n width: 592px;\n height: 276px;\n\n pointer-events: none;\n user-select: none;\n`;\n\nconst OctaviaImg = styled.img`\n max-height: 203px;\n max-width: 100%;\n z-index: 1;\n`;\n\nexport const BowtieImg = styled.img`\n position: absolute;\n\n &.empty-list-bowtie--right {\n right: 0;\n transform: scaleX(-1);\n }\n\n &.empty-list-bowtie--left {\n left: 0;\n }\n`;\n\nexport const EmptyResourceListView: React.FC = ({\n resourceType,\n onCreateClick,\n disableCreateButton,\n}) => {\n const { headingMessageId, buttonMessageId, singularResourceType } = useMemo(() => {\n const singularResourceType =\n resourceType === \"analyses\" ? \"analysis\" : resourceType.substring(0, resourceType.length - 1);\n const baseMessageId = resourceType === \"analyses\" ? singularResourceType : resourceType;\n\n const headingMessageId = `${baseMessageId}.description`;\n const buttonMessageId = `${baseMessageId}.new${\n singularResourceType.substring(0, 1).toUpperCase() + singularResourceType.substring(1)\n }`;\n\n return { headingMessageId, buttonMessageId, singularResourceType };\n }, [resourceType]);\n\n return (\n \n \n \n \n \n {/* {resourceType !== \"destinations\" && (\n \n )}\n {resourceType !== \"sources\" && (\n \n )}\n {resourceType !== \"workspaces\" && (\n \n )} */}\n \n \n \n \n );\n};\n","import hljs from \"highlight.js/lib/core\";\nimport json from \"highlight.js/lib/languages/json\";\nimport pgsql from \"highlight.js/lib/languages/pgsql\";\nimport _ from \"lodash\";\n\nimport { EstimateDirection, nodePropTypes, PropType } from \"./enums\";\nimport { isDefined } from \"utils/common\";\n// import SortGroup from \"@/components/SortGroup.vue\";\n\nhljs.registerLanguage(\"pgsql\", pgsql);\nhljs.registerLanguage(\"json\", json);\n\nexport function duration(value: number | undefined): string {\n if (value === undefined) {\n return \"N/A\";\n }\n const result: string[] = [];\n let denominator: number = 1000 * 60 * 60 * 24;\n const days = Math.floor(value / denominator);\n if (days) {\n result.push(days + \"d\");\n }\n let remainder = value % denominator;\n denominator /= 24;\n const hours = Math.floor(remainder / denominator);\n if (hours) {\n result.push(hours + \"h\");\n }\n remainder = remainder % denominator;\n denominator /= 60;\n const minutes = Math.floor(remainder / denominator);\n if (minutes) {\n result.push(minutes + \"m\");\n }\n remainder = remainder % denominator;\n denominator /= 60;\n const seconds = Math.floor(remainder / denominator);\n if (seconds) {\n result.push(seconds + \"s\");\n }\n remainder = remainder % denominator;\n const milliseconds = parseFloat(remainder.toPrecision(3));\n result.push(milliseconds.toLocaleString() + \"ms\");\n\n return result.slice(0, 2).join(\" \");\n}\n\nexport function cost(value: number): string {\n if (!isDefined(value)) {\n return \"N/A\";\n }\n value = parseFloat(value.toPrecision(3));\n return value.toLocaleString();\n}\n\nexport function rows(value: number): string {\n if (value === undefined) {\n return \"N/A\";\n }\n return value.toLocaleString();\n}\n\nexport function loops(value: number): string {\n if (value === undefined) {\n return \"N/A\";\n }\n return value.toLocaleString();\n}\n\n// export function factor(value: number): string {\n// const f: string = parseFloat(value.toPrecision(2)).toLocaleString();\n// const compiled = _.template('${f} ×');\n// return compiled({ f });\n// }\nexport function factor(value: number): string {\n const f: string = parseFloat(value.toPrecision(2)).toLocaleString();\n return `${f} ×`;\n}\n\nexport function keysToString(value: string[] | string): string {\n if (!(value instanceof Array)) {\n value = [value];\n }\n value = _.map(value, (v) => _.escape(v.replace(/(^\\(|\\)$)/g, \"\")));\n return value.join(\", \");\n}\n\nexport function sortKeys(sort: string[], presort: string[] | undefined): string {\n return _.map(sort, (v) => {\n let result = _.escape(v);\n if (presort) {\n result += presort.indexOf(v) !== -1 ? ' (presort)' : \"\";\n }\n return result;\n }).join(\", \");\n}\n\nexport function truncate(text: string, length: number, clamp: string): string {\n clamp = clamp || \"...\";\n return text.length > length ? text.slice(0, length) + clamp : text;\n}\n\nexport function kilobytes(value: number): string {\n return formatBytes(value * 1024);\n}\n\nexport function bytes(value: number): string {\n return formatBytes(value);\n}\n\n// export function formatBytes(value: number, precision = 2) {\n// const k = 1024;\n// const dm = precision < 0 ? 0 : precision;\n// const units = [\"Bytes\", \"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n// const i = Math.floor(Math.log(value) / Math.log(k));\n// const compiled = _.template(\"${value} ${unit}\");\n// const valueString = parseFloat((value / Math.pow(k, i)).toPrecision(dm)).toLocaleString();\n// return compiled({ value: valueString, unit: units[i] });\n// }\nfunction formatBytes(value: number, precision = 2) {\n const k = 1024;\n const dm = precision < 0 ? 0 : precision;\n const units = [\"Bytes\", \"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(value) / Math.log(k));\n const valueString = parseFloat((value / Math.pow(k, i)).toPrecision(dm)).toLocaleString();\n const unit = units[i];\n return `${valueString} ${unit}`;\n}\n\nexport function blocks(value: number): string {\n if (!value) {\n return \"\";\n }\n return value.toLocaleString() + \"
    \" + formatBytes(value * 8 * 1024) + \"\";\n}\n\nexport function percent(value: number): string {\n if (isNaN(value)) {\n return \"-\";\n }\n return _.round(value * 100) + \"%\";\n}\n\n// export function list(value: string[] | string): string {\n// if (typeof value === \"string\") {\n// value = value.split(/\\s*,\\s*/);\n// }\n// const compiled = _.template(\"<% _.forEach(lines, function(line) { %>
  • <%= line %>
  • <% }); %>\");\n// return '
      ' + compiled({ lines: value }) + \"
    \";\n// }\n\nexport function list(value: string[] | string): string {\n if (typeof value === \"string\") {\n value = value.split(/\\s*,\\s*/);\n }\n const listItems = value?.map((line) => `
  • ${line}
  • `).join(\"\");\n return `
      ${listItems}
    `;\n}\n\nfunction sortGroups(_value: string) {\n const el = document.createElement(\"div\");\n //todo\n // ReactDOM.render(, el);\n return el.innerHTML;\n}\n\nexport function transferRate(value: number): string {\n if (!value) {\n return \"\";\n }\n return formatBytes(value * 8 * 1024) + \"/s\";\n}\n\nexport function formatNodeProp(key: string, value: unknown): string {\n if (_.has(nodePropTypes, key)) {\n if (nodePropTypes[key] === PropType.duration) {\n return duration(value as number);\n } else if (nodePropTypes[key] === PropType.boolean) {\n return value ? \"yes\" : \"no\";\n } else if (nodePropTypes[key] === PropType.cost) {\n return cost(value as number);\n } else if (nodePropTypes[key] === PropType.rows) {\n return rows(value as number);\n } else if (nodePropTypes[key] === PropType.loops) {\n return loops(value as number);\n } else if (nodePropTypes[key] === PropType.factor) {\n return factor(value as number);\n } else if (nodePropTypes[key] === PropType.estimateDirection) {\n switch (value) {\n case EstimateDirection.over:\n return ' over';\n case EstimateDirection.under:\n return ' under';\n default:\n return \"-\";\n }\n } else if (nodePropTypes[key] === PropType.json) {\n return JSON.stringify(value, null, 2);\n } else if (nodePropTypes[key] === PropType.bytes) {\n return bytes(value as number);\n } else if (nodePropTypes[key] === PropType.kilobytes) {\n return kilobytes(value as number);\n } else if (nodePropTypes[key] === PropType.blocks) {\n return blocks(value as number);\n } else if (nodePropTypes[key] === PropType.list) {\n return list(value as string[]);\n } else if (nodePropTypes[key] === PropType.sortGroups) {\n return sortGroups(value as string);\n } else if (nodePropTypes[key] === PropType.transferRate) {\n return transferRate(value as number);\n }\n }\n return _.escape(value as unknown as string);\n}\n\nexport function durationClass(i: number): string {\n let c;\n if (i > 90) {\n c = 4;\n } else if (i > 40) {\n c = 3;\n } else if (i > 10) {\n c = 2;\n }\n if (c) {\n return \"c-\" + c;\n }\n return \"\";\n}\n\nexport function pgsql_(text: string) {\n return hljs.highlight(text, { language: \"pgsql\" }).value;\n}\n\nexport function json_(text: string) {\n return hljs.highlight(text, { language: \"json\" }).value;\n}\n","import type { BufferLocation, HighlightType, SortGroupsProp, SortSpaceMemoryProp } from \"./enums\";\n\nimport { EstimateDirection, NodeProp, WorkerProp } from \"./enums\";\nimport { StagePlan } from \"./utils/HiveExplainParserUtil\";\n\nexport interface IPlan {\n id: string;\n name: string;\n content: IPlanContent;\n query: string;\n createdOn: Date;\n planStats: IPlanStats;\n formattedQuery?: string;\n ctes: Node[];\n stages: Node[];\n isAnalyze: boolean;\n isVerbose: boolean;\n}\n\nexport interface Window {\n setPlanData: () => void;\n}\n\nexport interface PlanData extends Array {\n id?: number;\n [index: number]: string;\n}\n\nexport interface IPlanContent {\n databaseType: string;\n Plan: Node;\n stagePlans: StagePlan[];\n maxRows?: number;\n maxRowsNodeId?: number;\n maxCost?: number;\n maxCostNodeId?: number;\n maxTotalCost?: number;\n maxDuration?: number;\n maxDurationNodeId?: number;\n maxBlocks?: IBlocksStats;\n maxIo?: number;\n Triggers?: ITrigger[];\n JIT?: JIT;\n \"Query Text\"?: string;\n [k: string]: Node | StagePlan[] | number | string | IBlocksStats | ITrigger[] | JIT | undefined;\n}\n\nexport interface ITrigger {\n \"Trigger Name\": string;\n Relation?: string;\n Time: number;\n Calls: string;\n}\n\n// Class to create workers when parsing text\nexport class Worker {\n [k: string]: string | number | object;\n constructor(workerNumber: number) {\n this[WorkerProp.WORKER_NUMBER] = workerNumber;\n }\n}\n\nexport interface IPlanStats {\n executionTime?: number;\n planningTime?: number;\n planCost?: number;\n maxRows: number;\n maxRowsNodeId: number;\n maxCost: number;\n maxCostNodeId: number;\n maxDuration: number;\n maxDurationNodeId: number;\n maxBlocks: IBlocksStats;\n maxIo: number;\n triggers?: ITrigger[];\n jitTime?: number;\n settings?: Settings;\n}\n\nexport type IBlocksStats = {\n [key in BufferLocation]: number;\n};\n\n// Class to create nodes when parsing text\nexport class Node {\n nodeId!: number;\n size!: [number, number];\n [\"Options\"]?: Options;\n [\"Timing\"]?: Timing;\n [\"Settings\"]?: Settings;\n [NodeProp.ACTUAL_LOOPS]?: number;\n [NodeProp.ACTUAL_ROWS]?: number;\n [NodeProp.ACTUAL_ROWS_REVISED]?: number;\n [NodeProp.ACTUAL_STARTUP_TIME]?: number;\n [NodeProp.ACTUAL_TOTAL_TIME]?: number;\n [NodeProp.EXCLUSIVE_COST]?: number;\n [NodeProp.EXCLUSIVE_DURATION]?: number;\n [NodeProp.EXCLUSIVE_LOCAL_DIRTIED_BLOCKS]?: number;\n [NodeProp.EXCLUSIVE_LOCAL_HIT_BLOCKS]?: number;\n [NodeProp.EXCLUSIVE_LOCAL_READ_BLOCKS]?: number;\n [NodeProp.EXCLUSIVE_LOCAL_WRITTEN_BLOCKS]?: number;\n [NodeProp.EXCLUSIVE_SHARED_DIRTIED_BLOCKS]?: number;\n [NodeProp.EXCLUSIVE_SHARED_HIT_BLOCKS]?: number;\n [NodeProp.EXCLUSIVE_SHARED_READ_BLOCKS]?: number;\n [NodeProp.EXCLUSIVE_SHARED_WRITTEN_BLOCKS]?: number;\n [NodeProp.EXCLUSIVE_TEMP_READ_BLOCKS]?: number;\n [NodeProp.EXCLUSIVE_TEMP_WRITTEN_BLOCKS]?: number;\n [NodeProp.PLANNER_ESTIMATE_DIRECTION]?: EstimateDirection;\n [NodeProp.PLANNER_ESTIMATE_FACTOR]?: number;\n [NodeProp.INDEX_NAME]?: string;\n [NodeProp.NODE_TYPE]?: string;\n [NodeProp.PARALLEL_AWARE]?: boolean;\n [NodeProp.PLANS]?: Node[];\n [NodeProp.PLAN_ROWS]?: number;\n [NodeProp.PLAN_ROWS_REVISED]?: number;\n [NodeProp.ROWS_REMOVED_BY_FILTER_REVISED]?: number;\n [NodeProp.ROWS_REMOVED_BY_JOIN_FILTER_REVISED]?: number;\n [NodeProp.SUBPLAN_NAME]?: string;\n [NodeProp.Stage_NAME]?: string;\n [NodeProp.TOTAL_COST]?: number;\n [NodeProp.WORKERS]?: Worker[];\n [NodeProp.WORKERS_LAUNCHED]?: number;\n [NodeProp.WORKERS_PLANNED]?: number;\n [NodeProp.WORKERS_PLANNED_BY_GATHER]?: number;\n [NodeProp.EXCLUSIVE_IO_READ_TIME]?: number;\n [NodeProp.EXCLUSIVE_IO_WRITE_TIME]?: number;\n [NodeProp.AVERAGE_IO_READ_TIME]?: number;\n [NodeProp.AVERAGE_IO_WRITE_TIME]?: number;\n [NodeProp.DATABASE_TYPE]?: string;\n [k: string]:\n | Node[]\n | Options\n | SortGroups\n | Timing\n | Worker[]\n | boolean\n | number\n | string\n | string[]\n | undefined\n | [number, number];\n constructor(type?: string, databaseType?: string) {\n if (!type) {\n return;\n }\n if (databaseType === \"hive\") {\n type = type.replace(/:$/gm, \"\");\n }\n\n type = type.trim();\n\n // todo\n // this.size = [200, 90];\n this[NodeProp.NODE_TYPE] = type;\n // tslint:disable-next-line:max-line-length\n\n const scanMatches =\n /^((?:Parallel\\s+)?(?:Partitioned\\s+)?(?:Seq\\sScan|Table\\sscan|TABLE\\sFULL\\sSCAN|TABLE\\sACCESS(?:\\sFULL)?(?:\\sBY INDEX ROWID)?|Tid.*Scan|Bitmap\\s+Heap\\s+Scan|(?:Async\\s+)?Foreign\\s+Scan|Update|Insert|Delete))\\son\\s(\\S+)(?:\\s+(\\S+))?$/.exec(\n type\n );\n\n const bitmapMatches = /^(Bitmap\\s+Index\\s+Scan)\\son\\s(\\S+)$/.exec(type);\n // tslint:disable-next-line:max-line-length\n const indexMatches =\n /^((?:Parallel\\s+)?Index(?:\\sOnly)?\\sScan(?:\\sBackward)?)\\susing\\s(\\S+)\\son\\s(\\S+)(?:\\s+(\\S+))?$/.exec(type);\n\n const indexMatchesMySQL =\n /^((?:[C|c]onstant\\s)?(?:Single-row\\s)?(?:[C|c]overing\\s)?[I|i]ndex(?:\\sOnly|\\srange|\\sskip)?\\s(?:lookup|scan)(?:\\sfor\\sdeduplication)?(?:\\sBackward)?)\\son\\s(\\S+)\\susing\\s(\\S+)(?:\\s+(\\([^)]+\\)))?(?:\\sover\\s+(.*?))?(?:,\\swith\\sindex\\scondition:\\s+\\((.*?)\\))?$/.exec(\n type\n );\n\n const indexMatchesOracle = /^(INDEX(?:\\s[RANGE|UNIQUE])?(?:\\sSCAN))\\susing\\s(\\S+)?$/.exec(type);\n\n const indexMatchesOceanbase =\n /^(DISTRIBUTED\\sTABLE\\sRANGE\\sSCAN|(?:Parallel\\s+)?Index(?:\\sOnly)?\\sScan(?:\\sBackward)?)\\susing\\s(\\S+)\\son\\s(\\S+)(?:\\s+(\\S+))?$/.exec(\n type\n );\n\n const indexMatchesDameng =\n /^((CLUSTER\\sINDEX\\sSCAN|CLUSTER\\sINDEX\\sSEEK|FULL\\sINDEX\\sSCAN|INDEX\\sSCAN|Tid\\sScan))(?:\\sscan_type\\((\\S+)\\),)?(?:\\s(\\S+)\\(([^\\)]+)\\))?(?:[,|;])?(?:\\sscan_range(\\[[^\\]]+\\]))?(?:,)?(?:\\sis_global\\((\\d+)\\))?(?:(.*))?$/.exec(\n type\n );\n\n const cteMatches = /^(CTE\\sScan)\\son\\s(\\S+)(?:\\s+(\\S+))?$/.exec(type);\n const stageMatches = /^(STAGE\\sScan)\\son\\s(\\S+)(?:\\s+(\\S+))?$/.exec(type);\n const functionMatches = /^(Function\\sScan)\\son\\s(\\S+)(?:\\s+(\\S+))?$/.exec(type);\n const subqueryMatches = /^(Subquery\\sScan)\\son\\s(.+)$/.exec(type);\n\n const filterMatches = /^(Filter):\\s(.+)$/.exec(type);\n\n const filterMatchesDameng = /^(FILTER)\\s(.*?)(?:SLCT_PUSHDOWN\\(([^)]+)\\))?$/.exec(type);\n const projectionMatchesDameng = /^(Projection)\\s(.*)$/.exec(type);\n const deleteMatchesDameng =\n /^(DELETE)(?:\\stable\\(([^\\)]+)\\),)?(?:\\stype\\(([^\\)]+)\\),)?(?:\\smpp_opt\\(([^\\)]+)\\),)?(?:\\shp_opt\\((\\d+)\\))?(?:(.*))?$/.exec(\n type\n );\n\n const updateMatchesDameng =\n /^(UPDATE)(?:\\stable\\(([^\\)]+)\\),)?(?:\\stype\\(([^\\)]+)\\),)?(?:\\smpp_opt\\(([^\\)]+)\\),)?(?:\\shp_opt\\((\\d+)\\))?(?:(.*))?$/.exec(\n type\n );\n const insertMatchesDameng =\n /^(INSERT)(?:\\stable\\(([^\\)]+)\\),)?(?:\\stype\\(([^\\)]+)\\),)?(?:\\smpp_opt\\(([^\\)]+)\\),)?(?:\\shp_opt\\((\\d+)\\))?(?:(.*))?$/.exec(\n type\n );\n\n const groupMatches = /^(Group\\saggregate):\\s(.+)$/.exec(type);\n const aggregateMatches = /^(Aggregate)\\susing\\s(.+)$/.exec(type);\n const aggregateMatchesDameng =\n /^((?:Hash)?Aggregate)(?:\\sgrp_num\\((\\d+)\\),)?(?:\\ssfun_num\\((\\d+)\\),)?(?:\\sdistinct_flag\\[([^\\]]+)\\];)?(?:\\sslave_empty\\((\\d+)\\))?(?:\\skeys\\(([^)]+)\\))?(?:\\s;)?(?:(.*))?$/.exec(\n type\n );\n const limitMatches = /^(Limit):\\s(.+)$/.exec(type);\n const zeroMatches = /^(Zero\\srows)\\s(\\([^)]+\\))$/.exec(type);\n const sortMatches = /^(Sort):\\s(.+)$/.exec(type);\n const sortMatchesDameng =\n /^(SORT)(?:\\skey_num\\((\\d+)\\),)?(?:\\spartition_key_num\\((\\d+)\\),)?(?:\\sis_distinct\\(([^\\)]+)\\),)?(?:\\stop_flag\\((\\d+)\\),)?(?:\\sis_adaptive\\((\\d+)\\))?(?:(.*))?$/.exec(\n type\n );\n const spoolMatchesDameng =\n /^(Spool)(?:\\skey_num\\((\\d+)\\),)?(?:\\sspool_num\\((\\d+)\\),)?(?:\\sis_atom\\(([^\\)]+)\\),)?(?:\\shas_var\\((\\d+)\\),)?(?:\\ssites\\(([^\\)]+)\\))?(?:(.*))?$/.exec(\n type\n );\n const nttsMatchesDameng = /^(NTTS)(?:\\sfor_mdis\\(([^\\)]+)\\);)?(?:\\sis_atom\\(([^\\)]+)\\),)?(?:(.*))?$/.exec(type);\n const selectMatches = /^(Select)\\s(.+)$/.exec(type);\n const streamingMatches = /^(Streaming)\\(type:\\s([^)]+)\\)(?:\\s+(\\S+))?$/.exec(type);\n const constValueListMatches = /^(CONST\\sVALUE\\sLIST)(?:\\srow_num\\((\\d+)\\),)?(?:\\scol_num\\((\\d+)\\))?$/.exec(type);\n\n if (scanMatches) {\n this[NodeProp.NODE_TYPE] = scanMatches[1];\n this[NodeProp.RELATION_NAME] = scanMatches[2];\n if (scanMatches[3]) {\n this[NodeProp.ALIAS] = scanMatches[3];\n }\n } else if (bitmapMatches) {\n this[NodeProp.NODE_TYPE] = bitmapMatches[1];\n this[NodeProp.INDEX_NAME] = bitmapMatches[2];\n } else if (indexMatches) {\n this[NodeProp.NODE_TYPE] = indexMatches[1];\n this[NodeProp.INDEX_NAME] = indexMatches[2];\n this[NodeProp.RELATION_NAME] = indexMatches[3];\n if (indexMatches[4]) {\n this[NodeProp.ALIAS] = indexMatches[4];\n }\n } else if (indexMatchesOceanbase) {\n this[NodeProp.NODE_TYPE] = indexMatchesOceanbase[1];\n this[NodeProp.INDEX_NAME] = indexMatchesOceanbase[2];\n this[NodeProp.RELATION_NAME] = indexMatchesOceanbase[3];\n } else if (cteMatches) {\n this[NodeProp.NODE_TYPE] = cteMatches[1];\n this[NodeProp.CTE_NAME] = cteMatches[2];\n if (cteMatches[3]) {\n this[NodeProp.ALIAS] = cteMatches[3];\n }\n } else if (stageMatches) {\n this[NodeProp.NODE_TYPE] = stageMatches[1];\n this[NodeProp.Stage_NAME] = stageMatches[2];\n if (stageMatches[3]) {\n this[NodeProp.ALIAS] = stageMatches[3];\n }\n } else if (functionMatches) {\n this[NodeProp.NODE_TYPE] = functionMatches[1];\n this[NodeProp.FUNCTION_NAME] = functionMatches[2];\n if (functionMatches[3]) {\n this[NodeProp.ALIAS] = functionMatches[3];\n }\n } else if (subqueryMatches) {\n this[NodeProp.NODE_TYPE] = subqueryMatches[1];\n this[NodeProp.ALIAS] = subqueryMatches[2];\n } else if (filterMatches) {\n this[NodeProp.NODE_TYPE] = filterMatches[1];\n this[NodeProp.Filter] = filterMatches[2];\n } else if (filterMatchesDameng) {\n this[NodeProp.NODE_TYPE] = filterMatchesDameng[1];\n this[NodeProp.Filter] = filterMatchesDameng[2];\n if (filterMatchesDameng[3]) {\n this[NodeProp.SLCT_PUSHDOWN] = filterMatchesDameng[3];\n }\n } else if (projectionMatchesDameng) {\n this[NodeProp.NODE_TYPE] = projectionMatchesDameng[1];\n this[NodeProp.Extra] = projectionMatchesDameng[2];\n } else if (indexMatchesMySQL) {\n this[NodeProp.NODE_TYPE] = indexMatchesMySQL[1];\n this[NodeProp.INDEX_NAME] = indexMatchesMySQL[3];\n this[NodeProp.RELATION_NAME] = indexMatchesMySQL[2];\n if (indexMatchesMySQL[4]) {\n this[NodeProp.Index_Cond] = indexMatchesMySQL[4];\n }\n if (indexMatchesMySQL[5]) {\n this[NodeProp.Index_Over] = indexMatchesMySQL[5];\n }\n if (indexMatchesMySQL[6]) {\n this[NodeProp.With_Index_Cond] = indexMatchesMySQL[6];\n }\n } else if (indexMatchesOracle) {\n this[NodeProp.NODE_TYPE] = indexMatchesOracle[1];\n this[NodeProp.INDEX_NAME] = indexMatchesOracle[2];\n } else if (indexMatchesDameng) {\n this[NodeProp.NODE_TYPE] = indexMatchesDameng[1];\n this[NodeProp.scan_type] = indexMatchesDameng[3];\n this[NodeProp.INDEX_NAME] = indexMatchesDameng[4];\n this[NodeProp.RELATION_NAME] = indexMatchesDameng[5];\n this[NodeProp.scan_range] = indexMatchesDameng[6];\n this[NodeProp.is_global] = indexMatchesDameng[7];\n this[NodeProp.Extra] = indexMatchesDameng[8];\n } else if (aggregateMatches) {\n this[NodeProp.NODE_TYPE] = aggregateMatches[1];\n this[NodeProp.Aggregate_Table] = aggregateMatches[2];\n } else if (aggregateMatchesDameng) {\n this[NodeProp.NODE_TYPE] = aggregateMatchesDameng[1];\n this[NodeProp.grp_num] = aggregateMatchesDameng[2];\n this[NodeProp.sfun_num] = aggregateMatchesDameng[3];\n this[NodeProp.distinct_flag] = aggregateMatchesDameng[4];\n this[NodeProp.slave_empty] = aggregateMatchesDameng[5];\n this[NodeProp.keys] = aggregateMatchesDameng[6];\n this[NodeProp.Extra] = aggregateMatchesDameng[7];\n } else if (deleteMatchesDameng) {\n this[NodeProp.NODE_TYPE] = deleteMatchesDameng[1];\n this[NodeProp.delete_table] = deleteMatchesDameng[2];\n this[NodeProp.delete_type] = deleteMatchesDameng[3];\n this[NodeProp.mpp_opt] = deleteMatchesDameng[4];\n this[NodeProp.hp_opt] = deleteMatchesDameng[5];\n this[NodeProp.Extra] = deleteMatchesDameng[6];\n } else if (updateMatchesDameng) {\n this[NodeProp.NODE_TYPE] = updateMatchesDameng[1];\n this[NodeProp.update_table] = updateMatchesDameng[2];\n this[NodeProp.update_type] = updateMatchesDameng[3];\n this[NodeProp.mpp_opt] = updateMatchesDameng[4];\n this[NodeProp.hp_opt] = updateMatchesDameng[5];\n this[NodeProp.Extra] = updateMatchesDameng[6];\n } else if (insertMatchesDameng) {\n this[NodeProp.NODE_TYPE] = insertMatchesDameng[1];\n this[NodeProp.update_table] = insertMatchesDameng[2];\n this[NodeProp.update_type] = insertMatchesDameng[3];\n this[NodeProp.mpp_opt] = insertMatchesDameng[4];\n this[NodeProp.hp_opt] = insertMatchesDameng[5];\n this[NodeProp.Extra] = insertMatchesDameng[6];\n } else if (groupMatches) {\n this[NodeProp.NODE_TYPE] = groupMatches[1];\n this[NodeProp.Group_Aggregate] = groupMatches[2];\n } else if (limitMatches) {\n this[NodeProp.NODE_TYPE] = limitMatches[1];\n this[NodeProp.Limit] = limitMatches[2];\n } else if (zeroMatches) {\n this[NodeProp.NODE_TYPE] = zeroMatches[1];\n this[NodeProp.Zero_Rows] = zeroMatches[2];\n } else if (sortMatches) {\n this[NodeProp.NODE_TYPE] = sortMatches[1];\n this[NodeProp.Sort] = sortMatches[2];\n } else if (sortMatchesDameng) {\n this[NodeProp.NODE_TYPE] = sortMatchesDameng[1];\n this[NodeProp.sort_key_num] = sortMatchesDameng[2];\n this[NodeProp.partition_key_num] = sortMatchesDameng[3];\n this[NodeProp.is_distinct] = sortMatchesDameng[4];\n this[NodeProp.top_flag] = sortMatchesDameng[5];\n this[NodeProp.is_adaptive] = sortMatchesDameng[6];\n this[NodeProp.Extra] = sortMatchesDameng[7];\n } else if (spoolMatchesDameng) {\n this[NodeProp.NODE_TYPE] = spoolMatchesDameng[1];\n this[NodeProp.spool_key_num] = spoolMatchesDameng[2];\n this[NodeProp.spool_num] = spoolMatchesDameng[3];\n this[NodeProp.is_atom] = spoolMatchesDameng[4];\n this[NodeProp.has_var] = spoolMatchesDameng[5];\n this[NodeProp.sites] = spoolMatchesDameng[6];\n this[NodeProp.Extra] = spoolMatchesDameng[7];\n } else if (selectMatches && databaseType !== \"hive\") {\n this[NodeProp.NODE_TYPE] = selectMatches[1];\n this[NodeProp.Select] = selectMatches[2];\n } else if (streamingMatches) {\n this[NodeProp.NODE_TYPE] = streamingMatches[1];\n this[NodeProp.Streaming_Type] = streamingMatches[2];\n } else if (constValueListMatches) {\n this[NodeProp.NODE_TYPE] = constValueListMatches[1];\n this[NodeProp.ROW_NUM] = constValueListMatches[2];\n this[NodeProp.COL_NUM] = constValueListMatches[3];\n } else if (nttsMatchesDameng) {\n this[NodeProp.NODE_TYPE] = nttsMatchesDameng[1];\n this[NodeProp.for_mdis] = nttsMatchesDameng[2];\n this[NodeProp.is_atom] = nttsMatchesDameng[3];\n this[NodeProp.Extra] = nttsMatchesDameng[4];\n }\n\n const parallelMatches = /^(Parallel\\s+)(.*)/.exec(this[NodeProp.NODE_TYPE] as string);\n if (parallelMatches) {\n this[NodeProp.NODE_TYPE] = parallelMatches[2];\n this[NodeProp.PARALLEL_AWARE] = true;\n }\n\n const nestedLoopMatches = /(.*\\s(?:[N|n]ested\\s+[L|l]oop))\\s*(?:(.*))?$/.exec(this[NodeProp.NODE_TYPE] as string);\n\n const joinMatches = /(.*)\\s[J|j]oin(?:(.*))?$/.exec(this[NodeProp.NODE_TYPE] as string);\n const joinModifierMatches = /(.*)\\s+([F|f]ull|[L|l]eft|[R|r]ight|[I|i]nner|Anti)/.exec(\n this[NodeProp.NODE_TYPE] as string\n );\n\n const joinMatchesDameng =\n /(.*\\sJOIN)(?:\\s(RKEY_UNIQUE))?(?:\\sKEY_NUM\\((\\d+)\\);)?(?:\\sKEY\\(([^)]+)\\))?(?:\\sKEY_NULL_EQU\\(([^)]+)\\))?(?:(.*))?$/.exec(\n this[NodeProp.NODE_TYPE] as string\n );\n // const joinModifierMatchesDameng = /(.*)\\s+(FULL|LEFT|RIGHT|INNER|ANTI)/.exec(this[NodeProp.NODE_TYPE] as string);\n if (joinMatches) {\n this[NodeProp.NODE_TYPE] = joinMatches[1];\n if (joinMatches[2]) {\n this[NodeProp.Join_Condition] = joinMatches[2];\n }\n if (joinModifierMatches) {\n this[NodeProp.NODE_TYPE] = joinModifierMatches[1];\n this[NodeProp.JOIN_TYPE] = joinModifierMatches[2];\n }\n this[NodeProp.NODE_TYPE] += \" Join\";\n } else if (nestedLoopMatches) {\n this[NodeProp.NODE_TYPE] = nestedLoopMatches[1];\n if (nestedLoopMatches[2]) {\n this[NodeProp.Join_Condition] = nestedLoopMatches[2];\n }\n if (joinModifierMatches) {\n this[NodeProp.NODE_TYPE] = joinModifierMatches[1];\n this[NodeProp.JOIN_TYPE] = joinModifierMatches[2];\n }\n } else if (joinMatchesDameng) {\n this[NodeProp.NODE_TYPE] = joinMatchesDameng[1];\n if (joinMatchesDameng[2]) {\n this[NodeProp.RKEY_UNIQUE] = joinMatchesDameng[2];\n }\n if (joinMatchesDameng[3]) {\n this[NodeProp.KEY_NUM] = joinMatchesDameng[3];\n }\n if (joinMatchesDameng[4]) {\n this[NodeProp.Join_Condition] = joinMatchesDameng[4];\n }\n if (joinMatchesDameng[5]) {\n this[NodeProp.KEY_NULL_EQU] = joinMatchesDameng[5];\n }\n\n if (joinMatchesDameng[6]) {\n this[NodeProp.Extra] = joinMatchesDameng[6];\n }\n\n // if (joinModifierMatchesDameng) {\n // this[NodeProp.NODE_TYPE] = joinModifierMatchesDameng[1];\n // this[NodeProp.JOIN_TYPE] = joinModifierMatchesDameng[2];\n // }\n // this[NodeProp.NODE_TYPE] += \" JOIN\";\n }\n }\n}\n\nexport interface Options {\n [k: string]: string;\n}\n\nexport interface Timing {\n [k: string]: number;\n}\n\nexport interface Settings {\n [k: string]: string;\n}\n\nexport interface SortGroups {\n [SortGroupsProp.SORT_METHODS_USED]: string[];\n [SortGroupsProp.SORT_SPACE_MEMORY]: SortSpaceMemory;\n [key: string]: number | string | string[] | SortSpaceMemory;\n}\n\nexport type SortSpaceMemory = {\n [key in SortSpaceMemoryProp]: number;\n};\n\nexport interface StatsTableItemType {\n name: string;\n count: number;\n time: number;\n timePercent: number;\n nodes: Node[];\n}\n\nexport interface ViewOptions {\n menuHidden: boolean;\n showHighlightBar: boolean;\n showPlanStats: boolean;\n highlightType: HighlightType;\n diagramWidth: number;\n}\n\nexport interface JIT {\n [\"Timing\"]: Timing;\n [key: string]: number | Timing;\n}\n","import type { IPlan, Node } from \"../interfaces\";\n\nimport _ from \"lodash\";\n\nimport { NodeProp } from \"../enums\";\n\nexport class HelpService {\n public nodeId = 0;\n\n public getNodeTypeDescription(nodeType: string, locale: string) {\n return locale === \"en\" ? NODE_DESCRIPTIONS[nodeType.toUpperCase()] : NODE_DESCRIPTIONS_Zh[nodeType.toUpperCase()];\n }\n\n public getHelpMessage(helpMessage: string, locale: string) {\n return locale === \"en\" ? HELP_MESSAGES[helpMessage.toUpperCase()] : HELP_MESSAGES_Zh[helpMessage.toUpperCase()];\n }\n}\n\ninterface INodeDescription {\n [key: string]: string;\n}\n\nexport const NODE_DESCRIPTIONS: INodeDescription = {\n LIMIT: \"returns a specified number of rows from a record set.\",\n SORT: \"sorts a record set based on the specified sort key.\",\n \"NESTED LOOP\": `merges two record sets by looping through every record in the first set and\n trying to find a match in the second set. All matching records are returned.`,\n \"NESTED LOOP JOIN\": `merges two record sets by looping through every record in the first set and\n trying to find a match in the second set. All matching records are returned.`,\n \"MERGE JOIN\": `merges two record sets by first sorting them on a join key.`,\n HASH: `generates a hash table from the records in the input recordset. Hash is used by\n Hash Join.`,\n \"HASH JOIN\": `joins two record sets by hashing one of them (using a Hash Scan).`,\n AGGREGATE: `groups records together based on a GROUP BY or aggregate function (like sum()).`,\n HASHAGGREGATE: `groups records together based on a GROUP BY or aggregate function (like sum()). Hash Aggregate uses\n a hash to first organize the records by a key.`,\n \"GROUP AGGREGATE\": `groups records together based on a GROUP BY or aggregate function (like sum()). Hash Aggregate uses\n a hash to first organize the records by a key.`,\n \"SEQ SCAN\": `finds relevant records by sequentially scanning the input record set. When reading from a table,\n Seq Scans (unlike Index Scans) perform a single read operation (only the table is read).`,\n \"TABLE SCAN\": `finds relevant records by sequentially scanning the input record set. When reading from a table,\n Table Scans (unlike Index Scans) perform a single read operation (only the table is read).`,\n \"TABLE ACCESS FULL\": `finds relevant records by sequentially scanning the input record set. When reading from a table,\n Table Scans (unlike Index Scans) perform a single read operation (only the table is read).`,\n \"INDEX SCAN\": `finds relevant records based on an Index.\n Index Scans perform 2 read operations: one to\n read the index and another to read the actual value from the table.`,\n \"INDEX LOOKUP\": `finds relevant records based on an Index.\n Index Scans perform 2 read operations: one to\n read the index and another to read the actual value from the table.`,\n \"INDEX ONLY SCAN\": `finds relevant records based on an Index.\n Index Only Scans perform a single read operation\n from the index and do not read from the corresponding table.`,\n \"COVERING INDEX SCAN\": `finds relevant records based on an Index.\n Index Only Scans perform a single read operation\n from the index and do not read from the corresponding table.`,\n \"BITMAP HEAP SCAN\": `searches through the pages returned by the Bitmap Index Scan\n for relevant rows.`,\n \"BITMAP INDEX SCAN\": `uses a Bitmap Index (index which uses 1 bit per page)\n to find all relevant pages.\n Results of this node are fed to the Bitmap Heap Scan.`,\n \"CTE SCAN\": `performs a sequential scan of Common Table Expression (CTE) query results. Note that\n results of a CTE are materialized (calculated and temporarily stored).`,\n MEMOIZE: `is used to cache the results of the inner side of a nested loop. It avoids executing underlying nodes when the results for the current parameters are already in the cache.`,\n GATHER: `reads the results of the parallel workers, in an undefined order.`,\n \"GATHER MERGE\": `reads the results of the parallel workers, preserving any ordering.`,\n};\n\nexport const NODE_DESCRIPTIONS_Zh: INodeDescription = {\n LIMIT: \"从记录集中返回指定数量的行。\",\n SORT: \"根据指定的排序键对记录集进行排序。\",\n \"NESTED LOOP\": `通过循环遍历第一个记录集中的每个记录,尝试在第二个记录集中找到匹配项来合并两个记录集。返回所有匹配的记录。`,\n \"NESTED LOOP JOIN\": `通过循环遍历第一个记录集中的每个记录,尝试在第二个记录集中找到匹配项来合并两个记录集。返回所有匹配的记录。`,\n \"MERGE JOIN\": `通过首先对它们进行排序(使用连接键)来合并两个记录集。`,\n HASH: `从输入记录集中的记录生成一个哈希表。哈希表被哈希连接使用。`,\n \"HASH JOIN\": `通过对其中一个记录集进行哈希(使用哈希扫描)来连接两个记录集。`,\n AGGREGATE: `根据GROUP BY或聚合函数(如sum())将记录分组在一起。`,\n HASHAGGREGATE: `根据GROUP BY或聚合函数(如sum())将记录分组在一起。哈希聚合首先使用哈希按键组织记录。`,\n \"GROUP AGGREGATE\": `根据GROUP BY或聚合函数(如sum())将记录分组在一起。哈希聚合首先使用哈希按键组织记录。`,\n \"SEQ SCAN\": `通过顺序扫描输入记录集来查找相关记录。当从表中读取时,Seq扫描(与索引扫描不同)执行单个读取操作(仅读取表)。`,\n \"TABLE ACCESS FULL\": `数据库系统需要扫描整个表来满足查询的条件,而不是利用索引或其他优化技术来加速查询。`,\n \"TABLE SCAN\": `通过顺序扫描输入记录集来查找相关记录。当从表中读取时,Table扫描(与索引扫描不同)执行单个读取操作(仅读取表)。`,\n \"INDEX SCAN\": `根据索引查找相关记录。索引扫描执行两次读取操作:一次读取索引,另一次从表中读取实际值。`,\n \"INDEX LOOKUP\": `根据索引查找相关记录。索引扫描执行两次读取操作:一次读取索引,另一次从表中读取实际值。`,\n \"INDEX ONLY SCAN\": `根据索引查找相关记录。仅索引扫描从索引中执行单个读取操作,不从相应的表中读取。`,\n \"COVERING INDEX SCAN\": `根据索引查找相关记录。仅索引扫描从索引中执行单个读取操作,不从相应的表中读取。`,\n \"BITMAP HEAP SCAN\": `在位图索引扫描返回的页面中搜索相关行。`,\n \"BITMAP INDEX SCAN\": `使用位图索引(每页使用1位的索引)查找所有相关页面。此节点的结果传递给位图堆扫描。`,\n \"CTE SCAN\": `对公共表达式(CTE)查询结果执行顺序扫描。请注意,CTE的结果被实体化(计算并临时存储)。`,\n MEMOIZE: `用于缓存嵌套循环的内部部分的结果。当当前参数的结果已经在缓存中时,它避免执行底层节点。`,\n GATHER: `以未定义的顺序读取并汇总并行工作者的结果。`,\n \"GATHER MERGE\": `读取并保留并行工作者的结果,保持任何排序。`,\n};\n\ninterface IHelpMessage {\n [key: string]: string;\n}\n\nexport const HELP_MESSAGES: IHelpMessage = {\n \"MISSING EXECUTION TIME\": `Execution time (or Total runtime) not available for this plan. Make sure you\n use EXPLAIN ANALYZE.`,\n \"MISSING PLANNING TIME\": \"Planning time not available for this plan.\",\n \"WORKERS PLANNED NOT LAUNCHED\": `Less workers than planned were launched.\nConsider modifying max_parallel_workers or max_parallel_workers_per_gather.`,\n \"WORKERS DETAILED INFO MISSING\": `Consider using EXPLAIN (ANALYZE, VERBOSE)`,\n \"FUZZY NEEDS VERBOSE\": `Information may not be accurate. Use EXPLAIN VERBOSE mode.`,\n \"HINT TRACK_IO_TIMING\": `HINT: activate track_io_timing to have details on time spent outside the PG cache.`,\n};\n\nexport const HELP_MESSAGES_Zh: IHelpMessage = {\n \"MISSING EXECUTION TIME\": `此计划未提供执行时间(或总运行时间)。请确保使用 EXPLAIN ANALYZE 命令。`,\n \"MISSING PLANNING TIME\": \"此计划未提供规划时间。\",\n \"WORKERS PLANNED NOT LAUNCHED\": `启动的工作进程少于计划数量。\n考虑修改 max_parallel_workers 或 max_parallel_workers_per_gather 参数。`,\n \"WORKERS DETAILED INFO MISSING\": `考虑使用 EXPLAIN (ANALYZE, VERBOSE) 命令。`,\n \"FUZZY NEEDS VERBOSE\": `信息可能不准确。请使用 EXPLAIN VERBOSE 模式。`,\n \"HINT TRACK_IO_TIMING\": `提示:激活 track_io_timing 参数以获取 PG 缓存之外的详细时间信息。`,\n};\n\ninterface EaseInOutQuadOptions {\n currentTime: number;\n start: number;\n change: number;\n duration: number;\n}\n\nexport function scrollChildIntoParentView(\n parent: HTMLDivElement,\n child: Element,\n shouldCenter: boolean,\n done?: () => void\n) {\n if (!child) {\n return;\n }\n // Where is the parent on page\n const parentRect = parent.getBoundingClientRect();\n // Where is the child\n const childRect = child.getBoundingClientRect();\n\n let scrollLeft = parent.scrollLeft; // don't move\n const isChildViewableX =\n childRect.left >= parentRect.left && childRect.left <= parentRect.right && childRect.right <= parentRect.right;\n\n let scrollTop = parent.scrollTop;\n const isChildViewableY =\n childRect.top >= parentRect.top && childRect.top <= parentRect.bottom && childRect.bottom <= parentRect.bottom;\n\n if (shouldCenter || !isChildViewableX || !isChildViewableY) {\n // scroll by offset relative to parent\n // try to put the child in the middle of parent horizontaly\n scrollLeft = childRect.left + parent.scrollLeft - parentRect.left - parentRect.width / 2 + childRect.width / 2;\n scrollTop = childRect.top + parent.scrollTop - parentRect.top - parentRect.height / 2 + childRect.height / 2;\n smoothScroll({\n element: parent,\n to: { scrollTop, scrollLeft },\n duration: 400,\n done,\n });\n } else if (done) {\n done();\n }\n}\n\nconst easeInOutQuad = ({ currentTime, start, change, duration }: EaseInOutQuadOptions) => {\n let newCurrentTime = currentTime;\n newCurrentTime /= duration / 2;\n\n if (newCurrentTime < 1) {\n return (change / 2) * newCurrentTime * newCurrentTime + start;\n }\n\n newCurrentTime -= 1;\n return (-change / 2) * (newCurrentTime * (newCurrentTime - 2) - 1) + start;\n};\n\ninterface SmoothScrollOptions {\n duration: number;\n element: Element;\n to: {\n scrollTop: number;\n scrollLeft: number;\n };\n done?: () => void;\n}\n\nexport function smoothScroll({ duration, element, to, done }: SmoothScrollOptions) {\n const startX = element.scrollTop;\n const startY = element.scrollLeft;\n const changeX = to.scrollTop - startX;\n const changeY = to.scrollLeft - startY;\n const startDate = new Date().getTime();\n\n const animateScroll = () => {\n const currentDate = new Date().getTime();\n const currentTime = currentDate - startDate;\n element.scrollTop = easeInOutQuad({\n currentTime,\n start: startX,\n change: changeX,\n duration,\n });\n element.scrollLeft = easeInOutQuad({\n currentTime,\n start: startY,\n change: changeY,\n duration,\n });\n\n if (currentTime < duration) {\n requestAnimationFrame(animateScroll);\n } else {\n element.scrollTop = to.scrollTop;\n element.scrollLeft = to.scrollLeft;\n if (done) {\n done();\n }\n }\n };\n animateScroll();\n}\n\n/*\n * Split a string, ensuring balanced parenthesis and balanced quotes.\n */\nexport function splitBalanced(input: string, split: string) {\n // Build the pattern from params with defaults:\n const pattern = \"([\\\\s\\\\S]*?)(e)?(?:(o)|(c)|(t)|(sp)|$)\"\n .replace(\"sp\", split)\n .replace(\"o\", \"[\\\\(\\\\{\\\\[]\")\n .replace(\"c\", \"[\\\\)\\\\}\\\\]]\")\n .replace(\"t\", \"['\\\"]\")\n .replace(\"e\", \"[\\\\\\\\]\");\n const r = new RegExp(pattern, \"gi\");\n const stack: string[] = [];\n let buffer: string[] = [];\n const results: string[] = [];\n input.replace(r, ($0, $1, $e, $o, $c, $t, $s) => {\n if ($e) {\n // Escape\n buffer.push($1, $s || $o || $c || $t);\n return \"\";\n } else if ($o) {\n // Open\n stack.push($o);\n } else if ($c) {\n // Close\n stack.pop();\n } else if ($t) {\n // Toggle\n if (stack[stack.length - 1] !== $t) {\n stack.push($t);\n } else {\n stack.pop();\n }\n } else {\n // Split (if no stack) or EOF\n if ($s ? !stack.length : !$1) {\n buffer.push($1);\n results.push(buffer.join(\"\"));\n buffer = [];\n return \"\";\n }\n }\n buffer.push($0);\n return \"\";\n });\n return results;\n}\n\nexport function findNodeById(plan: IPlan, id: number): Node | undefined {\n let o: Node | undefined = undefined;\n const root = plan.content.Plan;\n if (root.nodeId == id) {\n return root;\n }\n if (root && root.Plans) {\n root.Plans.some(function iter(child: Node): boolean | undefined {\n if (child.nodeId === id) {\n o = child;\n return true;\n }\n return child.Plans && child.Plans.some(iter);\n });\n if (!o && plan.ctes) {\n _.each(plan.ctes, (cte) => {\n if (cte.nodeId == id) {\n o = cte;\n return false;\n } else if (cte.Plans) {\n cte.Plans.some(function iter(child: Node): boolean | undefined {\n if (child.nodeId === id) {\n o = child;\n return true;\n }\n return child.Plans && child.Plans.some(iter);\n });\n if (o) {\n return false;\n }\n }\n return true;\n });\n }\n }\n return o;\n}\n\nexport function findNodeBySubplanName(plan: IPlan, subplanName: string): Node | undefined {\n let o: Node | undefined = undefined;\n if (plan.ctes) {\n _.each(plan.ctes, (cte) => {\n if (cte[NodeProp.SUBPLAN_NAME] == \"CTE \" + subplanName) {\n o = cte;\n return false;\n }\n return true;\n });\n }\n return o;\n}\n","import { isNotBlank } from \"utils/common\";\n\nexport function handleSubQuery(plan: string): string {\n let lines = plan.split(\"\\n\");\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n\n if (line.startsWith(\"-> Select #\")) {\n lines = handleSelectNode(lines, line);\n }\n }\n\n const convertedPlan = lines.join(\"\\n\");\n return convertedPlan;\n}\nexport function handleE(plan: string): string {\n const regex = /(\\d+(\\.\\d+)?)[eE](\\+|-)?(\\d+)/g;\n const result = plan.replace(regex, (_match, p1, _p2, p3, p4) => {\n return String(parseFloat(p1) * Math.pow(10, parseInt(p3 + p4)));\n });\n\n return result;\n}\n\nfunction handleSelectNode(lines: string[], parentLine: string): string[] {\n const result = [...lines];\n let isParentFound = false;\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n if (line.trim() === parentLine.trim()) {\n isParentFound = true;\n result[i] = \" \" + line;\n } else if (isParentFound && line.trim().startsWith(\"->\")) {\n const indent = line.indexOf(\"->\");\n if (indent > parentLine.indexOf(\"->\")) {\n result[i] = \" \" + line;\n } else {\n break; // Stop searching if indentation decreases\n }\n }\n }\n return result;\n}\n\nexport const parseMysqlJsonExplain = (explain: any): string => {\n //获取最外层的query_block\n const queryBlock = explain.query_block;\n //加上最外层子查询的cost(select_list_subqueries & optimized_away_subqueries)\n if (\n queryBlock &&\n queryBlock.cost_info &&\n (queryBlock.select_list_subqueries || queryBlock.optimized_away_subqueries)\n ) {\n let totalCost = 0;\n if (Array.isArray(queryBlock.select_list_subqueries)) {\n (queryBlock.select_list_subqueries as Array).forEach((item: any) => {\n if (item.query_block && item.query_block.cost_info) {\n totalCost += parseFloat(item.query_block.cost_info.query_cost);\n }\n });\n queryBlock.cost_info.query_cost = (parseFloat(queryBlock.cost_info.query_cost) + totalCost).toFixed(2);\n }\n if (Array.isArray(queryBlock.optimized_away_subqueries)) {\n (queryBlock.optimized_away_subqueries as Array).forEach((item: any) => {\n if (item.query_block && item.query_block.cost_info) {\n totalCost += parseFloat(item.query_block.cost_info.query_cost);\n }\n });\n queryBlock.cost_info.query_cost = (parseFloat(queryBlock.cost_info.query_cost) + totalCost).toFixed(2);\n }\n }\n\n //处理最外层的query_block\n const currentLevel = 0;\n let treeExplain = traverseQueryBlock(queryBlock, currentLevel);\n if (treeExplain.split(\"\\n\").length > 0) {\n const lines = treeExplain.split(\"\\n\");\n const firstLine = lines[0];\n const regex = /cost=(\\d+\\.\\d+)?/; // 正则表达式匹配 \"cost=数字\" 的模式\n\n const matches = firstLine.match(regex);\n\n if (matches && matches?.length > 0 && matches[1] && explain.query_block && explain.query_block.cost_info) {\n lines[0] = firstLine.replace(matches[1], explain.query_block.cost_info.query_cost);\n treeExplain = lines.join(\"\\n\");\n }\n }\n\n return treeExplain;\n};\n\nfunction traverseQueryBlock(queryBlock: any, currentLevel: number, fromType?: string): string {\n let treeExplain = \"\";\n for (const key in queryBlock) {\n if (queryBlock.hasOwnProperty(key)) {\n const value = queryBlock[key];\n const type = typeof value;\n\n if (key === \"message\") {\n const subTree = traverseMessage(value, currentLevel);\n treeExplain += subTree;\n }\n\n if (type === \"object\" || Array.isArray(value)) {\n if (key === \"cost_info\") {\n continue;\n }\n\n if (key === \"table\") {\n const subTree = traverseTable(value, currentLevel);\n treeExplain += subTree;\n }\n\n if (key === \"insert_from\") {\n //从属于上面的table所以+1级\n const subTree = traverseInsertFrom(value, currentLevel + 1);\n treeExplain += subTree;\n }\n\n if (key === \"grouping_operation\") {\n const subTree = traverseGroupingOperation(value, currentLevel);\n treeExplain += subTree;\n }\n\n if (key === \"nested_loop\") {\n const subTree = traverseNestedLoop(treeExplain, value, currentLevel);\n treeExplain = subTree;\n }\n\n if (key === \"duplicates_removal\") {\n const subTree = traverseDuplicatesRemoval(\"\", value, currentLevel);\n treeExplain += subTree;\n }\n\n if (key === \"ordering_operation\") {\n const subTree = traverseOrderingOperation(value, currentLevel);\n treeExplain += subTree;\n }\n\n if (key === \"select_list_subqueries\") {\n const subTree = traverseSubListQueries(value, currentLevel);\n treeExplain += subTree;\n }\n\n if (key === \"union_result\") {\n const subTree = traverseUnionResult(value, currentLevel, fromType);\n treeExplain += subTree;\n }\n\n if (key === \"optimized_away_subqueries\") {\n const { tree, subCost } = traverseOptimizedAwaySubListQueries(value, currentLevel);\n //把这个cost加到最上面的存在cost的行里\n let flag = false;\n treeExplain = treeExplain\n .split(\"\\n\")\n .map((line) => {\n const pattern = /\\(cost=(\\d+\\.\\d+) rows=(\\d+)\\)$/;\n if (!flag && pattern.test(line)) {\n //存在\n const modifiedStr = line.replace(pattern, (_match, cost, rows) => {\n const newCost = parseFloat(cost) + subCost;\n return `(cost=${newCost.toFixed(2)} rows=${rows})`;\n });\n flag = true;\n return modifiedStr;\n }\n return line;\n })\n .join(\"\\n\");\n treeExplain += tree;\n }\n }\n }\n }\n\n return treeExplain;\n}\nfunction traverseMessage(value: any, currentLevel: number): string {\n let treeExplain = \"\";\n\n if (value === \"Impossible WHERE\" || value === \"no matching row in const table\") {\n const nodeType = `Zero rows (${value})`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType} (cost=0.00..0.00 rows=0)\\n`;\n return treeExplain;\n }\n\n const nodeType = value;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType} (cost=0.00..0.00 rows=1)\\n`;\n\n return treeExplain;\n}\n\n// export function conditionHasMultiTables(value: any): boolean {\n// if (!value.attached_condition) {\n// return false;\n// }\n// const conditions: string[] = value.attached_condition.split(\" and \");\n// let result = false;\n// if (conditions.length > 1 && conditions[0].startsWith(\"((\")) {\n// conditions[0] = conditions[0].slice(1);\n// conditions[conditions.length - 1] = conditions[1].slice(0, -1);\n// }\n\n// conditions.forEach((item) => {\n// const regex = /`([^`]+)`\\.`([^`]+)`\\.`([^`]+)`/g;\n// let match;\n// const matches = new Set();\n// while ((match = regex.exec(item)) !== null) {\n// const tableName = match[2];\n\n// matches.add(tableName);\n// }\n// if (matches.size > 1) {\n// result = true;\n// }\n// });\n// return result;\n// }\n\nfunction getCondition(value: any, type: string): string {\n if (!value.attached_condition) {\n return \"\";\n }\n\n let tableCondition = \"\";\n\n // 检查是否为 语法\n const ifRegex = /\\(([^,]+),\\s*(.*?),\\s*true\\)/;\n let conditionString = value.attached_condition;\n const matchIf = conditionString.match(ifRegex);\n\n // 初始化首要条件\n if (matchIf) {\n conditionString = matchIf[1] + \" and \" + matchIf[2]; // 使用匹配的条件部分\n }\n\n const conditions: string[] = conditionString.split(\" and \");\n\n conditions.forEach((item) => {\n const regex = /`([^`]+)`\\.`([^`]+)`\\.`([^`]+)`/g;\n let match;\n const matches = new Set();\n while ((match = regex.exec(item)) !== null) {\n const tableName = match[2];\n\n matches.add(tableName);\n }\n\n if (type === \"table\") {\n if ((matches.size <= 1 && matches.has(value.table_name)) || item.includes(\"select#\")) {\n tableCondition += tableCondition === \"\" ? item : ` and ${item}`;\n }\n } else if (type === \"select\") {\n if (item.includes(\"select#\")) {\n tableCondition += tableCondition === \"\" ? item : ` and ${item}`;\n }\n } else if (type === \"nested_loop\") {\n if ((matches.size > 1 && matches.has(value.table_name)) || item.includes(\"select#\") || matchIf) {\n tableCondition += tableCondition === \"\" ? item : ` and ${item}`;\n }\n }\n });\n\n return tableCondition;\n}\n\nfunction traverseTable(value: any, currentLevel: number, type?: string): string {\n let initLevel = currentLevel;\n let treeExplain = \"\";\n // const showCost = !(value.access_type === \"index_merge\");\n\n //insert table\n if (value.insert) {\n const nodeType = `Insert into ${value.table_name}`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n return treeExplain;\n }\n if (value.replace) {\n const nodeType = `Replace into ${value.table_name}`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n return treeExplain;\n }\n\n const hasFilter = value.attached_condition && !type;\n //存在Filter\n if (value.attached_condition && !type) {\n //找出属于table范围的condition\n const tableCondition = getCondition(value, \"table\");\n //加一层\n if (value.cost_info) {\n const cost = (parseFloat(value.cost_info.read_cost) + parseFloat(value.cost_info.eval_cost)).toFixed(2);\n const rows = value.rows_produced_per_join;\n\n const nodeType = `Filter: ${tableCondition.replaceAll(\"`\", \"\").replaceAll(`(`, \"(\").replaceAll(`)`, \")\")}`;\n // const newNode = new Node(nodeType);\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType} (cost=${cost} rows=${rows})\\n`;\n } else {\n const nodeType = `Filter: ${tableCondition.replaceAll(\"`\", \"\").replaceAll(`(`, \"(\").replaceAll(`)`, \")\")}`;\n // const newNode = new Node(nodeType);\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n }\n currentLevel++;\n }\n\n //处理table\n const nodeType = getNodeTypeByAccessType(value);\n if (value.cost_info) {\n const cost = hasFilter\n ? parseFloat(value.cost_info.read_cost).toFixed(2)\n : (parseFloat(value.cost_info.read_cost) + parseFloat(value.cost_info.eval_cost)).toFixed(2);\n const rows = value.rows_examined_per_scan;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType} (cost=${cost} rows=${rows})\\n`;\n currentLevel++;\n } else {\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n currentLevel++;\n }\n\n //处理attached_subqueries\n if (value.attached_subqueries && Array.isArray(value.attached_subqueries) && !type) {\n if (value.attached_condition && (value.attached_condition as string).includes(\"select#\")) {\n initLevel++;\n }\n const subTree = traverseTableSubQueries(value, initLevel);\n treeExplain += subTree;\n currentLevel++;\n }\n\n //处理attached_subqueries\n if (value.materialized_from_subquery && value.materialized_from_subquery.query_block.union_result) {\n const subTree = traverseQueryBlock(\n value.materialized_from_subquery.query_block,\n currentLevel,\n \"materialized_from_subquery\"\n );\n treeExplain += subTree;\n currentLevel++;\n } else if (value.materialized_from_subquery) {\n const nodeType = `Materialize`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType} (cost=0.00..0.00 rows=0)\\n`;\n currentLevel++;\n\n const subTree = traverseQueryBlock(value.materialized_from_subquery.query_block, currentLevel);\n treeExplain += subTree;\n currentLevel++;\n }\n\n if (value.access_type === \"index_merge\") {\n const key = value.key;\n const regex = /^.*[(]([^)]+)[)].*$/g;\n const matches = regex.exec(key);\n if (matches && matches[1]) {\n const indexes = matches[1].split(\",\");\n indexes.forEach((index) => {\n const nodeType = `Index range scan on ${value.table_name} using ${index}`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n });\n }\n }\n\n return treeExplain;\n}\n\nfunction traverseInsertFrom(value: any, currentLevel: number): string {\n let treeExplain = \"\";\n if (value.buffer_result) {\n if (value.buffer_result.using_temporary_table) {\n let nodeType = `Table scan on `;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n currentLevel++;\n\n if (value.buffer_result.table.cost_info) {\n const cost = (\n parseFloat(value.buffer_result.table.cost_info.prefix_cost) +\n parseFloat(value.buffer_result.table.cost_info.eval_cost)\n ).toFixed(2);\n const rows = value.buffer_result.table.rows_examined_per_scan;\n nodeType = `Temporary table`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType} (cost=${cost}..${cost} rows=${rows})\\n`;\n } else {\n nodeType = `Temporary table`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n }\n\n currentLevel++;\n }\n if (value.buffer_result.table) {\n const subTreeExplain = traverseTable(value.buffer_result.table, currentLevel);\n treeExplain += subTreeExplain;\n return treeExplain;\n }\n }\n\n // throw new Error(\"unhandled attribute\");\n return treeExplain;\n}\n\nfunction traverseTableSubQueries(value: any, currentLevel: number): string {\n let treeExplain = \"\";\n // 处理attached_subqueries\n value.attached_subqueries.reverse().forEach((item: any) => {\n let initLevel = currentLevel;\n\n // 每个item是一个query_block\n let nodeType = `Select #${item.query_block.select_id}`;\n if (!item.dependent && item.cacheable) {\n nodeType += ` (subquery in condition; run only once)`;\n }\n // const newNode: Node = new Node(nodeType);\n\n treeExplain += `${\" \".repeat(initLevel)}-> ${nodeType}\\n`;\n\n initLevel++;\n\n const subTreeExplain = traverseQueryBlock(item.query_block, initLevel);\n\n treeExplain += subTreeExplain;\n });\n return treeExplain;\n}\n\nfunction traverseGroupingOperation(value: any, currentLevel: number): string {\n let treeExplain = \"\";\n\n if (value.using_temporary_table) {\n let nodeType = `Table scan on `;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n currentLevel++;\n\n nodeType = `Aggregate using temporary table`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n currentLevel++;\n } else {\n const nodeType = `Group aggregate`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n currentLevel++;\n }\n\n if (value.table) {\n const subTreeExplain = traverseTable(value.table, currentLevel);\n treeExplain += subTreeExplain;\n return treeExplain;\n }\n\n if (value.nested_loop) {\n const subTree = traverseNestedLoop(treeExplain, value.nested_loop, currentLevel);\n treeExplain = subTree;\n return treeExplain;\n }\n // throw new Error(\"unhandled group attribute\");\n return treeExplain;\n}\n\nfunction traverseUnionResult(value: any, currentLevel: number, fromType?: string): string {\n let treeExplain = \"\";\n\n if (fromType === \"materialized_from_subquery\") {\n if (value.using_temporary_table) {\n // union\n\n const nodeType = `Union materialize with deduplication`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n currentLevel++;\n } else {\n // union all\n const nodeType = `Union all materialize`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n currentLevel++;\n }\n\n if (value.query_specifications && Array.isArray(value.query_specifications)) {\n const subTreeExplain = traverseQuerySpecifications(\n value.query_specifications,\n currentLevel,\n value.using_temporary_table,\n fromType\n );\n treeExplain += subTreeExplain;\n return treeExplain;\n }\n\n // throw new Error(\"unhandled union attribute\");\n return treeExplain;\n } else {\n if (value.using_temporary_table) {\n // union\n let nodeType = `Table scan on `;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n currentLevel++;\n\n nodeType = `Union materialize with deduplication`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n currentLevel++;\n } else {\n // union all\n const nodeType = `Append`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n currentLevel++;\n }\n\n if (value.query_specifications && Array.isArray(value.query_specifications)) {\n const subTreeExplain = traverseQuerySpecifications(\n value.query_specifications,\n currentLevel,\n value.using_temporary_table,\n fromType\n );\n treeExplain += subTreeExplain;\n return treeExplain;\n }\n\n // throw new Error(\"unhandled union attribute\");\n return treeExplain;\n }\n}\n\nfunction traverseQuerySpecifications(value: any, currentLevel: number, isUnionAll: boolean, fromType?: string): string {\n let treeExplain = \"\";\n // 处理query_specifications\n value.forEach((item: any) => {\n let initLevel = currentLevel;\n\n if (fromType === \"materialized_from_subquery\") {\n const subTreeExplain = traverseQueryBlock(item.query_block, initLevel);\n treeExplain += subTreeExplain;\n } else {\n if (!isUnionAll) {\n //union\n // 每个item是一个query_block\n const nodeType = `Stream results`;\n const hasCost = item.query_block?.table?.cost_info;\n if (hasCost) {\n const cost = (\n parseFloat(item.query_block.table.cost_info.prefix_cost) +\n parseFloat(item.query_block.table.cost_info.eval_cost)\n ).toFixed(2);\n const rows = item.query_block.table.rows_examined_per_scan;\n treeExplain += `${\" \".repeat(initLevel)}-> ${nodeType} (cost=${cost} rows=${rows})\\n`;\n } else {\n treeExplain += `${\" \".repeat(initLevel)}-> ${nodeType}\\n`;\n }\n initLevel++;\n }\n const subTreeExplain = traverseQueryBlock(item.query_block, initLevel);\n treeExplain += subTreeExplain;\n }\n });\n return treeExplain;\n}\n\nfunction traverseOrderingOperation(value: any, currentLevel: number): string {\n let treeExplain = \"\";\n\n //using_filesort = true\n if (value.using_filesort) {\n // const cost = (parseFloat(value.table.cost_info.read_cost)+ parseFloat(value.table.cost_info.eval_cost)).toFixed(2);\n // const rows = value.table.rows_produced_per_join;\n\n const nodeType = `Sort`;\n // const newNode = new Node(nodeType);\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n currentLevel++;\n }\n if (value.table) {\n const subTreeExplain = traverseTable(value.table, currentLevel);\n treeExplain += subTreeExplain;\n }\n\n if (value.grouping_operation) {\n const subTreeExplain = traverseGroupingOperation(value.grouping_operation, currentLevel);\n treeExplain += subTreeExplain;\n }\n\n if (value.nested_loop) {\n const subTreeExplain = traverseNestedLoop(treeExplain, value.nested_loop, currentLevel);\n treeExplain = subTreeExplain;\n }\n\n if (value.duplicates_removal) {\n const subTreeExplain = traverseDuplicatesRemoval(treeExplain, value.duplicates_removal, currentLevel);\n treeExplain = subTreeExplain;\n }\n\n return treeExplain;\n}\n\nfunction traverseDuplicatesRemoval(treeExplain: string, value: any, currentLevel: number): string {\n const nodeType = `Duplicates removal`;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n currentLevel++;\n\n if (value.using_temporary_table) {\n const nodeType = `Table scan on `;\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n currentLevel++;\n }\n\n if (value.table) {\n const subTreeExplain = traverseTable(value.table, currentLevel);\n\n treeExplain += subTreeExplain;\n return treeExplain;\n }\n\n if (value.nested_loop) {\n const subTree = traverseNestedLoop(treeExplain, value.nested_loop, currentLevel);\n treeExplain = subTree;\n return treeExplain;\n }\n if (value.nested_loop) {\n const subTree = traverseNestedLoop(treeExplain, value.nested_loop, currentLevel);\n treeExplain = subTree;\n return treeExplain;\n }\n // throw new Error(\"unhandled group attribute\");\n return treeExplain;\n}\n\nfunction traverseNestedLoop(treeExplain: string, value: any, currentLevel: number): string {\n let initLevel = currentLevel;\n if (value.length === 2) {\n const outerTable = value[0].table;\n const innerTable = value[1].table;\n\n if (outerTable.access_type === \"const\" || innerTable.access_type === \"const\") {\n if (innerTable.access_type === \"const\") {\n const subTree = traverseTable(outerTable, currentLevel);\n treeExplain += subTree;\n }\n if (outerTable.access_type === \"const\") {\n const subTree = traverseTable(innerTable, initLevel);\n treeExplain += subTree;\n }\n return treeExplain;\n }\n const cost = parseFloat(innerTable.cost_info.prefix_cost).toFixed(2);\n const rows = innerTable.rows_produced_per_join;\n\n //特殊处理filter\n // select filter\n const hasSelect = innerTable.attached_condition && (innerTable.attached_condition as string).includes(\"select#\");\n const hasFilter = hasSelect;\n // || conditionHasMultiTables(innerTable);\n\n if (hasFilter) {\n //添加对应的filter\n //找出属于select范围的condition\n const tableCondition = getCondition(innerTable, \"nested_loop\");\n const nodeType = `Filter: ${tableCondition.replaceAll(\"`\", \"\").replaceAll(`(`, \"(\").replaceAll(`)`, \")\")}`;\n const filterCost = (parseFloat(value.cost_info.read_cost) + parseFloat(value.cost_info.eval_cost)).toFixed(2);\n const filterRows = innerTable.rows_produced_per_join;\n\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType} (cost=${filterCost} rows=${filterRows})\\n`;\n currentLevel++;\n initLevel = currentLevel;\n }\n\n if (isNotBlank(innerTable.using_join_buffer)) {\n const nodeType = innerTable.using_join_buffer;\n const tableCondition = getCondition(innerTable, \"nested_loop\");\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType} ${tableCondition\n .replaceAll(\"`\", \"\")\n .replaceAll(`(`, \"(\")\n .replaceAll(`)`, \")\")} (cost=${cost} rows=${rows})\\n`;\n currentLevel++;\n\n const subTreeExplain2 = traverseTable(innerTable, currentLevel, \"nested_loop_in\");\n\n //特殊处理filter和select\n\n treeExplain += subTreeExplain2;\n\n // if (innerTable.using_join_buffer) {\n // const nodeType = `Hash`;\n // treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n // currentLevel++;\n // }\n const subTreeExplain1 = traverseTable(outerTable, currentLevel);\n treeExplain += subTreeExplain1;\n\n //特殊处理select\n if (hasSelect) {\n const subTree = traverseTableSubQueries(innerTable, initLevel);\n treeExplain += subTree;\n }\n return treeExplain;\n } else {\n const nodeType = `Nested loop join`;\n const tableCondition = getCondition(innerTable, \"nested_loop\");\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType} ${tableCondition\n .replaceAll(\"`\", \"\")\n .replaceAll(`(`, \"(\")\n .replaceAll(`)`, \")\")} (cost=${cost} rows=${rows})\\n`;\n currentLevel++;\n\n const subTreeExplain1 = traverseTable(outerTable, currentLevel);\n treeExplain += subTreeExplain1;\n const subTreeExplain2 = traverseTable(innerTable, currentLevel);\n treeExplain += subTreeExplain2;\n\n return treeExplain;\n }\n } else {\n const innerTable = value[value.length - 1].table;\n\n //特殊处理filter\n\n //特殊处理filter\n // select filter\n const hasSelect = innerTable.attached_condition && (innerTable.attached_condition as string).includes(\"select#\");\n const hasFilter = hasSelect;\n // || conditionHasMultiTables(innerTable);\n\n let cost = undefined;\n if (innerTable.cost_info) {\n cost = hasFilter\n ? parseFloat(innerTable.cost_info.read_cost).toFixed(2)\n : parseFloat(innerTable.cost_info.prefix_cost).toFixed(2);\n }\n\n const rows = innerTable.rows_produced_per_join;\n\n if (hasFilter) {\n //添加对应的filter\n //找出属于select范围的condition\n const tableCondition = getCondition(innerTable, \"nested_loop\");\n const nodeType = `Filter: ${tableCondition.replaceAll(\"`\", \"\").replaceAll(`(`, \"(\").replaceAll(`)`, \")\")}`;\n //filter cost\n const filterCost = parseFloat(innerTable.cost_info.eval_cost).toFixed(2);\n const filterRows = innerTable.rows_produced_per_join;\n\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType} (cost=${filterCost} rows=${filterRows})\\n`;\n currentLevel++;\n initLevel = currentLevel;\n }\n\n if (isNotBlank(innerTable.using_join_buffer)) {\n const nodeType = innerTable.using_join_buffer;\n const tableCondition = getCondition(innerTable, \"nested_loop\");\n\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType} ${tableCondition\n .replaceAll(\"`\", \"\")\n .replaceAll(`(`, \"(\")\n .replaceAll(`)`, \")\")}${cost ? ` (cost=${cost} rows=${rows})` : \"\"}\\n`;\n currentLevel++;\n } else {\n const nodeType = `Nested loop join`;\n const tableCondition = getCondition(innerTable, \"nested_loop\");\n treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType} ${tableCondition\n .replaceAll(\"`\", \"\")\n .replaceAll(`(`, \"(\")\n .replaceAll(`)`, \")\")}${cost ? ` (cost=${cost} rows=${rows})` : \"\"}\\n`;\n currentLevel++;\n }\n\n // if (innerTable.using_join_buffer) {\n // const subTreeExplain1 = traverseTable(innerTable, currentLevel, \"nested_loop_in\");\n // treeExplain += subTreeExplain1;\n // const nodeType = `Hash`;\n // treeExplain += `${\" \".repeat(currentLevel)}-> ${nodeType}\\n`;\n // currentLevel++;\n // } else {\n\n // }\n const nestedLoop = traverseNestedLoop(treeExplain, value.slice(0, -1), currentLevel);\n treeExplain = nestedLoop;\n\n const subTreeExplain1 = traverseTable(innerTable, currentLevel);\n treeExplain += subTreeExplain1;\n\n //特殊处理select\n if (hasSelect) {\n const subTree = traverseTableSubQueries(innerTable, initLevel);\n treeExplain += subTree;\n }\n return treeExplain;\n }\n}\n\nfunction traverseSubListQueries(value: any, currentLevel: number): string {\n let treeExplain = \"\";\n // 处理attached_subqueries\n value.forEach((item: any) => {\n let currentItemLevel = currentLevel;\n // 每个item是一个query_block\n let nodeType = `Select #${item.query_block.select_id}`;\n if (!item.dependent && item.cacheable) {\n nodeType += ` (subquery in condition; run only once)`;\n }\n // const newNode: Node = new Node(nodeType);\n\n treeExplain += `${\" \".repeat(currentItemLevel)}-> ${nodeType}\\n`;\n\n currentItemLevel++;\n\n const subTreeExplain = traverseQueryBlock(item.query_block, currentItemLevel);\n\n treeExplain += subTreeExplain;\n });\n return treeExplain;\n}\n\nfunction traverseOptimizedAwaySubListQueries(value: any, currentLevel: number): { tree: string; subCost: number } {\n let treeExplain = \"\";\n // 处理optimized_away_subqueries\n let cost = 0;\n value.forEach((item: any) => {\n let currentItemLevel = currentLevel;\n // 每个item是一个query_block\n let nodeType = `Select #${item.query_block.select_id}`;\n if (!item.dependent && item.cacheable) {\n nodeType += ` (subquery in condition; run only once)`;\n }\n // const newNode: Node = new Node(nodeType);\n\n treeExplain += `${\" \".repeat(currentItemLevel)}-> ${nodeType}\\n`;\n\n currentItemLevel++;\n\n const subTreeExplain = traverseQueryBlock(item.query_block, currentItemLevel);\n\n treeExplain += subTreeExplain;\n\n if (item.query_block?.cost_info?.query_cost) {\n cost += parseFloat(item.query_block?.cost_info?.query_cost);\n }\n });\n return { tree: treeExplain, subCost: cost };\n}\n\n// function determineAccessType(table: any): string {\n// if (table.access_type === \"ALL\") {\n// return `Table scan on ${table.table_name}`;\n// } else if (table.key) {\n// return `Index lookup on ${table.table_name} using ${table.key} ${\n// table.used_key_parts && table.ref ? \"(\" + table.used_key_parts[0] + \"=\" + table.ref[0] + \")\" : \"\"\n// }`;\n// } else {\n// return `Table scan on ${table.table_name}`;\n// }\n// }\n// function areArraysEqual(arr1:string[], arr2:string[]) {\n// if (arr1.length !== arr2.length) {\n// return false;\n// }\n\n// for (let i = 0; i < arr1.length; i++) {\n// if (arr1[i] !== arr2[i]) {\n// return false;\n// }\n// }\n\n// return true;\n// }\nfunction getNodeTypeByAccessType(table: any) {\n const accessType = table.access_type;\n\n if (accessType === \"ALL\") {\n return `Table scan on ${table.table_name}`;\n } else if (accessType === \"index\") {\n if (table.using_index) {\n if (table.key) {\n return `Covering index scan on ${table.table_name} using ${table.key}`;\n }\n return `Covering index scan on ${table.table_name}`;\n }\n if (table.key) {\n return `Index scan on ${table.table_name} using ${table.key}`;\n }\n return `Index scan on ${table.table_name}`;\n } else if (accessType === \"range\") {\n if (table.key) {\n return `Index range scan on ${table.table_name} using ${table.key}`;\n }\n return `Index range scan on ${table.table_name}`;\n } else if (accessType === \"eq_ref\") {\n if (table.rows_examined_per_scan === 1) {\n if (table.key) {\n let nodeType = `Single-row index lookup on ${table.table_name} using ${table.key}`;\n if (table.used_key_parts && table.ref) {\n nodeType += ` (${table.used_key_parts\n .map((item: any, index: number) => item + \"=\" + table.ref[index])\n .join(\", \")})`;\n }\n return nodeType;\n }\n\n return `Single-row index lookup on ${table.table_name}`;\n }\n return `Unique index lookup on ${table.table_name}`;\n } else if (accessType === \"ref\") {\n // if (table.rows_examined_per_scan === 1) {\n // if (table.key && table.used_key_parts && table.ref) {\n // return `Single-row index lookup on ${table.table_name} using ${table.key} (${table.used_key_parts\n // .map((item: any, index: number) => item + \"=\" + table.ref[index])\n // .join(\", \")})`;\n // } else if (table.key) {\n // return `Single-row index lookup on ${table.table_name} using ${table.key}`;\n // }\n // return `Single-row index lookup on ${table.table_name}`;\n // }\n if (table.key && table.used_key_parts && table.ref) {\n let nodeType = `Index lookup on ${table.table_name} using ${table.key} (${table.used_key_parts\n .map((item: any, index: number) => item + \"=\" + table.ref[index])\n .join(\", \")})`;\n if (table.index_condition) {\n nodeType += `, with index condition: ${table.index_condition.replaceAll(\"`\", \"\")}`;\n }\n return nodeType;\n } else if (table.key) {\n let nodeType = `Index lookup on ${table.table_name} using ${table.key}`;\n if (table.index_condition) {\n nodeType += `, with index condition: ${table.index_condition.replaceAll(\"`\", \"\")}`;\n }\n return nodeType;\n }\n return `Index lookup on ${table.table_name}`;\n }\n // else if (table.access_type === \"const\" && table.ref[0] === \"const\") {\n // return \"Rows fetched before execution\";\n // }\n else if (accessType === \"const\") {\n if (table.key && table.used_key_parts && table.ref) {\n let nodeType = `Constant index lookup on ${table.table_name} using ${table.key} (${table.used_key_parts\n .map((item: any, index: number) => item + \"=\" + table.ref[index])\n .join(\", \")})`;\n if (table.index_condition) {\n nodeType += `, with index condition: ${table.index_condition.replaceAll(\"`\", \"\")}`;\n }\n return nodeType;\n } else if (table.key) {\n let nodeType = `Constant index lookup on ${table.table_name} using ${table.key}`;\n if (table.index_condition) {\n nodeType += `, with index condition: ${table.index_condition.replaceAll(\"`\", \"\")}`;\n }\n return nodeType;\n }\n\n return \"Constant index lookup\";\n } else if (accessType === \"system\") {\n return \"Constant table access\";\n } else if (accessType === \"unique_subquery\") {\n return \"Unique subquery\";\n } else if (accessType === \"index_subquery\") {\n return \"Index subquery\";\n } else if (accessType === \"index_merge\") {\n if (table.key.startsWith(\"intersect\")) {\n return \"Intersect rows sorted by row ID\";\n }\n //intersect|union|sort_union\n return \"Intersect rows sorted by row ID\";\n }\n return `Table scan on ${table.table_name}`;\n}\n","export function parseOracleExplain(tableText: string) {\n const objects = handleNodes(tableText);\n const predicates = handlePredicates(tableText);\n\n let result = \"\";\n\n objects.forEach((obj, index) => {\n /**\n * Plan hash value: 98068815\n \n ------------------------------------------------------------------------------\n | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |\n ------------------------------------------------------------------------------\n | 0 | SELECT STATEMENT | | 1 | 200 | 2 (0)| 00:00:01 |\n |* 1 | TABLE ACCESS FULL| LINEITEM | 1 | 200 | 2 (0)| 00:00:01 |\n ------------------------------------------------------------------------------\n \n Predicate Information (identified by operation id):\n ---------------------------------------------------\n \n 1 - filter(\"L_SHIPDATE\"=TO_DATE(' 2021-12-01 00:00:00', 'syyyy-mm-dd \n hh24:mi:ss'))\n */\n /**\n * -> Nested loop inner join (cost=1.45 rows=1) (actual time=1.236..1.236 rows=0 loops=1)\n -> Table scan on ORDERS (cost=1.10 rows=1) (actual time=1.234..1.234 rows=0 loops=1)\n -> Filter: (lineitem.L_SHIPDATE = DATE'2021-12-01') (cost=0.35 rows=1) (never executed)\n -> Index lookup on LINEITEM using PRIMARY (L_ORDERKEY=orders.O_ORDERKEY) (cost=0.35 rows=1) (never executed)\n */\n obj = handleOperation(obj);\n let line = \"\";\n\n // if (obj.analyze) {\n //存在actual time\n line = `${\" \".repeat(obj.OperationLevel ?? 0)}${index === 0 ? \"\" : \"-> \"}${obj.Operation} ${`(cost=${\n obj.Cost ?? 0\n }..${obj.Cost ?? 0} rows=${obj[\"E-Rows\"] ? obj[\"E-Rows\"] : 0} width=0)`} ${`(actual time=${obj.ATime ?? 0}..${\n obj.ATime ?? 0\n } rows=${obj[\"A-Rows\"] ?? 0} loops=1)`}`;\n // }\n // else {\n // //不存在\n // line = `${\" \".repeat(obj.OperationLevel ?? 0)}${index === 0 ? \"\" : \"-> \"}${\n // obj.Operation\n // } ${`(cost=${obj.Cost}..${obj.Cost} rows=${obj.Rows} width=0)`}`;\n // }\n\n result += line + \"\\n\";\n\n //判断是否有谓词信息\n if (obj.Id.startsWith(\"*\")) {\n const id = obj.Id.slice(1).trim();\n const predicateList = predicates[id];\n if (predicateList) {\n predicateList.forEach((predicate: string) => {\n const regex = /\\(/;\n let nodeAtribute = predicate.replace(regex, \": (\");\n if (nodeAtribute) {\n nodeAtribute = nodeAtribute.charAt(0).toUpperCase() + nodeAtribute.slice(1);\n result += `${\" \".repeat(obj.OperationLevel + 1)}${nodeAtribute}\\n`;\n }\n });\n }\n }\n });\n\n return result;\n}\n\nfunction handleNodes(tableText: string): any[] {\n let lines = tableText.trim().split(\"\\n\");\n const firstLineIndex = lines.findIndex((item) => item.trim().toLowerCase().startsWith(\"plan hash value\"));\n if (firstLineIndex === -1) {\n //不存在Plan hash value\n throw Error();\n }\n\n const headers = lines[firstLineIndex + 3]\n .split(\"|\")\n .map((header) => header.trim())\n .filter((header) => header !== \"\");\n\n // 删除第一行\n lines = lines.slice(firstLineIndex + 5);\n\n const lastLineIndex = lines.findIndex((item: string) => item.startsWith(\"-\"));\n lines = lines.slice(0, lastLineIndex);\n\n const objects = [];\n\n for (let i = 0; i < lines.length; i++) {\n const values = lines[i]\n .split(\"|\")\n .map((value) => value)\n .filter((value) => value !== \"\");\n const obj: { [key: string]: any } = {};\n\n for (let j = 0; j < values.length; j++) {\n if (headers[j] === \"Operation\") {\n const value = values[j].slice(1).trimEnd();\n\n obj[headers[j]] = value;\n obj[\"OperationLevel\"] = 0;\n const matchResult = value.match(/^\\s*/);\n if (matchResult !== null) {\n obj[\"OperationLevel\"] = matchResult[0].length;\n }\n } else if (headers[j] === \"Cost (%CPU)\") {\n if (values[j].trim().length > 0) {\n obj[\"Cost\"] = parseFloat(\n convertToNumber(\n values[j]\n .trim()\n .replace(/\\([^)]*\\)/g, \"\")\n .trim()\n ) + \"\"\n ).toFixed(2);\n } else {\n obj[\"Cost\"] = undefined;\n }\n } else if (headers[j] === \"A-Rows\" || headers[j] === \"E-Rows\") {\n if (values[j].trim().length > 0) {\n obj[headers[j]] = parseFloat(\n convertToNumber(\n values[j]\n .trim()\n .replace(/\\([^)]*\\)/g, \"\")\n .trim()\n ) + \"\"\n ).toFixed(2);\n } else {\n obj[headers[j]] = undefined;\n }\n } else if (headers[j] === \"Rows\") {\n if (values[j].trim().length > 0) {\n obj[\"A-Rows\"] = parseFloat(\n convertToNumber(\n values[j]\n .trim()\n .replace(/\\([^)]*\\)/g, \"\")\n .trim()\n ) + \"\"\n ).toFixed(2);\n obj[\"E-Rows\"] = parseFloat(\n convertToNumber(\n values[j]\n .trim()\n .replace(/\\([^)]*\\)/g, \"\")\n .trim()\n ) + \"\"\n ).toFixed(2);\n } else {\n obj[\"Rows\"] = undefined;\n }\n } else if (headers[j] === \"A-Time\" || headers[j] === \"Time\") {\n obj[\"analyze\"] = true;\n if (values[j].trim().length > 0) {\n const timeString = values[j].trim();\n const timeParts = timeString.split(\".\");\n\n const timeInSeconds = timeParts[0];\n const milliseconds = parseInt(timeParts[1] ?? 0);\n\n const timeComponents = timeInSeconds.split(\":\");\n const hours = parseInt(timeComponents[0]);\n const minutes = parseInt(timeComponents[1]);\n const seconds = parseInt(timeComponents[2]);\n\n const totalMilliseconds = hours * 3600000 + minutes * 60000 + seconds * 1000 + milliseconds;\n const actualTime = totalMilliseconds.toFixed(3);\n obj[\"ATime\"] = actualTime;\n } else {\n obj[\"ATime\"] = undefined;\n }\n } else {\n obj[headers[j]] = values[j].trim();\n }\n }\n\n objects.push(obj);\n }\n return objects;\n}\n\nfunction handlePredicates(tableText: string): { [key: string]: any } {\n let lines = tableText.trim().split(\"\\n\");\n\n const firstLineIndex = lines.findIndex((item) => item.startsWith(\"Predicate Information\"));\n if (firstLineIndex === -1) {\n //不存在谓词信息\n return {};\n }\n lines = lines.slice(firstLineIndex + 3);\n\n const lastLineIndex = lines.findIndex((item) => item.trim() === \"\");\n\n lines = lastLineIndex === -1 ? lines : lines.slice(0, lastLineIndex + 1);\n\n lines = mergeLines(lines);\n\n const predicates: { [key: string]: any } = {};\n for (const item of lines) {\n const firstDashIndex = item.indexOf(\"-\");\n if (firstDashIndex !== -1) {\n const firstPart = item.substring(0, firstDashIndex);\n const secondPart = item.substring(firstDashIndex + 1);\n // 谓词可能有多个,应该放个列表\n const predicateList = secondPart.trim().split(\"; \");\n\n // id => predicate\n predicates[firstPart.trim()] = predicateList;\n } else {\n return predicates;\n }\n }\n return predicates;\n}\n\nfunction handleOperation(obj: { [key: string]: any }) {\n let nodeType: string = obj.Operation;\n if (nodeType) {\n if (nodeType.includes(\"TABLE ACCESS\")) {\n //后面跟的name应该是表名介词用on\n nodeType += ` on ${obj.Name}`;\n } else if (nodeType.startsWith(\"INDEX\") && nodeType.endsWith(\"SCAN\")) {\n //后面跟的name应该是表名介词用on\n nodeType += ` using ${obj.Name}`;\n }\n }\n obj = { ...obj, Operation: nodeType };\n return obj;\n}\n\nfunction mergeLines(lines: string[]) {\n const mergedLines = [];\n let previousLine = \"\";\n const firstLine = lines[0];\n const frontIndex = firstLine.indexOf(\"-\");\n const predicateFrontBlank = frontIndex + 2;\n const breakLineBlank = predicateFrontBlank + 1;\n\n for (const line of lines) {\n if (line.startsWith(\" \".repeat(breakLineBlank))) {\n if (previousLine !== \"\") {\n mergedLines[mergedLines.length - 1] += line.slice(breakLineBlank);\n } else {\n mergedLines.push(line);\n }\n previousLine = mergedLines[mergedLines.length - 1];\n } else if (line.startsWith(\" \".repeat(predicateFrontBlank))) {\n if (previousLine !== \"\") {\n //todo 考虑怎么添加一个特殊字符\n mergedLines[mergedLines.length - 1] += \"; \" + line.slice(predicateFrontBlank);\n } else {\n mergedLines.push(line);\n }\n previousLine = mergedLines[mergedLines.length - 1];\n } else {\n mergedLines.push(line);\n previousLine = line;\n }\n }\n\n return mergedLines;\n}\n\nfunction convertToNumber(value: string) {\n value = value.trim().toUpperCase();\n\n if (value.endsWith(\"K\")) {\n return parseFloat(value.slice(0, -1)) * 1000;\n } else if (value.endsWith(\"M\")) {\n return parseFloat(value.slice(0, -1)) * 1000000;\n } else {\n return parseFloat(value) || 0;\n }\n}\n","export function parseOceanbaseExplain(tableText: string) {\n const objects = handleNodes(tableText);\n\n let result = \"\";\n\n objects.forEach((obj, index) => {\n /**\n select *\n from customer\n where customer.c_custkey = \n (select max(orders.o_custkey)\n from orders\n where subdate(orders.o_orderdate, interval '1' DAY) < '2022-12-20'\n )\n */\n /**\n =========================================================\n |ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|\n ---------------------------------------------------------\n |0 |MERGE JOIN | |1 |5 |\n |1 |├─SUBPLAN SCAN |VIEW1 |1 |3 |\n |2 |│ └─SCALAR GROUP BY | |1 |3 |\n |3 |│ └─TABLE FULL SCAN|orders |1 |3 |\n |4 |└─TABLE FULL SCAN |customer|1 |3 |\n =========================================================\n Outputs & filters:\n -------------------------------------\n 0 - output([customer.C_CUSTKEY], [customer.C_NAME], [customer.C_ADDRESS], [customer.C_NATIONKEY], [customer.C_PHONE], [customer.C_ACCTBAL], [customer.C_MKTSEGMENT],\n [customer.C_COMMENT]), filter(nil), rowset=16\n equal_conds([customer.C_CUSTKEY = VIEW1.max(orders.o_custkey)]), other_conds(nil)\n merge_directions([ASC])\n 1 - output([VIEW1.max(orders.o_custkey)]), filter(nil), rowset=16\n access([VIEW1.max(orders.o_custkey)])\n 2 - output([T_FUN_MAX(T_FUN_MAX(orders.O_CUSTKEY))]), filter(nil), rowset=16\n group(nil), agg_func([T_FUN_MAX(T_FUN_MAX(orders.O_CUSTKEY))])\n 3 - output([T_FUN_MAX(orders.O_CUSTKEY)]), filter([cast(date_sub(orders.O_ORDERDATE, '1', 4), DATETIME(-1, -1)) < INTERNAL_FUNCTION('2022-12-20', 113,\n 17)]), rowset=16\n access([orders.O_ORDERDATE], [orders.O_CUSTKEY]), partitions(p0)\n is_index_back=false, is_global_index=false, filter_before_indexback[false], \n range_key([orders.__pk_increment]), range(MIN ; MAX)always true, \n pushdown_aggregation([T_FUN_MAX(orders.O_CUSTKEY)])\n 4 - output([customer.C_CUSTKEY], [customer.C_NAME], [customer.C_ADDRESS], [customer.C_NATIONKEY], [customer.C_PHONE], [customer.C_ACCTBAL], [customer.C_MKTSEGMENT],\n [customer.C_COMMENT]), filter(nil), rowset=16\n access([customer.C_CUSTKEY], [customer.C_NAME], [customer.C_ADDRESS], [customer.C_NATIONKEY], [customer.C_PHONE], [customer.C_ACCTBAL], [customer.C_MKTSEGMENT],\n [customer.C_COMMENT]), partitions(p0)\n is_index_back=false, is_global_index=false, \n range_key([customer.C_CUSTKEY]), range(MIN ; MAX)always true\n */\n /**\n -> Constant index lookup on customer using PRIMARY (C_CUSTKEY=const) (cost=30507.60 rows=1)\n -> Select #2 (subquery in condition; run only once)\n -> Filter: ((tpch.orders.O_ORDERDATE - interval '1' day) < '2022-12-20') (cost=30506.60 rows=298896)\n -> Table scan on orders (cost=617.00 rows=298896)\n\n */\n obj = handleOperation(obj);\n let line = \"\";\n\n if (obj.analyze) {\n //存在actual time\n line = `${\" \".repeat(obj.OperationLevel ?? 0)}${index === 0 ? \"\" : \"-> \"}${\n obj.Operation\n } ${`(cost=0.00..0.00 rows=${\n obj[\"E-Rows\"] ? obj[\"E-Rows\"] : 0\n } width=0)`} ${`(actual time=${obj.ATime}..${obj.ATime} rows=${obj[\"A-Rows\"]} loops=1)`}`;\n } else {\n //不存在\n line = `${\" \".repeat(obj.OperationLevel ?? 0)}${index === 0 ? \"\" : \"-> \"}${\n obj.Operation\n } ${`(cost=${obj.Cost}..${obj.Cost} rows=${obj.Rows} width=0)`}`;\n }\n\n result += line + \"\\n\";\n });\n return result;\n}\n\nfunction handleNodes(tableText: string): any[] {\n let lines = tableText.trim().split(\"\\n\");\n const firstLineIndex = lines.findIndex((item) => item.trim().toLowerCase().startsWith(\"=\"));\n if (firstLineIndex === -1) {\n //不存在=\n throw Error();\n }\n\n const headers = lines[firstLineIndex + 1]\n .split(\"|\")\n .map((header) => header.trim())\n .filter((header) => header !== \"\");\n\n // 删除第一行\n lines = lines.slice(firstLineIndex + 3);\n\n const lastLineIndex = lines.findIndex((item: string) => item.startsWith(\"=\"));\n lines = lines.slice(0, lastLineIndex);\n\n const objects = [];\n\n for (let i = 0; i < lines.length; i++) {\n const values = lines[i]\n .split(\"|\")\n .map((value) => value)\n .filter((value) => value !== \"\");\n const obj: { [key: string]: any } = {};\n\n for (let j = 0; j < values.length; j++) {\n if (headers[j] === \"OPERATOR\") {\n const value = values[j]\n .replaceAll(\"└\", \" \")\n .replaceAll(\"├\", \" \")\n .replaceAll(\"│\", \" \")\n .replaceAll(\"─\", \" \")\n .trimEnd();\n obj[\"Operation\"] = value;\n obj[\"OperationLevel\"] = 0;\n const matchResult = value.match(/^\\s*/);\n if (matchResult !== null) {\n obj[\"OperationLevel\"] = matchResult[0].length > 0 ? matchResult[0].length / 2 : 0;\n }\n } else if (headers[j] === \"EST.TIME(us)\" || headers[j] === \"COST\") {\n obj[\"Cost\"] = values[j].trim();\n } else if (headers[j] === \"EST.ROWS\") {\n obj[\"Rows\"] = values[j].trim();\n } else if (headers[j] === \"NAME\") {\n obj[\"Name\"] = values[j].trim();\n } else {\n obj[headers[j]] = values[j].trim();\n }\n }\n objects.push(obj);\n }\n return objects;\n}\n\nfunction handleOperation(obj: { [key: string]: any }) {\n let nodeType: string = obj.Operation;\n if (nodeType) {\n if (nodeType.includes(\"TABLE FULL SCAN\")) {\n //后面跟的name应该是表名介词用on\n nodeType += ` on ${obj.Name}`;\n } else if (nodeType.startsWith(\"INDEX\") && nodeType.endsWith(\"SCAN\")) {\n //后面跟的name应该是表名介词用on\n nodeType += ` using ${obj.Name}`;\n } else if (nodeType.includes(\"DISTRIBUTED TABLE RANGE SCAN\")) {\n const input = obj.Name;\n const regex = /([A-Za-z0-9_]+)\\(([^)]+)\\)/;\n const match = input.match(regex);\n\n if (match) {\n const tableName = match[1]; // 提取表名\n const indexName = match[2]; // 提取索引名称\n nodeType += ` using ${indexName} on ${tableName}`;\n }\n }\n }\n obj = { ...obj, Operation: nodeType };\n return obj;\n}\n","export interface StagePlan {\n stageName: string;\n textValue: string;\n level: number | undefined;\n parentStageList: string[];\n childrenStageList: string[];\n isRootStage: boolean;\n}\n\nexport function parseHiveExplain(tableText: string) {\n const { dependencies, plan } = extractHivePlan(tableText);\n\n const dependencyList = parseDependencies(dependencies);\n const stagePlans = parseStages(plan, dependencyList);\n\n // stagePlans.forEach((stage, stageIndex) => {\n // if (stage.parentStageList && stage.parentStageList.length > 0) {\n // const stageLines = stage.textValue.split(\"\\n\");\n // let newStageLines = \"\";\n // stageLines.forEach((line, index) => {\n // let spaceNumber = 0;\n\n // if (index === 0) {\n // const match = line.match(/^(\\s*)/); // 匹配开头的空格字符\n // spaceNumber = match ? match[1].length : 0;\n\n // newStageLines += line + \"\\n\";\n // } else if (index === 1) {\n // if (stage.parentStageList.length > 1) {\n // let append = \" \".repeat(spaceNumber + 2) + \"CUSTOMAPPEND\\n\";\n // stage.parentStageList.forEach((parentStage) => {\n // append += \" \".repeat(spaceNumber + 2 + 2) + \"STAGE Scan on \" + parentStage + \"\\n\";\n // });\n // newStageLines += append;\n\n // newStageLines += \" \".repeat(2 + 2) + line + \"\\n\";\n // } else {\n // const append = \" \".repeat(spaceNumber + 2) + \"STAGE Scan on \" + stage.parentStageList[0] + \"\\n\";\n // newStageLines += append;\n // newStageLines += \" \".repeat(2) + line + \"\\n\";\n // }\n // } else {\n // newStageLines += \" \".repeat(2 + 2 * (stage.parentStageList.length - 1)) + line + \"\\n\";\n // }\n // });\n // stagePlans[stageIndex] = { ...stage, textValue: newStageLines };\n // }\n\n // if (stage.childrenStageList && stage.childrenStageList.length > 0) {\n // stage.childrenStageList.forEach((childStageName) => {\n // const childStage = stagePlans.find((item) => item.stageName === childStageName);\n // if (childStage) {\n // const index = stagePlans.findIndex((item) => item.stageName === childStageName);\n // const stageLines = childStage.textValue.split(\"\\n\");\n // let newStageLines = \"\";\n // stageLines.forEach((line, index) => {\n // let spaceNumber = 0;\n\n // if (index === 0) {\n // const match = line.match(/^(\\s*)/); // 匹配开头的空格字符\n // spaceNumber = match ? match[1].length : 0;\n // newStageLines += line + \"\\n\";\n // } else if (index === 1) {\n // const append = \" \".repeat(spaceNumber + 2) + \"STAGE Scan on \" + stage.stageName + \"\\n\";\n // newStageLines += append;\n // newStageLines += \" \".repeat(2) + line + \"\\n\";\n // } else {\n // newStageLines += \" \".repeat(2) + line + \"\\n\";\n // }\n // });\n // stagePlans[index] = { ...childStage, textValue: newStageLines };\n // }\n // });\n // }\n // });\n\n let result = \"\";\n result += \"CUSTOMAPPEND\\n\";\n stagePlans.forEach((stagePlan) => {\n stagePlan.textValue.split(\"\\n\").forEach((line) => (result += \" \" + line + \"\\n\"));\n });\n return result;\n}\n\nexport function getHiveExplainStagePlans(tableText: string): StagePlan[] {\n const { dependencies, plan } = extractHivePlan(tableText);\n const dependencyList = parseDependencies(dependencies);\n const stagePlans = parseStages(plan, dependencyList);\n\n return stagePlans;\n}\n\nfunction extractHivePlan(hiveText: string): { dependencies: string; plan: string } {\n const dependenciesStart = hiveText.indexOf(\"STAGE DEPENDENCIES:\");\n const plansStart = hiveText.indexOf(\"STAGE PLANS:\");\n\n if (dependenciesStart !== -1 && plansStart !== -1) {\n const dependenciesEnd = hiveText.indexOf(\"STAGE PLANS:\", plansStart + 1);\n const dependencies = hiveText\n .substring(dependenciesStart, dependenciesEnd !== -1 ? dependenciesEnd : hiveText.length)\n .trim();\n\n const planEnd = hiveText.indexOf(\"STAGE:\", plansStart + 1);\n const plan = hiveText.substring(plansStart, planEnd !== -1 ? planEnd : hiveText.length).trim();\n\n return { dependencies, plan };\n } else {\n return { dependencies: \"\", plan: \"\" };\n }\n}\n\nfunction parseDependencies(dependencyOutput: string): {\n [key: string]: { parents: string[]; children: string[]; isRootStage: boolean };\n} {\n const dependencies: { [key: string]: { parents: string[]; children: string[]; isRootStage: boolean } } = {};\n const lines = dependencyOutput.trim().split(\"\\n\");\n\n lines.forEach((line) => {\n const match = line.match(/Stage-(\\d+)\\s*(.*)/);\n if (match) {\n const stage = `Stage-${match[1]}`;\n const rest = match[2].trim();\n\n if (rest.includes(\"is a root stage\")) {\n dependencies[stage] = { parents: [], children: [], isRootStage: true };\n } else {\n let dependsOnMatch = rest.match(/depends on stages:\\s*(.*)/);\n if (rest.includes(\"consists of\")) {\n dependsOnMatch = rest.match(/depends on stages:\\s*(.*), consists of\\s*(.*)/);\n }\n if (dependsOnMatch) {\n const parentStages = dependsOnMatch[1].split(\",\").map((s) => s.trim());\n if (!dependencies[stage]) {\n dependencies[stage] = { parents: [], children: [], isRootStage: false };\n }\n dependencies[stage].parents.push(...parentStages);\n }\n\n const consistsOfMatch = rest.match(/consists of\\s*(.*)/);\n if (consistsOfMatch) {\n const childStages = consistsOfMatch[1].split(\",\").map((s) => s.trim());\n if (!dependencies[stage]) {\n dependencies[stage] = { parents: [], children: [], isRootStage: false };\n }\n dependencies[stage].children.push(...childStages);\n }\n\n // const backupStageMatch = rest.match(/has a backup stage:\\s*(.*)/);\n // if (backupStageMatch) {\n // const backupStage = backupStageMatch[1].trim();\n // if (!dependencies[stage]) {\n // dependencies[stage] = { parents: [], children: [], isRootStage: false };\n // }\n // dependencies[stage].parents.push(backupStage);\n // }\n }\n }\n });\n return dependencies;\n}\n\nfunction parseStages(\n explainOutput: string,\n dependencies: { [key: string]: { parents: string[]; children: string[]; isRootStage: boolean } }\n): StagePlan[] {\n const stages: StagePlan[] = explainOutput\n .split(\"\\nStage: \")\n .slice(1)\n .map((stage) => {\n const lines = stage.split(\"\\n\");\n const stageName = lines[0].trim();\n const isRootStage = dependencies[stageName]?.isRootStage || false;\n\n const textValue = \"STAGE \" + stage.trim();\n const level = undefined;\n const parentStageList = dependencies[stageName]?.parents || [];\n const childrenStageList = dependencies[stageName]?.children || [];\n\n return {\n stageName,\n textValue,\n level,\n parentStageList,\n childrenStageList,\n isRootStage,\n };\n });\n stages.forEach((stage) => {\n if (stage.childrenStageList.length > 0) {\n stage.childrenStageList.forEach((childStageName) => {\n const childIndex = stages.findIndex((item) => item.stageName === childStageName);\n if (childIndex) {\n const parents = stages[childIndex].parentStageList;\n stages[childIndex] = { ...stages[childIndex], parentStageList: [...parents, stage.stageName] };\n }\n });\n }\n });\n\n return updateLevels(stages);\n}\nfunction updateLevels(stages: StagePlan[]): StagePlan[] {\n const stageMap = new Map(stages.map((stage) => [stage.stageName, stage]));\n\n while (true) {\n stages.forEach((stage) => {\n if (stage.isRootStage) {\n stage.level = 1;\n stageMap.set(stage.stageName, stage);\n } else {\n if (stage.parentStageList.length > 0) {\n if (\n stage.parentStageList\n .map((item) => stageMap.get(item))\n .filter((stage) => stage !== undefined && stage.level !== undefined).length > 0\n ) {\n const levels =\n stage.parentStageList\n .map((item) => stageMap.get(item))\n .filter((stage) => stage !== undefined && stage.level !== undefined)\n .map((item) => item?.level ?? 0) ?? [];\n stage.level = Math.max(...levels) + 1;\n stageMap.set(stage.stageName, { ...stage, level: stage.level });\n }\n }\n if (stage.childrenStageList.length > 0) {\n stage.childrenStageList.forEach((childStageName) => {\n const childStageIndex = stages.findIndex((item) => item.stageName === childStageName);\n if (childStageIndex && stage.level) {\n stages[childStageIndex].level = stage.level + 1;\n stageMap.set(childStageName, stages[childStageIndex]);\n }\n });\n }\n }\n });\n\n if (stages.filter((stage) => !stage.level).length === 0) {\n break;\n }\n }\n\n return stages;\n}\nexport function reformatHiveExplain(plan: string) {\n const lines = plan.split(\"\\n\");\n const result: string[] = [];\n let inStagePlan = false;\n let stageIndent: number | null = null;\n\n lines.forEach((line) => {\n if (line.startsWith(\"STAGE DEPENDENCIES:\")) {\n result.push(line.trim());\n inStagePlan = false;\n } else if (line.startsWith(\"STAGE PLANS:\")) {\n result.push(line.trim());\n inStagePlan = true;\n stageIndent = null;\n } else if (inStagePlan) {\n if (stageIndent === null) {\n stageIndent = line.search(/\\S|$/);\n }\n const currentIndent = line.search(/\\S|$/);\n if (currentIndent === stageIndent) {\n result.push(line.trim());\n } else {\n const newIndent = \" \".repeat(2 + (currentIndent - stageIndent));\n result.push(newIndent + line.trim());\n }\n } else {\n result.push(line.trim());\n }\n });\n\n return result.join(\"\\n\").replaceAll(\"outputColumnNames:\", \"Output:\");\n}\n","interface PlanNode {\n id: number;\n planId?: number;\n planName?: string;\n createTime?: string;\n level: number;\n operation: string;\n tabName?: string;\n idxName?: string;\n scanType?: string;\n scanRange?: string;\n rows: number;\n width: number;\n cost: number;\n cpuCost?: number;\n ioCost?: number;\n filter?: string;\n joinCond?: string;\n adviceInfo?: string;\n pstart?: number;\n pstop?: number;\n children: PlanNode[];\n}\n\nexport const operationMapping: { [key: string]: string } = {\n NSET: \"SELECT\",\n PRJT: \"Projection\",\n SLCT: \"FILTER\",\n AAGR: \"Aggregate\",\n FAGR: \"WindowAgg\",\n HAGR: \"HashAggregate\",\n SORT: \"SORT\",\n BLKUP: \"Tid Scan\",\n CSCN: \"CLUSTER INDEX SCAN\",\n SSEK: \"INDEX SCAN\",\n CSEK: \"CLUSTER INDEX SEEK\",\n SSCN: \"FULL INDEX SCAN\",\n NEST: \"NEST LOOP\",\n HASH: \"HASH JOIN\",\n MERGE: \"MERGE JOIN\",\n \"NEST LOOP INDEX JOIN\": \"NEST LOOP INDEX JOIN\",\n \"HASH INNER JOIN\": \"HASH INNER JOIN\",\n \"CONST VALUE LIST\": \"CONST VALUE LIST\",\n \"INDEX JOIN LEFT JOIN\": \"INDEX JOIN LEFT JOIN\",\n ACTRL: \"Access Control\",\n PIPE: \"Pipeline\",\n SPL: \"Spool\",\n DELETE: \"DELETE\",\n UPDATE: \"UPDATE\",\n INSERT: \"INSERT\",\n NTTS: \"NTTS\",\n};\n\n// 处理节点字符串时,可以保留数字并将其附加到映射的结果后面\nconst getNodeType = (nodeName: string): string => {\n const baseType = nodeName.replace(/\\d/g, \"\").replace(/\\s/g, \"\");\n const mappedType = operationMapping[baseType.trim()];\n return mappedType ? `${mappedType}` : nodeName;\n};\n\nconst parsePlanTable = (input: string): PlanNode[] => {\n const lines = input\n .replace(/^\\s*\\n/gm, \"\")\n .trim()\n .split(\"\\n\")\n .slice(2); // Skip header lines\n\n const nodes: PlanNode[] = [];\n\n lines.forEach((line) => {\n const cleanedLine = line.trim().replace(/^\\|/, \"\").trim();\n\n const [\n planId,\n planName,\n createTime,\n level,\n operation,\n tabName,\n idxName,\n scanType,\n scanRange,\n rowNum,\n bytes,\n cost,\n cpuCost,\n ioCost,\n filter,\n joinCond,\n adviceInfo,\n pstart,\n pstop,\n ] = cleanedLine.split(\"|\").map((cell) => cell.trim());\n\n nodes.push({\n id: nodes.length,\n planId: planId ? parseInt(planId, 10) : undefined,\n planName: planName || undefined,\n createTime: createTime || undefined,\n level: parseInt(level, 10),\n operation: getNodeType(operation), // 转换操作缩写\n tabName: tabName || undefined,\n idxName: idxName || undefined,\n scanType: scanType || undefined,\n scanRange: scanRange || undefined,\n rows: parseInt(rowNum, 10),\n width: parseInt(bytes, 10),\n cost: parseFloat(cost),\n cpuCost: cpuCost ? parseFloat(cpuCost) : undefined,\n ioCost: ioCost ? parseFloat(ioCost) : undefined,\n filter: filter || undefined,\n joinCond: joinCond || undefined,\n adviceInfo: adviceInfo || undefined,\n pstart: pstart ? parseInt(pstart, 10) : undefined,\n pstop: pstop ? parseInt(pstop, 10) : undefined,\n children: [],\n });\n });\n\n return nodes;\n};\n\nconst buildTree = (nodes: PlanNode[]): PlanNode | null => {\n if (nodes.length === 0) {\n return null;\n }\n\n const root: PlanNode = nodes[0];\n const stack: PlanNode[] = [root];\n\n for (let i = 1; i < nodes.length; i++) {\n const node = nodes[i];\n while (stack.length > 0 && stack[stack.length - 1].level >= node.level) {\n stack.pop();\n }\n if (stack.length === 0) {\n console.error(\"Invalid node hierarchy: a node has no parent.\", node);\n return null;\n }\n const parent = stack[stack.length - 1];\n parent.children.push(node);\n stack.push(node);\n }\n\n return root;\n};\n\nconst formatTree = (node: PlanNode | null, indent = \"\"): string => {\n if (!node) {\n return \"\";\n }\n\n let result = `${indent}${node.operation}`;\n if (node.scanType && node.scanType !== \"NULL\") {\n result += ` scan_type(${node.scanType}),`;\n }\n\n if (node.idxName && node.idxName !== \"NULL\" && node.tabName && node.tabName !== \"NULL\") {\n result += ` ${node.idxName}(${node.tabName}),`;\n }\n\n if (node.scanRange && node.scanRange !== \"NULL\") {\n result += ` scan_range${replaceScanRangeBrackets(node.scanRange)},`;\n }\n\n if (node.filter && node.filter !== \"NULL\") {\n result += ` ${node.filter}`;\n }\n\n if (node.adviceInfo && node.adviceInfo !== \"NULL\") {\n result += ` ${node.adviceInfo}`;\n }\n\n result += ` (cost=${node.cost} rows=${node.rows} width=${node.width})\\n`;\n\n node.children.forEach((child) => {\n result += formatTree(child, indent + \" \");\n });\n\n return result;\n};\n\nexport const parseDamengTableExplain = (input: string): string => {\n const nodes = parsePlanTable(input);\n const tree = buildTree(nodes);\n const result = formatTree(tree).trim();\n\n return result;\n};\n\ninterface ParsedLine {\n level: string;\n node: string;\n cost: string;\n rows: string;\n width: string;\n extra?: string;\n}\n\nfunction parseLine(line: string): ParsedLine | null {\n const match = line.trim().match(/^\\d+\\s{3}(\\s*)#(.*):\\s+\\[(\\d+),\\s+(\\d+),\\s+(\\d+)](?:;\\s+(.*))?$/);\n\n if (!match) {\n return null;\n }\n const [, level, node, cost, rows, width, extra] = match;\n return { level, node, cost, rows, width, extra };\n}\n\nexport function parseDamengTreeExplain(officialPlan: string, isRealPlan: boolean): string {\n let lines = officialPlan\n .replace(/^\\s*\\n/gm, \"\")\n .trim()\n .split(\"\\n\");\n\n if (isRealPlan) {\n const lastIndex = lines.findIndex((item) => item.toLowerCase().startsWith(\"statistics\"));\n if (lastIndex) {\n lines = lines.slice(1, lastIndex);\n } else {\n lines = lines.slice(1);\n }\n }\n const parsedLines: ParsedLine[] = lines.map(parseLine).filter(Boolean) as ParsedLine[];\n\n let result = \"\";\n\n parsedLines.forEach(({ level, node, cost, rows, width, extra }) => {\n const operation = getNodeType(node);\n const indent = level;\n if (extra) {\n result += `${indent}${operation} ${extra} (cost=${cost} rows=${rows} width=${width}) ${`(actual time=${\n cost ?? 0\n }..${cost ?? 0} rows=${rows ?? 0} loops=1)`}\\n`;\n } else {\n result += `${indent}${operation} (cost=${cost} rows=${rows} width=${width}) ${`(actual time=${cost ?? 0}..${\n cost ?? 0\n } rows=${rows ?? 0} loops=1)`}\\n`;\n }\n });\n\n return result;\n}\n\nfunction replaceScanRangeBrackets(str: string) {\n if (str.length === 0) {\n return str;\n } // 空字符串直接返回\n\n // 将首字符替换为 [\n str = \"[\" + str.slice(1);\n\n // 将尾字符替换为 ]\n str = str.slice(0, str.length - 1) + \"]\";\n\n return str;\n}\n","import { LineItem } from \"@paddle/paddle-js/types/price-preview/price-preview\";\nimport FrequencyConfig from \"config/FrequencyConfig.json\";\nimport RuleCategoryConfig from \"config/RuleCategoryConfig.json\";\nimport RuleLevelConfig from \"config/RuleLevelConfig.json\";\nimport MySQlVariablesDefaultValue from \"config/varibalesdefaultvalue/MySQL.json\";\nimport OpenGaussVariablesDefaultValue from \"config/varibalesdefaultvalue/OpenGauss.json\";\nimport PostgreSQlVariablesDefaultValue from \"config/varibalesdefaultvalue/PostgreSQL.json\";\nimport { WORKSPACE_DEFINITIONS } from \"core/domain/workspace/constants\";\nimport { ConnectionSchedule, PricePlanRead, WorkspaceDefinitionReadList } from \"core/request/PawsqlClient\";\nimport { isNotBlank } from \"utils/common\";\nimport { equal } from \"utils/objects\";\n\nexport const getFrequencyConfig = (schedule?: ConnectionSchedule) =>\n FrequencyConfig.find((item) => (!schedule && !item) || equal(item.config, schedule));\n\nexport const getRuleLevelConfig = (level: number) => RuleLevelConfig.find((item) => item.level === level);\n\nexport const getRuleCategoryConfig = (category: number) =>\n RuleCategoryConfig.find((item) => item.category === category);\n\n// 计算数据库运行时间并返回天和小时的格式\nexport const calculateDatabaseUptime = (startTime: string) => {\n if (!isNotBlank(startTime)) {\n return \"\";\n }\n const currentTime = new Date();\n\n // 计算时间差\n const timeDifference: number = currentTime.getTime() - new Date(startTime).getTime();\n\n // 将毫秒转换为天和小时\n const days = Math.floor(timeDifference / (1000 * 60 * 60 * 24));\n const hours = Math.floor((timeDifference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n\n return `${days}天 ${hours}小时`;\n};\n\nexport function decimalToPercentage(decimal: number) {\n return (decimal * 100).toFixed(2) + \"%\";\n}\n\nexport function convertReactCronToQuartz(reactCron: string) {\n const reactParts = reactCron.split(\" \");\n\n if (reactParts.length < 5) {\n // 不是有效的 React cron 表达式\n return null;\n }\n\n // Quartz cron 表达式的字段顺序为:秒 分 时 日 月 周几 年\n const quartzCron = `0 ${reactParts[0]} ${reactParts[1]} ${reactParts[2]} ${reactParts[3]} ${reactParts[4]}`;\n\n return quartzCron;\n}\n\nexport function convertQuartzToReactCron(reactCron: string) {\n const reactParts = reactCron.split(\" \");\n\n if (reactParts.length < 6) {\n // 不是有效的 Quartz 表达式\n return null;\n }\n\n // Quartz cron 表达式的字段顺序为:秒 分 时 日 月 周几 年\n const quartzCron = `${reactParts[1]} ${reactParts[2]} ${reactParts[3]} ${reactParts[4]} ${reactParts[5]}`;\n\n return quartzCron;\n}\n\nexport const getDefaultVaraiblesByInstanceTypeAndVersion = (type: string, _version: string): any => {\n if (type === \"mysql\") {\n return MySQlVariablesDefaultValue;\n } else if (type === \"postgres\") {\n return PostgreSQlVariablesDefaultValue;\n } else if (type === \"opengauss\") {\n return OpenGaussVariablesDefaultValue;\n }\n return { variable: \"value\" };\n};\n\nexport const getTableRuleSummary = (summary: string): { level: number; levelDesc: string; count: number }[] => {\n if (!summary) {\n return [];\n }\n const data = JSON.parse(summary) as { level: number; count: number }[];\n const result = data.map((item) => {\n const levelDesc = getRuleLevelConfig(item.level);\n return { level: item.level, levelDesc: levelDesc?.description ?? \"\", count: item.count };\n });\n return result;\n};\n\nexport type CommonFormMode = \"create\" | \"edit\" | \"readonly\";\n\nexport const getDbObjectSummary = (summary: string, locale: string) => {\n const text = summary;\n if (locale === \"en\") {\n const startIndex = text.indexOf(\"## Summary\");\n const endIndex = text.indexOf(\"##\", startIndex + 1); // 查找下一个 \"##\" ,也就是下一个标题\n let auditSummary;\n\n if (endIndex > -1) {\n // 如果找到下一个 \"##\" ,则从 \"## 审核概要\" 到下一个 \"##\" 之间的文本就是你想要的\n auditSummary = text.slice(startIndex, endIndex);\n } else {\n // 若没找到下一个 \"##\" ,则从 \"## 审核概要\" 到最后的文本就是你想要的\n auditSummary = text.slice(startIndex);\n }\n\n return auditSummary\n .replace(/## Summary/g, \"\") //移除 \"## 审核概要\"\n .replace(/(\\*\\*\\*|\\*\\*|-|_|\\[|\\]|#|\\(|\\)|\\>|\\`|\\\\)/g, \"\") //移除Markdown特殊字符\n .replace(/\\!\\[.*?\\]\\((.*?)\\)/g, \"\") //移除图片链接\n .replace(/\\[([^\\]]*)\\]\\(.*?\\)/g, \"$1\") // 保留链接文本\n .trim();\n } else {\n const startIndex = text.indexOf(\"## 审核概要\");\n const endIndex = text.indexOf(\"##\", startIndex + 1); // 查找下一个 \"##\" ,也就是下一个标题\n let auditSummary;\n\n if (endIndex > -1) {\n // 如果找到下一个 \"##\" ,则从 \"## 审核概要\" 到下一个 \"##\" 之间的文本就是你想要的\n auditSummary = text.slice(startIndex, endIndex);\n } else {\n // 若没找到下一个 \"##\" ,则从 \"## 审核概要\" 到最后的文本就是你想要的\n auditSummary = text.slice(startIndex);\n }\n\n return auditSummary\n .replace(/## 审核概要/g, \"\") //移除 \"## 审核概要\"\n .replace(/(\\*\\*\\*|\\*\\*|-|_|\\[|\\]|#|\\(|\\)|\\>|\\`|\\\\)/g, \"\") //移除Markdown特殊字符\n .replace(/\\!\\[.*?\\]\\((.*?)\\)/g, \"\") //移除图片链接\n .replace(/\\[([^\\]]*)\\]\\(.*?\\)/g, \"$1\") // 保留链接文本\n .trim();\n }\n};\n\nexport const getDatabaseTypeByDefinitionName = (name: string): string => {\n const definitionList: WorkspaceDefinitionReadList = WORKSPACE_DEFINITIONS;\n\n return definitionList.workspaceDefinitions.find((item) => item.name === name)?.dbType ?? \"\";\n};\n\nexport const getDatabaseTypeByDefinitionId = (definitionId: string): string => {\n const definitionList: WorkspaceDefinitionReadList = WORKSPACE_DEFINITIONS;\n\n return (\n definitionList.workspaceDefinitions.find((item) => item.workspaceDefinitionId === definitionId)?.dbType ?? \"mysql\"\n );\n};\n\nexport const getIconByDBType = (dbType: string): string => {\n let icon = \"\";\n switch (dbType) {\n case \"ALL\":\n icon =\n '';\n break;\n case \"postgresql\":\n icon =\n '\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\t\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n';\n break;\n case \"kingbase\":\n icon = `\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n `;\n break;\n case \"opengauss\":\n icon =\n ' Created by potrace 1.10, written by Peter Selinger 2001-2011 ';\n break;\n case \"mysql\":\n icon =\n '\\n\\n';\n break;\n }\n return icon;\n};\n\nexport const getDbTypeDropdownData = (\n objectType: string\n): {\n label: string;\n value: string;\n definitionId: string;\n}[] => {\n const definitionList: WorkspaceDefinitionReadList = WORKSPACE_DEFINITIONS;\n\n if (objectType === \"db_object_rule\") {\n return definitionList.workspaceDefinitions\n .filter((item) => item.isOnlineInstance)\n .map((item) => {\n return {\n label: item.name,\n value: item.dbType ?? \"mysql\",\n definitionId: item.workspaceDefinitionId,\n };\n });\n } else if (objectType === \"analysis_rule\") {\n return definitionList.workspaceDefinitions\n .filter((item) => item.isOnlineWorkspace)\n .map((item) => {\n return {\n label: item.name,\n value: item.dbType ?? \"mysql\",\n definitionId: item.workspaceDefinitionId,\n };\n });\n } else {\n return definitionList.workspaceDefinitions\n .filter((item) => item.isOnlineWorkspace || item.isOnlineInstance)\n .map((item) => {\n return {\n label: item.name,\n value: item.dbType ?? \"mysql\",\n definitionId: item.workspaceDefinitionId,\n };\n });\n }\n};\n\nexport function isMoreThanAMonthAway(dateString: string) {\n // Parse the input date string\n const inputDate = new Date(dateString);\n\n // Get today's date\n const today = new Date();\n\n // Set both dates to the start of their respective days to ignore time\n inputDate.setHours(0, 0, 0, 0);\n today.setHours(0, 0, 0, 0);\n\n // Calculate the difference in milliseconds\n const differenceInTime = inputDate.getTime() - today.getTime();\n\n // Convert the difference to days\n const differenceInDays = differenceInTime / (1000 * 3600 * 24);\n\n // Check if the difference is more than 30 days (approximating a month)\n return differenceInDays > 30;\n}\n\nexport function modifyCronExpression(item: string, internal: boolean) {\n // 如果 internal 为 true,不执行任何修改,直接返回原始 item\n if (internal) {\n return item;\n }\n\n // 分割 item 为字段数组\n const cronParts = item.split(\" \");\n\n // 检测前两位是否是 `*`,如果是,则将其替换为 `0`\n if (cronParts[0] === \"*\" || cronParts[1] === \"*\") {\n // 替换前两位中的 `*` 为 `0`\n if (cronParts[0] === \"*\") {\n cronParts[0] = \"0\";\n }\n if (cronParts[1] === \"*\") {\n cronParts[1] = \"0\";\n }\n }\n\n // 将更新后的部分重新组合成 Cron 表达式\n return cronParts.join(\" \");\n}\n\nexport function isSqlServerExecutionPlan(planString: string) {\n // 定义用于匹配 SQL Server 执行计划的正则表达式\n const regex = /\\[ subCost:([0-9\\.]+), rows:([0-9]+)[^\\]]*\\]/g;\n\n // 使用正则表达式测试是否能匹配到相关模式\n return regex.test(planString);\n}\n\nexport const mergeValidPriceDetails = (plans: PricePlanRead[]): LineItem[] => {\n return plans.flatMap((plan) => {\n const details: LineItem[] = [];\n\n if (isNotBlank(plan.monthlyPriceDetail)) {\n try {\n details.push(JSON.parse(plan.monthlyPriceDetail) as LineItem);\n } catch (e) {\n console.error(\"Invalid JSON in monthlyPriceDetail\", e);\n }\n }\n\n if (isNotBlank(plan.yearlyPriceDetail)) {\n try {\n details.push(JSON.parse(plan.yearlyPriceDetail) as LineItem);\n } catch (e) {\n console.error(\"Invalid JSON in yearlyPriceDetail\", e);\n }\n }\n\n return details;\n });\n};\n","import type { IBlocksStats, IPlan, IPlanContent, IPlanStats, JIT, SortGroups } from \"../interfaces\";\n\nimport clarinet from \"clarinet\";\nimport _ from \"lodash\";\n// import { format } from \"sql-formatter\";\n\nimport { BufferLocation, EstimateDirection, SortGroupsProp, NodeProp, SortSpaceMemoryProp, WorkerProp } from \"../enums\";\nimport { Node, Worker } from \"../interfaces\";\nimport { splitBalanced } from \"../services/help-service\";\nimport { handleE, handleSubQuery, parseMysqlJsonExplain } from \"../utils/ExplainParserUtil\";\nimport { parseOracleExplain } from \"../utils/OracleExplainParserUtil\";\nimport { parseOceanbaseExplain } from \"../utils/OceanbaseExplainParserUtil\";\nimport {\n StagePlan,\n getHiveExplainStagePlans,\n parseHiveExplain,\n reformatHiveExplain,\n} from \"../utils/HiveExplainParserUtil\";\nimport { parseDamengTableExplain, parseDamengTreeExplain } from \"../utils/DamengExplainParserUtil\";\nimport { isSqlServerExecutionPlan } from \"config/utils\";\nimport { parseSQLServerExplain } from \"../utils/SQLServerExplainParserUtil\";\n\nexport interface NodeElement {\n node: Node;\n subelementType?: string;\n name?: string;\n}\n\nexport interface JitElement {\n node: object;\n}\nexport interface JsonElement {\n [key: string]: JsonElement | null;\n}\n\nexport class PlanService {\n // private static instance: PlanService;\n private nodeId = 0;\n\n public createPlan(planName: string, planContent: IPlanContent, planQuery: string, errorMessage: string): IPlan {\n // remove any extra white spaces in the middle of query\n // (\\S) start match after any non-whitespace character => group 1\n // (?!$) don't start match after end of line\n // (\\s{2,}) group of 2 or more white spaces\n // '$1 ' reuse group 1 and and a single space\n planQuery = planQuery.replace(/(\\S)(?!$)(\\s{2,})/gm, \"$1 \");\n\n if (!planContent || !planContent.Plan) {\n throw new Error(errorMessage);\n }\n\n const plan: IPlan = {\n id: NodeProp.PEV_PLAN_TAG + new Date().getTime().toString(),\n name: planName || \"plan created on \" + new Date().toDateString(),\n createdOn: new Date(),\n content: planContent,\n query: planQuery,\n planStats: {} as IPlanStats,\n ctes: [],\n stages: [],\n isAnalyze: _.has(planContent.Plan, NodeProp.ACTUAL_ROWS),\n isVerbose: this.findOutputProperty(planContent.Plan),\n };\n\n this.nodeId = 1;\n this.processNode(planContent.Plan, plan);\n this.calculateMaximums(plan);\n return plan;\n }\n\n public isCTE(node: Node) {\n return node[NodeProp.PARENT_RELATIONSHIP] === \"InitPlan\" && _.startsWith(node[NodeProp.SUBPLAN_NAME], \"CTE\");\n }\n\n public isSTAGE(node: Node) {\n return node[NodeProp.PARENT_RELATIONSHIP] === \"InitPlan\" && _.startsWith(node[NodeProp.SUBPLAN_NAME], \"STAGE\");\n }\n\n // recursively walk down the plan to compute various metrics\n public processNode(node: Node, plan: IPlan) {\n node.nodeId = this.nodeId++;\n this.calculatePlannerEstimate(node);\n\n _.each(node[NodeProp.PLANS], (child) => {\n // Disseminate workers planned info to parallel nodes (ie. Gather children)\n if (\n !this.isCTE(child) &&\n !this.isSTAGE(child) &&\n child[NodeProp.PARENT_RELATIONSHIP] !== \"InitPlan\" &&\n child[NodeProp.PARENT_RELATIONSHIP] !== \"SubPlan\"\n ) {\n child[NodeProp.WORKERS_PLANNED_BY_GATHER] =\n node[NodeProp.WORKERS_PLANNED] || node[NodeProp.WORKERS_PLANNED_BY_GATHER];\n }\n if (this.isCTE(child)) {\n plan.ctes.push(child);\n }\n\n if (this.isSTAGE(child)) {\n plan.stages.push(child);\n }\n this.processNode(child, plan);\n });\n\n _.remove(node[NodeProp.PLANS]!, (child) => this.isCTE(child) || this.isSTAGE(child));\n\n // calculate actuals after processing child nodes so that actual duration\n // takes loops into account\n this.calculateActuals(node);\n this.calculateExclusives(node);\n this.calculateIoTimingsAverage(node);\n }\n\n public calculateMaximums(plan: IPlan) {\n type recurseItemType = Array<[Node, recurseItemType]>;\n function recurse(nodes: Node[]): recurseItemType {\n return _.map(nodes, (node) => [node, recurse(node[NodeProp.PLANS]!)]);\n }\n let flat: Node[] = [];\n flat = flat.concat(_.flattenDeep(recurse([plan.content.Plan as Node])));\n _.each(plan.ctes, (cte) => {\n flat = flat.concat(_.flattenDeep(recurse([cte as Node])));\n });\n\n _.each(plan.stages, (stage) => {\n flat = flat.concat(_.flattenDeep(recurse([stage as Node])));\n });\n\n const largest = _.maxBy(flat, NodeProp.ACTUAL_ROWS_REVISED);\n if (largest) {\n plan.content.maxRows = largest[NodeProp.ACTUAL_ROWS_REVISED] as number;\n plan.content.maxRowsNodeId = largest[NodeProp.NODE_ID] as number;\n }\n\n const costliest = _.maxBy(flat, NodeProp.EXCLUSIVE_COST);\n if (costliest) {\n plan.content.maxCost = costliest[NodeProp.EXCLUSIVE_COST] as number;\n plan.content.maxCostNodeId = costliest[NodeProp.NODE_ID] as number;\n }\n\n const totalCostliest = _.maxBy(flat, NodeProp.TOTAL_COST);\n if (totalCostliest) {\n plan.content.maxTotalCost = totalCostliest[NodeProp.TOTAL_COST] as number;\n }\n\n const slowest = _.maxBy(flat, NodeProp.EXCLUSIVE_DURATION);\n if (slowest) {\n plan.content.maxDuration = slowest[NodeProp.EXCLUSIVE_DURATION] as number;\n plan.content.maxDurationNodeId = slowest[NodeProp.NODE_ID] as number;\n }\n\n if (!plan.content.maxBlocks) {\n plan.content.maxBlocks = {} as IBlocksStats;\n }\n\n function sumShared(o: Node): number {\n return (\n (o[NodeProp.EXCLUSIVE_SHARED_HIT_BLOCKS] as number) +\n (o[NodeProp.EXCLUSIVE_SHARED_READ_BLOCKS] as number) +\n (o[NodeProp.EXCLUSIVE_SHARED_DIRTIED_BLOCKS] as number) +\n (o[NodeProp.EXCLUSIVE_SHARED_WRITTEN_BLOCKS] as number)\n );\n }\n const highestShared = _.maxBy(flat, (o) => {\n return sumShared(o);\n }) as Node;\n if (highestShared && sumShared(highestShared)) {\n plan.content.maxBlocks[BufferLocation.shared] = sumShared(highestShared);\n }\n\n function sumTemp(o: Node): number {\n return (o[NodeProp.EXCLUSIVE_TEMP_READ_BLOCKS] as number) + (o[NodeProp.EXCLUSIVE_TEMP_WRITTEN_BLOCKS] as number);\n }\n const highestTemp = _.maxBy(flat, (o) => {\n return sumTemp(o);\n }) as Node;\n if (highestTemp && sumTemp(highestTemp)) {\n plan.content.maxBlocks[BufferLocation.temp] = sumTemp(highestTemp);\n }\n\n function sumLocal(o: Node) {\n return (\n (o[NodeProp.EXCLUSIVE_LOCAL_HIT_BLOCKS] as number) +\n (o[NodeProp.EXCLUSIVE_LOCAL_READ_BLOCKS] as number) +\n (o[NodeProp.EXCLUSIVE_LOCAL_DIRTIED_BLOCKS] as number) +\n (o[NodeProp.EXCLUSIVE_LOCAL_WRITTEN_BLOCKS] as number)\n );\n }\n const highestLocal = _.maxBy(flat, (o) => {\n return sumLocal(o);\n });\n if (highestLocal && sumLocal(highestLocal)) {\n plan.content.maxBlocks[BufferLocation.local] = sumLocal(highestLocal);\n }\n\n if (!plan.content.maxIo) {\n plan.content.maxIo = 0;\n }\n function sumIo(o: Node) {\n return (o[NodeProp.EXCLUSIVE_IO_READ_TIME] as number) + (o[NodeProp.EXCLUSIVE_IO_WRITE_TIME] as number);\n }\n const highestIo = _.maxBy(flat, (o) => {\n return sumIo(o);\n });\n if (highestIo && sumIo(highestIo)) {\n plan.content.maxIo = sumIo(highestIo);\n }\n }\n\n // actual duration and actual cost are calculated by subtracting child values from the total\n public calculateActuals(node: Node) {\n if (!_.isUndefined(node[NodeProp.ACTUAL_TOTAL_TIME])) {\n // since time is reported for an invidual loop, actual duration must be adjusted by number of loops\n // number of workers is also taken into account\n const workers = (node[NodeProp.WORKERS_PLANNED_BY_GATHER] || 0) + 1;\n\n if (node[NodeProp.DATABASE_TYPE] !== \"mysql\") {\n node[NodeProp.ACTUAL_TOTAL_TIME] = parseFloat(\n (((node[NodeProp.ACTUAL_TOTAL_TIME] as number) * (node[NodeProp.ACTUAL_LOOPS] as number)) / workers).toFixed(\n 3\n )\n );\n }\n\n node[NodeProp.ACTUAL_STARTUP_TIME] = parseFloat(\n (((node[NodeProp.ACTUAL_STARTUP_TIME] as number) * (node[NodeProp.ACTUAL_LOOPS] as number)) / workers).toFixed(\n 2\n )\n );\n node[NodeProp.EXCLUSIVE_DURATION] = node[NodeProp.ACTUAL_TOTAL_TIME];\n\n let duration = parseFloat(\n ((node[NodeProp.EXCLUSIVE_DURATION] as number) - this.childrenDuration(node, 0)).toFixed(3)\n );\n duration = duration < 0 ? 0 : duration;\n\n node[NodeProp.EXCLUSIVE_DURATION] = duration;\n }\n\n if (node[NodeProp.TOTAL_COST]) {\n node[NodeProp.EXCLUSIVE_COST] = node[NodeProp.TOTAL_COST];\n }\n\n _.each(node[NodeProp.PLANS], (subPlan) => {\n if (\n subPlan[NodeProp.PARENT_RELATIONSHIP] !== \"InitPlan\" &&\n (subPlan[NodeProp.TOTAL_COST] || subPlan[NodeProp.PLANS])\n ) {\n let subCost = 0;\n if (subPlan[NodeProp.TOTAL_COST]) {\n subCost = subPlan[NodeProp.TOTAL_COST] || 0;\n } else if (subPlan[NodeProp.PLANS]) {\n subCost = subPlan[NodeProp.PLANS]![0][NodeProp.TOTAL_COST] || 0;\n }\n node[NodeProp.EXCLUSIVE_COST] = parseFloat(((node[NodeProp.EXCLUSIVE_COST] as number) - subCost).toFixed(3));\n }\n });\n\n if ((node[NodeProp.EXCLUSIVE_COST] as number) < 0) {\n node[NodeProp.EXCLUSIVE_COST] = 0;\n }\n\n _.each(\n [\"ACTUAL_ROWS\", \"PLAN_ROWS\", \"ROWS_REMOVED_BY_FILTER\", \"ROWS_REMOVED_BY_JOIN_FILTER\"],\n (prop: keyof typeof NodeProp) => {\n if (!_.isUndefined(node[NodeProp[prop]])) {\n const revisedProp = (prop.toString() + \"_REVISED\") as keyof typeof NodeProp;\n const loops = node[NodeProp.ACTUAL_LOOPS] || 1;\n const revised = node[NodeProp[prop]] * loops;\n node[NodeProp[revisedProp] as unknown as keyof typeof Node] = revised;\n }\n }\n );\n }\n\n // recursive function to get the sum of actual durations of a a node children\n public childrenDuration(node: Node, duration: number) {\n _.each(node[NodeProp.PLANS], (child) => {\n // Subtract sub plans duration from this node except for InitPlans\n // (ie. CTE)\n if (child[NodeProp.DATABASE_TYPE] !== \"mysql\" && child[NodeProp.PARENT_RELATIONSHIP] !== \"InitPlan\") {\n duration += child[NodeProp.EXCLUSIVE_DURATION] || 0; // Duration may not be set\n duration = this.childrenDuration(child, duration);\n }\n if (child[NodeProp.DATABASE_TYPE] === \"mysql\") {\n duration += child[NodeProp.ACTUAL_TOTAL_TIME] || 0; // Duration may not be set\n }\n });\n return duration;\n }\n\n // figure out order of magnitude by which the planner mis-estimated how many rows would be\n // invloved in this node\n public calculatePlannerEstimate(node: Node) {\n if (node[NodeProp.ACTUAL_ROWS] !== undefined && node[NodeProp.PLAN_ROWS] !== undefined) {\n node[NodeProp.PLANNER_ESTIMATE_FACTOR] = parseFloat(\n (node[NodeProp.ACTUAL_ROWS]! / node[NodeProp.PLAN_ROWS]!).toFixed(3)\n );\n node[NodeProp.PLANNER_ESTIMATE_DIRECTION] = EstimateDirection.none;\n\n if (node[NodeProp.ACTUAL_ROWS]! > node[NodeProp.PLAN_ROWS]!) {\n node[NodeProp.PLANNER_ESTIMATE_DIRECTION] = EstimateDirection.under;\n }\n if (node[NodeProp.ACTUAL_ROWS]! < node[NodeProp.PLAN_ROWS]!) {\n node[NodeProp.PLANNER_ESTIMATE_DIRECTION] = EstimateDirection.over;\n node[NodeProp.PLANNER_ESTIMATE_FACTOR] = parseFloat(\n (node[NodeProp.PLAN_ROWS]! / node[NodeProp.ACTUAL_ROWS]!).toFixed(3)\n );\n }\n }\n }\n\n public cleanupSource(source: string) {\n // Remove frames around, handles |, ║,\n source = source.replace(/^(\\||║|│)(.*)\\1\\r?\\n/gm, \"$2\\n\");\n // Remove frames at the end of line, handles |, ║,\n source = source.replace(/(.*)(\\||║|│)$\\r?\\n/gm, \"$1\\n\");\n\n // Remove separator lines from various types of borders\n source = source.replace(/^\\+-+\\+\\r?\\n/gm, \"\");\n source = source.replace(/^(-|─|═)\\1+\\r?\\n/gm, \"\");\n source = source.replace(/^(├|╟|╠|╞)(─|═)\\2*(┤|╢|╣|╡)\\r?\\n/gm, \"\");\n\n // Remove more horizontal lines\n source = source.replace(/^\\+-+\\+\\r?\\n/gm, \"\");\n source = source.replace(/^└(─)+┘\\r?\\n/gm, \"\");\n source = source.replace(/^╚(═)+╝\\r?\\n/gm, \"\");\n source = source.replace(/^┌(─)+┐\\r?\\n/gm, \"\");\n source = source.replace(/^╔(═)+╗\\r?\\n/gm, \"\");\n\n // Remove quotes around lines, both ' and \"\n source = source.replace(/^([\"'])(.*)\\1\\r?\\n/gm, \"$2\\n\");\n\n // Remove \"+\" line continuations\n source = source.replace(/\\s*\\+\\r?\\n/g, \"\\n\");\n\n // Remove \"↵\" line continuations\n source = source.replace(/↵\\r?/gm, \"\\n\");\n\n // Remove \"query plan\" header\n source = source.replace(/^\\s*QUERY PLAN\\s*\\r?\\n/m, \"\");\n\n // Remove rowcount\n // example: (8 rows)\n // Note: can be translated\n // example: (8 lignes)\n source = source.replace(/^\\(\\d+\\s+[a-z]*s?\\)(\\r?\\n|$)/gm, \"\\n\");\n\n return source;\n }\n\n public getDatabaseType(source: string): string {\n let isJson = false;\n let json = undefined;\n try {\n json = JSON.parse(source);\n isJson = true;\n } catch (error) {\n // continue\n }\n if (isJson) {\n try {\n if (json?.query_block) {\n return \"mysql\";\n } else if (json?.[0].Plan) {\n return \"postgres\";\n }\n } catch (e) {\n console.log(e);\n }\n }\n\n if (source.trim().startsWith(\"->\")) {\n return \"mysql\";\n } else if (source.toLowerCase().trim().startsWith(\"=====\")) {\n return \"oceanbase\";\n } else if (source.toLowerCase().trim().startsWith(\"stage dependencies:\")) {\n return \"hive\";\n } else if (\n source\n .toLowerCase()\n .trim()\n .replaceAll(\"|\", \"\")\n .replaceAll(\" \", \"\")\n .startsWith(\"plan_idplan_namecreate_timelevel_id\") ||\n source.toLowerCase().trim().startsWith(\"1 #\") ||\n /^\\d+\\srows\\s+got/.test(source)\n ) {\n return \"dameng\";\n } else if (\n source.toLowerCase().trim().includes(\"plan hash value\") ||\n source.toLowerCase().trim().includes(\"plan_table_output\")\n ) {\n return \"oracle\";\n } else if (isSqlServerExecutionPlan(source)) {\n return \"sqlserver\";\n } else {\n return \"postgres\";\n }\n }\n\n public fromSource(source: string, _errorMessage: string) {\n // 因为sqlserver会有部分sql\n // const tempText = source.trim().toLowerCase();\n // const noLegal =\n // tempText.startsWith(\"explain\") ||\n // tempText.startsWith(\"select\") ||\n // tempText.startsWith(\"insert\") ||\n // tempText.startsWith(\"update\") ||\n // tempText.startsWith(\"delete\");\n\n // if (noLegal) {\n // throw new Error(errorMessage);\n // }\n let stagePlans: StagePlan[] = [];\n\n //清除首尾空行\n source = source.replace(/^\\s*\\n|\\n\\s*$/g, \"\");\n\n const databaseType = this.getDatabaseType(source);\n\n if (databaseType === \"oracle\") {\n //处理oracle explain\n source = parseOracleExplain(source);\n }\n\n if (databaseType === \"oceanbase\") {\n source = parseOceanbaseExplain(source);\n }\n\n if (databaseType === \"hive\") {\n source = reformatHiveExplain(source);\n stagePlans = getHiveExplainStagePlans(source);\n source = parseHiveExplain(source);\n }\n\n if (databaseType === \"dameng\") {\n if (source.toLowerCase().trim().startsWith(\"1 #\")) {\n source = parseDamengTreeExplain(source, false);\n } else if (\n source\n .toLowerCase()\n .trim()\n .replaceAll(\"|\", \"\")\n .replaceAll(\" \", \"\")\n .startsWith(\"plan_idplan_namecreate_timelevel_id\")\n ) {\n source = parseDamengTableExplain(source);\n } else if (/^\\d+\\srows\\s+got/.test(source)) {\n source = parseDamengTreeExplain(source, true);\n }\n }\n\n if (databaseType === \"sqlserver\") {\n source = parseSQLServerExplain(source);\n }\n source = this.cleanupSource(source);\n\n let isJson = false;\n try {\n isJson = JSON.parse(source);\n } catch (error) {\n // continue\n }\n if (isJson) {\n if ((isJson as any).query_block) {\n const treeStr = parseMysqlJsonExplain(isJson);\n return this.fromText(treeStr, databaseType);\n }\n const root = this.parseJson(source);\n if (root) {\n (root as any).databaseType = \"postgres\";\n }\n return root;\n } else if (/^(\\s*)(\\[|\\{)\\s*\\n.*?\\1(\\]|\\})\\s*/gms.exec(source)) {\n const root = this.fromJson(source);\n if (root) {\n (root as any).databaseType = \"postgres\";\n }\n return root;\n }\n\n return { ...this.fromText(source, databaseType), stagePlans: stagePlans };\n }\n\n public fromJson(source: string) {\n // We need to remove things before and/or after explain\n // To do this, first - split explain into lines...\n const sourceLines = source.split(/[\\r\\n]+/);\n\n // Now, find first line of explain, and cache it's prefix (some spaces ...)\n let prefix = \"\";\n let firstLineIndex = 0;\n _.each(sourceLines, (l: string, index: number) => {\n const matches = /^(\\s*)(\\[|\\{)\\s*$/.exec(l);\n if (matches) {\n prefix = matches[1];\n firstLineIndex = index;\n return false;\n }\n return true;\n });\n // now find last line\n let lastLineIndex = 0;\n _.each(sourceLines, (l: string, index: number) => {\n const matches = new RegExp(\"^\" + prefix + \"(]|})s*$\").exec(l);\n if (matches) {\n lastLineIndex = index;\n return false;\n }\n return true;\n });\n\n const useSource: string = sourceLines\n .slice(firstLineIndex, lastLineIndex + 1)\n .join(\"\\n\")\n // Replace two double quotes (added by pgAdmin)\n .replace(/\"\"/gm, '\"');\n\n return this.parseJson(useSource);\n }\n\n // Stream parse JSON as it can contain duplicate keys (workers)\n public parseJson(source: string) {\n const parser = clarinet.parser();\n const elements: (JsonElement | never[])[] = [];\n let root: JsonElement | JsonElement[] | null = null;\n // Store the level and duplicated object|array\n let duplicated: [number, JsonElement | null] | null = null;\n parser.onvalue = (v: JsonElement) => {\n const current = elements[elements.length - 1] as JsonElement;\n if (_.isArray(current)) {\n current.push(v);\n } else {\n const keys = Object.keys(current);\n const lastKey = keys[keys.length - 1];\n current[lastKey] = v;\n }\n };\n parser.onopenobject = (key: string) => {\n const o: JsonElement = {};\n o[key] = null;\n elements.push(o);\n };\n parser.onkey = (key: string) => {\n const current = elements[elements.length - 1] as JsonElement;\n const keys = Object.keys(current);\n if (keys.indexOf(key) !== -1) {\n duplicated = [elements.length - 1, current[key]];\n } else {\n current[key] = null;\n }\n };\n parser.onopenarray = () => {\n elements.push([]);\n };\n parser.oncloseobject = parser.onclosearray = () => {\n const popped = elements.pop() as JsonElement;\n\n if (!elements.length) {\n root = popped;\n } else {\n const current = elements[elements.length - 1] as JsonElement;\n\n if (duplicated && duplicated[0] === elements.length - 1) {\n _.merge(duplicated[1], popped);\n duplicated = null;\n } else {\n if (_.isArray(current)) {\n current.push(popped);\n } else {\n const keys = Object.keys(current);\n const lastKey = keys[keys.length - 1];\n current[lastKey] = popped;\n }\n }\n }\n };\n parser.write(source).close();\n if (Array.isArray(root)) {\n root = root[0];\n }\n return root;\n }\n\n public splitIntoLines(text: string): string[] {\n // Splits source into lines, while fixing (well, trying to fix)\n // cases where input has been force-wrapped to some length.\n const out: string[] = [];\n const lines = text.split(/\\r?\\n/);\n const countChar = (str: string, ch: RegExp) => (str.match(ch) || []).length;\n const closingFirst = (str: string) => {\n const closingParIndex = str.indexOf(\")\");\n const openingParIndex = str.indexOf(\"(\");\n return closingParIndex != -1 && closingParIndex < openingParIndex;\n };\n\n _.each(lines, (line: string) => {\n if (countChar(line, /\\)/g) > countChar(line, /\\(/g)) {\n // if there more closing parenthesis this means that it's the\n // continuation of a previous line\n out[out.length - 1] += line;\n } else if (line.match(/^(?:\\\"?Total\\s+runtime|\\\"?Planning\\s+time|\\\"?Execution\\s+time|Time|Filter|Output|JIT)/i)) {\n out.push(line);\n } else if (\n line.match(/^\\S/) || // doesn't start with a blank space (allowed only for the first node)\n line.match(/^\\s*\\(/) || // first non-blank character is an opening parenthesis\n closingFirst(line) // closing parenthesis before opening one\n ) {\n if (0 < out.length) {\n out[out.length - 1] += line;\n } else {\n out.push(line);\n }\n } else {\n out.push(line);\n }\n });\n\n return out;\n }\n\n public fromText(text: string, databaseType: string) {\n text = handleSubQuery(text);\n text = handleE(text);\n const lines = this.splitIntoLines(text);\n\n const root: IPlanContent = {} as IPlanContent;\n root.databaseType = databaseType;\n type ElementAtDepth = [number, NodeElement | JitElement];\n // Array to keep reference to previous nodes with there depth\n const elementsAtDepth: ElementAtDepth[] = [];\n // 根据第一行的->区分 mysql 和 pg\n _.each(lines, (line: string) => {\n // Remove any trailing \"\n line = line.replace(/\"\\s*$/, \"\");\n // Remove any begining \"\n line = line.replace(/^\\s*\"/, \"\");\n // Replace tabs with 4 spaces\n line = line.replace(/\\t/gm, \" \");\n\n const indentationRegex = /^\\s*/;\n const match = line.match(indentationRegex);\n const depth = match ? match[0].length : 0;\n // remove indentation\n line = line.replace(indentationRegex, \"\");\n\n const emptyLineRegex = \"^s*$\";\n const headerRegex = \"^\\\\s*(QUERY|---|#).*$\";\n const prefixRegex = \"^(\\\\s*->\\\\s*|\\\\s*)\";\n const typeRegex =\n databaseType === \"mysql\"\n ? \"([^\\\\r\\\\n\\\\t\\\\f\\\\v]*?)\"\n : databaseType === \"hive\"\n ? \"([^\\\\r\\\\n\\\\t\\\\f\\\\v\\\\:\\\\(]*?[A-Z]+[^\\\\r\\\\n\\\\t\\\\f\\\\v\\\\:\\\\(]*?(?:\\\\:)?)\"\n : databaseType === \"dameng\"\n ? \"([^\\\\r\\\\n\\\\t\\\\f\\\\v\\\\:]*?)\"\n : databaseType === \"postgres\"\n ? \"([^\\\\r\\\\n\\\\t\\\\f\\\\v\\\\:\\\\(]*(?:\\\\(datanode[^\\\\)]+\\\\))??)\"\n : \"([^\\\\r\\\\n\\\\t\\\\f\\\\v\\\\:\\\\(]*?)\";\n\n // tslint:disable-next-line:max-line-length\n // 根据第一行的->区分 mysql 和 pg\n const estimationRegex =\n databaseType === \"mysql\"\n ? \"(?:\\\\(cost=(?:((?:[0-9e+]+\\\\.)?[0-9e+]+)\\\\.\\\\.)?((?:[0-9e+]+\\\\.)?[0-9e+]+)\\\\s+rows=([0-9.e+]+)\\\\s*(?:width=(\\\\d+))?\\\\))?\"\n : databaseType === \"dameng\"\n ? \"(?:\\\\(cost=(?:((?:[0-9e+]+\\\\.)?[0-9e+]+)\\\\.\\\\.)?((?:[0-9e+]+\\\\.)?[0-9e+]+)\\\\s+rows=([0-9.e+]+)\\\\s*(?:width=(\\\\d+))?\\\\))?\"\n : \"(?:\\\\(cost=(?:((?:[0-9e+]+\\\\.)?[0-9e+]+)\\\\.\\\\.)?((?:[0-9e+]+\\\\.)?[0-9e+]+)\\\\s+rows=([0-9.e+]+)\\\\s+width=(\\\\d+)\\\\))?\";\n const nonCapturingGroupOpen = \"(?:\";\n const nonCapturingGroupClose = \")\";\n const openParenthesisRegex = \"\\\\(\";\n const closeParenthesisRegex = \"\\\\)\";\n // tslint:disable-next-line:max-line-length\n const actualRegex =\n databaseType === \"mysql\"\n ? \"(?:actual\\\\stime=(?:((?:[0-9e+]+\\\\.)?[0-9e+]+)\\\\.\\\\.)?((?:[0-9e+]+\\\\.)?[0-9e+]+)\\\\srows=([0-9.e+]+)\\\\sloops=(\\\\d+)|actual\\\\srows=(\\\\d+)\\\\sloops=(\\\\d+)|(never\\\\s+executed))\"\n : \"(?:actual\\\\stime=(?:((?:[0-9e+]+\\\\.)?[0-9e+]+)\\\\.\\\\.)?((?:[0-9e+]+\\\\.)?[0-9e+]+)\\\\srows=([0-9.e+]+)\\\\sloops=(\\\\d+)|actual\\\\srows=(\\\\d+)\\\\sloops=(\\\\d+)|(never\\\\s+executed))\";\n const optionalGroup = \"?\";\n\n const emptyLineMatches = new RegExp(emptyLineRegex).exec(line);\n const headerMatches = new RegExp(headerRegex).exec(line);\n\n /*\n * Groups\n * 1: prefix\n * 2: type\n * 3: estimated_startup_cost\n * 4: estimated_total_cost\n * 5: estimated_rows\n * 6: estimated_row_width\n * 7: actual_time_first\n * 8: actual_time_last\n * 9: actual_rows\n * 10: actual_loops\n * 11: actual_rows_\n * 12: actual_loops_\n * 13: never_executed\n * 14: estimated_startup_cost\n * 15: estimated_total_cost\n * 16: estimated_rows\n * 17: estimated_row_width\n * 18: actual_time_first\n * 19: actual_time_last\n * 20: actual_rows\n * 21: actual_loops\n */\n const nodeRegex = new RegExp(\n prefixRegex +\n typeRegex +\n \"\\\\s*\" +\n nonCapturingGroupOpen +\n (nonCapturingGroupOpen +\n estimationRegex +\n \"\\\\s+\" +\n openParenthesisRegex +\n actualRegex +\n closeParenthesisRegex +\n nonCapturingGroupClose) +\n \"|\" +\n nonCapturingGroupOpen +\n estimationRegex +\n nonCapturingGroupClose +\n \"|\" +\n nonCapturingGroupOpen +\n openParenthesisRegex +\n actualRegex +\n closeParenthesisRegex +\n nonCapturingGroupClose +\n nonCapturingGroupClose +\n \"\\\\s*$\",\n \"gm\"\n );\n const nodeMatches = nodeRegex.exec(line);\n\n // tslint:disable-next-line:max-line-length\n const subRegex = /^(\\s*)((?:Sub|Init)Plan)\\s*(?:\\d+\\s*)?\\s*(?:\\(returns.*\\)\\s*)?$/gm;\n const subMatches = subRegex.exec(line);\n\n const cteRegex = /^(\\s*)CTE\\s+(\\S+)\\s*$/g;\n const cteMatches = cteRegex.exec(line);\n\n const stageRegex = /^(\\s*)STAGE\\s+(\\S+)\\s*$/g;\n const stageMatches = stageRegex.exec(line);\n\n /*\n * Groups\n * 2: trigger name\n * 3: time\n * 4: calls\n */\n const triggerRegex = /^(\\s*)Trigger\\s+(.*):\\s+time=(\\d+\\.\\d+)\\s+calls=(\\d+)\\s*$/g;\n const triggerMatches = triggerRegex.exec(line);\n\n /*\n * Groups\n * 2: Worker number\n * 3: actual_time_first\n * 4: actual_time_last\n * 5: actual_rows\n * 6: actual_loops\n * 7: actual_rows_\n * 8: actual_loops_\n * 9: never_executed\n * 10: extra\n */\n const workerRegex = new RegExp(\n /^(\\s*)Worker\\s+(\\d+):\\s+/.source +\n nonCapturingGroupOpen +\n actualRegex +\n nonCapturingGroupClose +\n optionalGroup +\n \"(.*)\" +\n \"\\\\s*$\",\n \"g\"\n );\n const workerMatches = workerRegex.exec(line);\n\n const jitRegex = /^(\\s*)JIT:\\s*$/g;\n const jitMatches = jitRegex.exec(line);\n\n const extraRegex = /^(\\s*)(\\S.*\\S)\\s*$/g;\n const extraMatches = extraRegex.exec(line);\n\n if (emptyLineMatches || headerMatches) {\n return;\n } else if (nodeMatches && !cteMatches && !stageMatches && !subMatches) {\n //const prefix = nodeMatches[1]\n const neverExecuted = nodeMatches[13];\n let type = nodeMatches[2];\n if (databaseType === \"mysql\") {\n type = replaceInnerParentheses(type);\n }\n const newNode: Node = new Node(type, databaseType);\n\n newNode[NodeProp.DATABASE_TYPE] = databaseType;\n\n if (nodeMatches[4] || nodeMatches[15]) {\n newNode[NodeProp.STARTUP_COST] = parseFloat(nodeMatches[3] || nodeMatches[14]);\n newNode[NodeProp.TOTAL_COST] = parseFloat(nodeMatches[4] || nodeMatches[15]);\n\n newNode[NodeProp.PLAN_ROWS] = parseInt(nodeMatches[5] || nodeMatches[16], 0);\n\n newNode[NodeProp.PLAN_WIDTH] = parseInt(nodeMatches[6] || nodeMatches[17], 0);\n }\n\n if ((nodeMatches[7] && nodeMatches[8]) || (nodeMatches[18] && nodeMatches[19])) {\n newNode[NodeProp.ACTUAL_STARTUP_TIME] = parseFloat(nodeMatches[7] || nodeMatches[18]);\n newNode[NodeProp.ACTUAL_TOTAL_TIME] = parseFloat(nodeMatches[8] || nodeMatches[19]);\n }\n\n if (\n (nodeMatches[9] && nodeMatches[10]) ||\n (nodeMatches[11] && nodeMatches[12]) ||\n (nodeMatches[20] && nodeMatches[21])\n ) {\n newNode[NodeProp.ACTUAL_ROWS] = parseInt(nodeMatches[9] || nodeMatches[11] || nodeMatches[20], 0);\n newNode[NodeProp.ACTUAL_LOOPS] = parseInt(nodeMatches[10] || nodeMatches[12] || nodeMatches[21], 0);\n }\n\n if (neverExecuted) {\n newNode[NodeProp.ACTUAL_LOOPS] = 0;\n newNode[NodeProp.ACTUAL_ROWS] = 0;\n newNode[NodeProp.ACTUAL_TOTAL_TIME] = 0;\n }\n const element = {\n node: newNode,\n subelementType: \"subnode\",\n };\n\n if (0 === elementsAtDepth.length) {\n elementsAtDepth.push([depth, element]);\n\n root.Plan = newNode;\n return;\n }\n\n // Remove elements from elementsAtDepth for deeper levels\n _.remove(elementsAtDepth, (e) => {\n return e[0] >= depth;\n });\n\n // ! is for non-null assertion\n // Prevents the \"Object is possibly 'undefined'\" linting error\n const previousElement = _.last(elementsAtDepth)?.[1] as NodeElement;\n\n if (!previousElement) {\n return;\n }\n\n elementsAtDepth.push([depth, element]);\n\n if (!previousElement.node[NodeProp.PLANS]) {\n previousElement.node[NodeProp.PLANS] = [];\n }\n if (previousElement.subelementType === \"initplan\") {\n newNode[NodeProp.PARENT_RELATIONSHIP] = \"InitPlan\";\n newNode[NodeProp.SUBPLAN_NAME] = previousElement.name as string;\n } else if (previousElement.subelementType === \"subplan\") {\n newNode[NodeProp.PARENT_RELATIONSHIP] = \"SubPlan\";\n newNode[NodeProp.SUBPLAN_NAME] = previousElement.name as string;\n }\n previousElement.node.Plans?.push(newNode);\n } else if (subMatches) {\n //const prefix = subMatches[1]\n const type = subMatches[2];\n // Remove elements from elementsAtDepth for deeper levels\n _.remove(elementsAtDepth, (e) => e[0] >= depth);\n const previousElement = _.last(elementsAtDepth)?.[1];\n const element = {\n node: previousElement?.node as Node,\n subelementType: type.toLowerCase(),\n name: subMatches[0],\n };\n elementsAtDepth.push([depth, element]);\n } else if (cteMatches) {\n //const prefix = cteMatches[1]\n const cteName = cteMatches[2];\n // Remove elements from elementsAtDepth for deeper levels\n _.remove(elementsAtDepth, (e) => e[0] >= depth);\n const previousElement = _.last(elementsAtDepth)?.[1];\n const element = {\n node: previousElement?.node as Node,\n subelementType: \"initplan\",\n name: \"CTE \" + cteName,\n };\n elementsAtDepth.push([depth, element]);\n } else if (stageMatches) {\n // const stageName = stageMatches[2];\n // Remove elements from elementsAtDepth for deeper levels\n _.remove(elementsAtDepth, (e) => e[0] >= depth);\n const previousElement = _.last(elementsAtDepth)?.[1];\n const element = {\n node: previousElement?.node as Node,\n subelementType: \"initplan\",\n name: stageMatches[0],\n };\n elementsAtDepth.push([depth, element]);\n } else if (workerMatches) {\n //const prefix = workerMatches[1]\n const workerNumber = parseInt(workerMatches[2], 0);\n const previousElement = _.last(elementsAtDepth)?.[1] as NodeElement;\n if (!previousElement) {\n return;\n }\n if (!previousElement.node[NodeProp.WORKERS]) {\n previousElement.node[NodeProp.WORKERS] = [] as Worker[];\n }\n let worker = this.getWorker(previousElement.node, workerNumber);\n if (!worker) {\n worker = new Worker(workerNumber);\n previousElement.node[NodeProp.WORKERS]?.push(worker);\n }\n if (workerMatches[3] && workerMatches[4]) {\n worker[NodeProp.ACTUAL_STARTUP_TIME] = parseFloat(workerMatches[3]);\n worker[NodeProp.ACTUAL_TOTAL_TIME] = parseFloat(workerMatches[4]);\n worker[NodeProp.ACTUAL_ROWS] = parseInt(workerMatches[5], 0);\n worker[NodeProp.ACTUAL_LOOPS] = parseInt(workerMatches[6], 0);\n }\n\n if (this.parseSort(workerMatches[10], worker)) {\n return;\n }\n\n // extra info\n const info = workerMatches[10].split(/: (.+)/).filter((x) => x);\n if (workerMatches[10]) {\n if (!info[1]) {\n return;\n }\n const property = _.startCase(info[0]);\n worker[property] = info[1];\n }\n } else if (triggerMatches) {\n //const prefix = triggerMatches[1]\n // Remove elements from elementsAtDepth for deeper levels\n _.remove(elementsAtDepth, (e) => e[0] >= depth);\n root.Triggers = root.Triggers || [];\n root.Triggers.push({\n \"Trigger Name\": triggerMatches[2],\n Time: this.parseTime(triggerMatches[3]),\n Calls: triggerMatches[4],\n });\n } else if (jitMatches) {\n let element;\n if (elementsAtDepth.length === 0) {\n root.JIT = {} as JIT;\n element = {\n node: root.JIT,\n };\n elementsAtDepth.push([1, element]);\n } else {\n const lastElement = _.last(elementsAtDepth)?.[1] as NodeElement;\n if (!lastElement) {\n return;\n }\n if (_.last(lastElement.node?.[NodeProp.WORKERS])) {\n const worker: Worker = _.last(lastElement.node?.[NodeProp.WORKERS]) as Worker;\n worker.JIT = {} as JIT;\n element = {\n node: worker.JIT,\n };\n elementsAtDepth.push([depth, element]);\n }\n }\n } else if (extraMatches) {\n //const prefix = extraMatches[1]\n\n // Remove elements from elementsAtDepth for deeper levels\n _.remove(elementsAtDepth, (e) => e[0] >= depth);\n\n let element;\n if (elementsAtDepth.length === 0) {\n element = root;\n } else {\n element = _.last(elementsAtDepth)?.[1].node as Node;\n }\n\n // if no node have been found yet and a 'Query Text' has been found\n // there the line is the part of the query\n if (!element.Plan && element[\"Query Text\"]) {\n element[\"Query Text\"] += \"\\n\" + line;\n return;\n }\n\n const info = extraMatches[2].split(/: (.+)/).filter((x) => x);\n if (!info[1]) {\n return;\n }\n\n if (!element) {\n return;\n }\n\n if (this.parseSort(extraMatches[2], element as Node)) {\n return;\n }\n\n if (this.parseBuffers(extraMatches[2], element as Node)) {\n return;\n }\n\n if (this.parseWAL(extraMatches[2], element as Node)) {\n return;\n }\n\n if (this.parseIOTimings(extraMatches[2], element as Node)) {\n return;\n }\n\n if (this.parseOptions(extraMatches[2], element as Node)) {\n return;\n }\n\n if (this.parseTiming(extraMatches[2], element as Node)) {\n return;\n }\n\n if (this.parseSettings(extraMatches[2], element as Node)) {\n return;\n }\n\n if (this.parseSortGroups(extraMatches[2], element as Node)) {\n return;\n }\n\n if (databaseType === \"hive\" && this.parseStatisticsLine(extraMatches[2], element as Node)) {\n return;\n }\n if (this.parseSortKey(extraMatches[2], element as Node)) {\n return;\n }\n\n // remove the \" ms\" unit in case of time\n let value: string | number = info[1].replace(/(\\s*ms)$/, \"\");\n // try to convert to number\n if (parseFloat(value)) {\n value = parseFloat(value);\n }\n\n let property = info[0];\n if (property.indexOf(\" runtime\") !== -1 || property.indexOf(\" time\") !== -1) {\n property = _.startCase(property);\n }\n element[property] = value;\n }\n });\n if (root == null || !root.Plan) {\n throw new Error(\"Unable to parse plan\");\n }\n\n return root;\n }\n\n private parseSortKey(text: string, el: Node): boolean {\n const sortRegex = /^\\s*((?:Sort|Presorted) Key):\\s+(.*)/g;\n const sortMatches = sortRegex.exec(text);\n if (sortMatches) {\n el[sortMatches[1]] = _.map(splitBalanced(sortMatches[2], \",\"), _.trim);\n return true;\n }\n return false;\n }\n\n private parseSort(text: string, el: Node | Worker): boolean {\n /*\n * Groups\n * 2: Sort Method\n * 3: Sort Space Type\n * 4: Sort Space Used\n */\n const sortRegex = /^(\\s*)Sort Method:\\s+(.*)\\s+(Memory|Disk):\\s+(?:(\\S*)kB)\\s*$/g;\n const sortMatches = sortRegex.exec(text);\n if (sortMatches) {\n el[NodeProp.SORT_METHOD] = sortMatches[2].trim();\n el[NodeProp.SORT_SPACE_USED] = sortMatches[4];\n el[NodeProp.SORT_SPACE_TYPE] = sortMatches[3];\n return true;\n }\n return false;\n }\n\n private parseBuffers(text: string, el: Node): boolean {\n /*\n * Groups\n */\n const buffersRegex = /Buffers:\\s+(.*)\\s*$/g;\n const buffersMatches = buffersRegex.exec(text);\n\n /*\n * Groups:\n * 1: type\n * 2: info\n */\n if (buffersMatches) {\n _.each(buffersMatches[1].split(/,\\s+/), (infos) => {\n const bufferInfoRegex = /(shared|temp|local)\\s+(.*)$/g;\n const m = bufferInfoRegex.exec(infos);\n if (m) {\n const type = m[1];\n // Initiate with default value\n _.each([\"hit\", \"read\", \"written\", \"dirtied\"], (method) => {\n el[_.map([type, method, \"blocks\"], _.capitalize).join(\" \")] = 0;\n });\n _.each(m[2].split(/\\s+/), (buffer) => {\n this.parseBuffer(buffer, type, el);\n });\n }\n });\n return true;\n }\n return false;\n }\n\n private parseBuffer(text: string, type: string, el: Node): void {\n const s = text.split(/=/);\n const method = s[0];\n const value = parseInt(s[1], 0);\n el[_.map([type, method, \"blocks\"], _.capitalize).join(\" \")] = value;\n }\n\n private getWorker(node: Node, workerNumber: number): Worker | undefined {\n return _.find(node[NodeProp.WORKERS], (worker) => {\n return worker[WorkerProp.WORKER_NUMBER] === workerNumber;\n });\n }\n\n private parseWAL(text: string, el: Node): boolean {\n const WALRegex = /WAL:\\s+(.*)\\s*$/g;\n const WALMatches = WALRegex.exec(text);\n\n if (WALMatches) {\n // Initiate with default value\n _.each([\"Records\", \"Bytes\", \"FPI\"], (type) => {\n el[\"WAL \" + type] = 0;\n });\n _.each(WALMatches[1].split(/\\s+/), (t) => {\n const s = t.split(/=/);\n const type = s[0];\n const value = parseInt(s[1], 0);\n let typeCaps;\n switch (type) {\n case \"fpi\":\n typeCaps = \"FPI\";\n break;\n default:\n typeCaps = _.capitalize(type);\n }\n el[\"WAL \" + typeCaps] = value;\n });\n return true;\n }\n\n return false;\n }\n\n private parseIOTimings(text: string, el: Node): boolean {\n /*\n * Groups\n */\n const iotimingsRegex = /I\\/O Timings:\\s+(.*)\\s*$/g;\n const iotimingsMatches = iotimingsRegex.exec(text);\n\n /*\n * Groups:\n * 1: type\n * 2: info\n */\n if (iotimingsMatches) {\n // Initiate with default value\n el[NodeProp.IO_READ_TIME] = 0;\n el[NodeProp.IO_WRITE_TIME] = 0;\n\n _.each(iotimingsMatches[1].split(/\\s+/), (timing) => {\n const s = timing.split(/=/);\n const method = s[0];\n const value = parseFloat(s[1]);\n const prop = (\"IO_\" + _.upperCase(method) + \"_TIME\") as keyof typeof NodeProp;\n const nodeProp = NodeProp[prop] as unknown as keyof typeof Node;\n el[nodeProp] = value;\n });\n return true;\n }\n return false;\n }\n\n private parseOptions(text: string, el: Node): boolean {\n // Parses an options block in JIT block\n // eg. Options: Inlining false, Optimization false, Expressions true, Deforming true\n\n /*\n * Groups\n */\n const optionsRegex = /^(\\s*)Options:\\s+(.*)$/g;\n const optionsMatches = optionsRegex.exec(text);\n\n if (optionsMatches) {\n el.Options = {};\n const options = optionsMatches[2].split(/\\s*,\\s*/);\n let matches;\n _.each(options, (option) => {\n const reg = /^(\\S*)\\s+(.*)$/g;\n matches = reg.exec(option);\n if (matches && el.Options) {\n el.Options[matches[1]] = JSON.parse(matches[2]);\n }\n });\n return true;\n }\n return false;\n }\n\n private parseTiming(text: string, el: Node): boolean {\n // Parses a timing block in JIT block\n // eg. Timing: Generation 0.340 ms, Inlining 0.000 ms, Optimization 0.168 ms, Emission 1.907 ms, Total 2.414 ms\n\n /*\n * Groups\n */\n const timingRegex = /^(\\s*)Timing:\\s+(.*)$/g;\n const timingMatches = timingRegex.exec(text);\n\n if (timingMatches) {\n el.Timing = {};\n const timings = timingMatches[2].split(/\\s*,\\s*/);\n let matches;\n _.each(timings, (option) => {\n const reg = /^(\\S*)\\s+(.*)$/g;\n matches = reg.exec(option);\n if (matches && el.Timing) {\n el.Timing[matches[1]] = this.parseTime(matches[2]);\n }\n });\n return true;\n }\n return false;\n }\n\n private parseTime(text: string): number {\n return parseFloat(text.replace(/(\\s*ms)$/, \"\"));\n }\n\n private parseSettings(text: string, el: Node): boolean {\n // Parses a settings block\n // eg. Timing: Generation 0.340 ms, Inlining 0.000 ms, Optimization 0.168 ms, Emission 1.907 ms, Total 2.414 ms\n\n const settingsRegex = /^(\\s*)Settings:\\s*(.*)$/g;\n const settingsMatches = settingsRegex.exec(text);\n\n if (settingsMatches) {\n el.Settings = {};\n const settings = splitBalanced(settingsMatches[2], \",\");\n let matches;\n _.each(settings, (option) => {\n const reg = /^(\\S*)\\s+=\\s+(.*)$/g;\n matches = reg.exec(_.trim(option));\n if (matches && el.Settings) {\n el.Settings[matches[1]] = matches[2].replace(/'/g, \"\");\n }\n });\n return true;\n }\n return false;\n }\n\n private parseSortGroups(text: string, el: Node): boolean {\n // Parses a Full-sort Groups block\n // eg. Full-sort Groups: 312500 Sort Method: quicksort Average Memory: 26kB Peak Memory: 26kB\n const sortGroupsRegex =\n /^\\s*(Full-sort|Pre-sorted) Groups:\\s+([0-9]*)\\s+Sort Method[s]*:\\s+(.*)\\s+Average Memory:\\s+(\\S*)kB\\s+Peak Memory:\\s+(\\S*)kB.*$/g;\n const matches = sortGroupsRegex.exec(text);\n\n if (matches) {\n const groups: SortGroups = {\n [SortGroupsProp.GROUP_COUNT]: parseInt(matches[2], 0),\n [SortGroupsProp.SORT_METHODS_USED]: _.map(matches[3].split(\",\"), _.trim),\n [SortGroupsProp.SORT_SPACE_MEMORY]: {\n [SortSpaceMemoryProp.AVERAGE_SORT_SPACE_USED]: parseInt(matches[4], 0),\n [SortSpaceMemoryProp.PEAK_SORT_SPACE_USED]: parseInt(matches[5], 0),\n },\n };\n\n if (matches[1] === \"Full-sort\") {\n el[NodeProp.FULL_SORT_GROUPS] = groups;\n } else if (matches[1] === \"Pre-sorted\") {\n el[NodeProp.PRE_SORTED_GROUPS] = groups;\n } else {\n throw new Error(\"Unsupported sort groups method\");\n }\n return true;\n }\n return false;\n }\n\n private parseStatisticsLine(text: string, el: Node): boolean {\n // 定义匹配统计信息的正则表达式\n const statisticsRegex =\n /^\\s*Statistics:\\s+Num rows:\\s+(\\d+)\\s+Data size:\\s+(\\d+)\\s+Basic stats:\\s+(\\w+)\\s+Column stats:\\s+(\\w+)$/;\n\n // 尝试匹配正则表达式\n const matches = text.match(statisticsRegex);\n\n if (matches) {\n // 输出各个参数的值\n const numRows = matches[1];\n // const dataSize = matches[2];\n // const basicStats = matches[3];\n // const columnStats = matches[4];\n\n // console.log(\"Num rows:\", numRows);\n // console.log(\"Data size:\", dataSize);\n // console.log(\"Basic stats:\", basicStats);\n // console.log(\"Column stats:\", columnStats);\n\n el[NodeProp.PLAN_ROWS] = parseInt(numRows, 0);\n }\n return false;\n }\n\n private calculateExclusives(node: Node) {\n // Caculate inclusive value for the current node for the given property\n const properties: Array = [\n \"SHARED_HIT_BLOCKS\",\n \"SHARED_READ_BLOCKS\",\n \"SHARED_DIRTIED_BLOCKS\",\n \"SHARED_WRITTEN_BLOCKS\",\n \"TEMP_READ_BLOCKS\",\n \"TEMP_WRITTEN_BLOCKS\",\n \"LOCAL_HIT_BLOCKS\",\n \"LOCAL_READ_BLOCKS\",\n \"LOCAL_DIRTIED_BLOCKS\",\n \"LOCAL_WRITTEN_BLOCKS\",\n \"IO_READ_TIME\",\n \"IO_WRITE_TIME\",\n ];\n _.each(properties, (property) => {\n const sum = _.sumBy(node[NodeProp.PLANS], (child: Node) => {\n return (child[NodeProp[property]] as number) || 0;\n });\n const exclusivePropertyString = (\"EXCLUSIVE_\" + property.toString()) as keyof typeof NodeProp;\n const nodeProp = NodeProp[exclusivePropertyString] as unknown as keyof typeof Node;\n node[nodeProp] = (node[NodeProp[property]] as number) - sum;\n });\n }\n\n private calculateIoTimingsAverage(node: Node) {\n const ioReadTime = (node[NodeProp[\"IO_READ_TIME\"]] as number) || 0;\n if (ioReadTime) {\n const sharedReadBlocks = (node[NodeProp[\"SHARED_READ_BLOCKS\"]] as number) || 0;\n const localReadBlocks = (node[NodeProp[\"LOCAL_READ_BLOCKS\"]] as number) || 0;\n node[NodeProp[\"AVERAGE_IO_READ_TIME\"]] = (sharedReadBlocks + localReadBlocks) / (ioReadTime / 1000);\n }\n\n const ioWriteTime = (node[NodeProp[\"IO_WRITE_TIME\"]] as number) || 0;\n if (ioWriteTime) {\n const sharedWriteBlocks = (node[NodeProp[\"SHARED_WRITTEN_BLOCKS\"]] as number) || 0;\n const localWriteBlocks = (node[NodeProp[\"LOCAL_WRITTEN_BLOCKS\"]] as number) || 0;\n node[NodeProp[\"AVERAGE_IO_WRITE_TIME\"]] = (sharedWriteBlocks + localWriteBlocks) / (ioWriteTime / 1000);\n }\n }\n\n private findOutputProperty(node: Node): boolean {\n // resursively look for an \"Output\" property\n const children = node.Plans;\n if (!children) {\n return false;\n }\n return _.some(children, (child) => {\n return _.has(child, NodeProp.OUTPUT) || this.findOutputProperty(child);\n });\n }\n}\n\nfunction replaceInnerParentheses(str: string) {\n const stack = [];\n let result = \"\";\n let temp = \"\";\n let insideParentheses = false;\n\n for (let i = 0; i < str.length; i++) {\n const char = str[i];\n\n if (char === \"(\") {\n if (insideParentheses) {\n temp += \"(\";\n } else {\n result += char;\n insideParentheses = true;\n }\n stack.push(char);\n } else if (char === \")\") {\n stack.pop();\n if (stack.length === 0) {\n result += temp + char;\n temp = \"\";\n insideParentheses = false;\n } else {\n temp += \")\";\n }\n } else {\n if (insideParentheses) {\n temp += char;\n } else {\n result += char;\n }\n }\n }\n\n return result;\n}\n","export function parseSQLServerExplain(plan: string) {\n let newPlanStr = \"\";\n const lines = plan.split(\"\\n\");\n const filteredLines: string[] = [];\n let foundExecutionPlan = false;\n\n lines.forEach((line) => {\n if (line.trim().startsWith(\"|--\")) {\n foundExecutionPlan = true;\n }\n if (foundExecutionPlan) {\n let convertedLine = line.replace(/^\\s*(?:\\|(?:\\s+\\|)*\\s*)?(\\|--)/, (match) => {\n const spaceCount = match.length - 3; // 减去 |-- 的长度\n return \" \".repeat(Math.max(0, spaceCount)) + \"-> \";\n });\n /**\n * select *\nfrom customer\nwhere customer.c_custkey = (select max(orders.o_custkey)\n from orders\n where orders.o_orderdate < '2022-12-20')[ cost:0.006571960169821978, rows:1]\n|--Nested Loops(Inner Join, OUTER REFERENCES:([Expr1004]))[ subCost:0.006571960169821978, rows:1, io:0.0, cpu:4.179999905318255E-6]\n |--Stream Aggregate(DEFINE:([Expr1004]=MAX([tpch].[dbo].[orders].[o_custkey])))[ subCost:0.0032846799585968256, rows:1, io:0.0, cpu:1.0999999631167157E-6]\n | |--Clustered Index Scan(OBJECT:([tpch].[dbo].[orders].[PK__orders__42185E85BFDA21D2]), WHERE:([tpch].[dbo].[orders].[o_orderdate]<'2022-12-20'))[ subCost:0.0032830999698489904, rows:1, io:0.0031250000465661287, cpu:1.5809999604243785E-4]\n |--Clustered Index Seek(OBJECT:([tpch].[dbo].[customer].[PK__customer__52F8CC94BE53B336]), SEEK:([tpch].[dbo].[customer].[c_custkey]=[Expr1004]) ORDERED FORWARD)[ subCost:0.0032830999698489904, rows:1, io:0.0031250000465661287, cpu:1.5809999604243785E-4]\n\n\n */\n /**\n * todo 拆分行,将类似Nested Loops(Inner Join, OUTER REFERENCES:([Expr1004]))[ subCost:0.006571960169821978, rows:1, io:0.0, cpu:4.179999905318255E-6]\n * 拆分成\n * Nested Loops[ subCost:0.006571960169821978, rows:1, io:0.0, cpu:4.179999905318255E-6]\n * Inner Join\n * OUTER REFERENCES:([Expr1004])\n * 我的思路是:1.找到最外层括号里的东西(涉及嵌套括号),放到一个变量里\n * 2.处理括号里的东西\n * 1.去掉括号\n * 2.按逗号分割,分割后的每项作为待会儿的一行内容\n * 3.处理行,判断是否包含冒号\n * 1.如果包含,冒号后添加一个空格\n * 2.如果没有,转化成 自己: 自己\n * 4.把生成的行添加到次行后面,并根据当前行的缩紧空格,额外添加四个\n *\n * */\n let newLines: string[] = [];\n\n // 提取操作符名称和括号内容\n const operatorMatch = convertedLine.match(/([A-Za-z ]+)\\(/);\n if (operatorMatch) {\n const operator = operatorMatch[1];\n const startPos = operatorMatch.index! + operatorMatch[0].length;\n const endPos = findClosingBracket(convertedLine, startPos);\n\n if (endPos !== -1) {\n const content = convertedLine.substring(startPos, endPos);\n // 保留操作符名称\n convertedLine =\n convertedLine.substring(0, operatorMatch.index!) + operator + convertedLine.substring(endPos + 1);\n\n // 处理括号内的内容\n const lines = content.split(\", \");\n newLines = lines.map((line: string) => {\n if (line.includes(\":\")) {\n return line.replace(\":\", \": \");\n } else {\n return `${line}: ${line}`;\n }\n });\n }\n }\n\n convertedLine = convertedLine.replace(\n /\\[ subCost:([0-9\\.]+), rows:([0-9]+)[^\\]]*\\]/g,\n (_match, subCost, rows) => `(cost=0.00..${subCost} rows=${rows} width=0)`\n // `(cost=0.00..${subCost} rows=${rows} width=0) (actual time=0.00..${subCost} rows=${rows} loops=1)`\n );\n\n filteredLines.push(convertedLine);\n if (newLines.length > 0) {\n const match = convertedLine.match(/^(.*?)->/);\n newLines.forEach((newLine) => {\n if (match) {\n filteredLines.push(match[1] + \" \" + newLine);\n } else {\n filteredLines.push(\" \".repeat(convertedLine.split(\"->\").length - 1) + newLine);\n }\n });\n }\n }\n });\n\n newPlanStr = filteredLines.join(\"\\n\");\n\n return newPlanStr;\n}\n\n// 修改正则表达式以处理更复杂的嵌套括号\nfunction findClosingBracket(str: string, start: number): number {\n let count = 1;\n for (let i = start; i < str.length; i++) {\n if (str[i] === \"(\") {\n count++;\n }\n if (str[i] === \")\") {\n count--;\n }\n if (count === 0) {\n return i;\n }\n }\n return -1;\n}\n","import { faCheck, faClipboard } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { useState } from \"react\";\nimport { Tooltip } from \"react-tippy\";\nimport { useCopyToClipboard } from \"react-use\";\nimport \"react-tippy/dist/tippy.css\";\n\nimport \"./copy.scss\";\n\ninterface Props {\n content: string;\n}\n\nconst Copy = ({ content }: Props) => {\n const [copied, setCopied] = useState(false);\n const [, copyToClipboard] = useCopyToClipboard();\n\n function copyRaw() {\n copyToClipboard(content);\n setCopied(true);\n window.setTimeout(() => {\n setCopied(false);\n }, 2000);\n }\n\n return (\n
    \n \n \n \n \n \n \n \n \n
    \n );\n};\n\nexport default Copy;\n","import type { IPlan, Node, ViewOptions } from \"../interfaces\";\n\nimport React, { useContext, useMemo } from \"react\";\n\ninterface Context {\n selectedNodeId: number;\n setSelectedNodeId: React.Dispatch>;\n highlightedNodeId: number | undefined;\n setHighlightedNodeId: React.Dispatch>;\n updateNodeSize: ((node: Node, size: [number, number]) => void) | undefined;\n selectNode: ((nodeId: number, center: boolean) => void) | undefined;\n viewOptions: ViewOptions;\n setViewOptions: React.Dispatch>;\n plan: IPlan | undefined;\n scale: number;\n rootNode: Node;\n init: boolean;\n\n toggleRender: (nextValue?: any) => void;\n}\n\nconst PlanContext = React.createContext(null);\n\nconst usePlanState = (): Context => {\n const PlanState = useContext(PlanContext);\n if (!PlanState) {\n throw new Error(\"usePlanState should be used within PlanProvider\");\n }\n return PlanState;\n};\n\nconst PlanProvider: React.FC<{\n selectedNodeId: number;\n setSelectedNodeId: React.Dispatch>;\n highlightedNodeId: number | undefined;\n setHighlightedNodeId: React.Dispatch>;\n updateNodeSize: ((node: Node, size: [number, number]) => void) | undefined;\n selectNode: ((nodeId: number, center: boolean) => void) | undefined;\n viewOptions: ViewOptions;\n setViewOptions: React.Dispatch>;\n plan: IPlan | undefined;\n scale: number;\n rootNode: Node;\n init: boolean;\n toggleRender: (nextValue?: any) => void;\n}> = ({\n selectedNodeId,\n setSelectedNodeId,\n highlightedNodeId,\n setHighlightedNodeId,\n updateNodeSize,\n selectNode,\n viewOptions,\n setViewOptions,\n plan,\n scale,\n rootNode,\n toggleRender,\n init,\n children,\n}) => {\n const ctx = useMemo(() => {\n return {\n selectedNodeId,\n setSelectedNodeId,\n highlightedNodeId,\n setHighlightedNodeId,\n updateNodeSize,\n selectNode,\n viewOptions,\n setViewOptions,\n plan,\n scale,\n rootNode,\n toggleRender,\n init,\n };\n }, [\n selectedNodeId,\n setSelectedNodeId,\n highlightedNodeId,\n setHighlightedNodeId,\n updateNodeSize,\n selectNode,\n viewOptions,\n setViewOptions,\n plan,\n scale,\n rootNode,\n toggleRender,\n init,\n ]);\n\n return {children};\n};\n\nexport { usePlanState, PlanProvider };\n","import type { IPlan, Node } from \"../interfaces\";\n\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport _ from \"lodash\";\nimport React, { useState, useEffect, useMemo, useRef, forwardRef } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { Tooltip } from \"react-tippy\";\nimport styled from \"styled-components\";\n\nimport Label from \"components/Label\";\n\nimport { EstimateDirection, BufferLocation, NodeProp, Metric, HighlightType } from \"../enums\";\nimport { blocks, duration, rows, factor, transferRate } from \"../filters\";\nimport { HelpService, scrollChildIntoParentView } from \"../services/help-service\";\nimport { usePlanState } from \"./PlanContext\";\n\nimport \"./Diagram.scss\";\n\nconst EditLaterMessage = styled(Label)`\n margin-bottom: 0;\n`;\n\nconst helpService = new HelpService();\nconst getHelpMessage = helpService.getHelpMessage;\n\ntype Row = [number, Node, boolean, number[]];\n\ninterface ViewOptions {\n metric: Metric;\n buffersMetric: BufferLocation;\n}\n\ninterface Props {\n className?: string;\n plan: IPlan;\n}\n\nexport const Diagram = forwardRef(({ plan, className }, ref) => {\n const { locale, formatMessage } = useIntl();\n\n const container = useRef(null);\n const { selectNode, rootNode, viewOptions, setViewOptions, selectedNodeId, highlightedNodeId, setHighlightedNodeId } =\n usePlanState();\n\n if (!selectNode) {\n throw new Error(`Could not resolve selectNode`);\n }\n const rowRefs: Array = [];\n\n // The main plan + init plans (all flatten)\n const [plans, setPlans] = useState([[]]);\n\n const [diagramViewOptions, setDiagramViewOptions] = useState({\n metric: Metric.time,\n buffersMetric: BufferLocation.shared,\n });\n\n useEffect(() => {\n if (plan) {\n // const savedOptions = localStorage.getItem(\"diagramViewOptions\");\n // if (savedOptions) {\n // _.assignIn(diagramViewOptions, JSON.parse(savedOptions));\n // }\n if (!(plan.content.databaseType === \"hive\")) {\n flatten(plans[0], 0, plan.content.Plan, true, []);\n }\n _.each(plan!.ctes, (cte) => {\n const flat: Row[] = [];\n flatten(flat, 0, cte, true, []);\n plans.push(flat);\n });\n\n _.each(plan!.stages, (stage) => {\n const flat: Row[] = [];\n flatten(flat, 0, stage, true, []);\n plans.push(flat);\n });\n\n setPlans(plans);\n // switch to the first buffers tab if data not available for the currently\n // chosen one\n const planBufferLocation = _.keys(plan!.planStats.maxBlocks);\n if (_.indexOf(planBufferLocation, diagramViewOptions.buffersMetric) === -1) {\n diagramViewOptions.buffersMetric = _.min(planBufferLocation) as BufferLocation;\n }\n }\n }, [plan]);\n\n const getTooltipContent = (node: Node): string => {\n let content = \"\";\n switch (diagramViewOptions.metric) {\n case Metric.time:\n content += timeTooltip(node);\n break;\n case Metric.rows:\n content += rowsTooltip(node);\n break;\n case Metric.estimate_factor:\n content += estimateFactorTooltip(node);\n break;\n case Metric.cost:\n content += costTooltip(node);\n break;\n case Metric.buffers:\n content += buffersTooltip(node);\n break;\n case Metric.io:\n content += ioTooltip(node);\n break;\n }\n if (node[NodeProp.CTE_NAME]) {\n content += \"
    CTE \" + node[NodeProp.CTE_NAME] + \"\";\n }\n\n if (node[NodeProp.Stage_NAME]) {\n content += \"
    STAGE \" + node[NodeProp.Stage_NAME] + \"\";\n }\n\n return content;\n };\n\n const timeTooltip = (node: Node): string => {\n return [\n `${formatMessage({ id: \"pev2.plan.diagram.tooltip.duration\" })}
    ${formatMessage({\n id: \"pev2.plan.diagram.tooltip.exclusive\",\n })}`,\n duration(node[NodeProp.EXCLUSIVE_DURATION]),\n formatMessage({ id: \"pev2.plan.diagram.tooltip.total\" }),\n duration(node[NodeProp.ACTUAL_TOTAL_TIME]),\n ].join(\"\");\n };\n\n const rowsTooltip = (node: Node): string => {\n return [\n `${formatMessage({ id: \"pev2.plan.diagram.tooltip.rows\" })}`,\n rows(node[NodeProp.ACTUAL_ROWS_REVISED] as number),\n ].join(\"\");\n };\n\n const estimateFactorTooltip = (node: Node): string => {\n const estimateFactor = node[NodeProp.PLANNER_ESTIMATE_FACTOR];\n const estimateDirection = node[NodeProp.PLANNER_ESTIMATE_DIRECTION];\n let text = \"\";\n if (estimateFactor === undefined || estimateDirection === undefined) {\n return \"N/A\";\n }\n switch (estimateDirection) {\n case EstimateDirection.over:\n text += ' over';\n break;\n case EstimateDirection.under:\n text += ' under';\n break;\n default:\n text += \"Correctly\";\n }\n text += \" estimated\";\n text += estimateFactor !== 1 ? \" by \" + factor(estimateFactor) + \"\" : \"\";\n text += \"
    \";\n text += \"Planned: \" + node[NodeProp.PLAN_ROWS_REVISED];\n text += \" → Actual: \" + node[NodeProp.ACTUAL_ROWS_REVISED];\n return text;\n };\n\n const costTooltip = (node: Node): string => {\n return [\n `${formatMessage({ id: \"pev2.plan.diagram.tooltip.cost\" })}`,\n rows(node[NodeProp.EXCLUSIVE_COST] as number),\n ].join(\"\");\n };\n\n const buffersTooltip = (node: Node): string => {\n let text = \"\";\n let hit;\n let read;\n let written;\n let dirtied;\n switch (diagramViewOptions.buffersMetric) {\n case BufferLocation.shared:\n hit = node[NodeProp.EXCLUSIVE_SHARED_HIT_BLOCKS];\n read = node[NodeProp.EXCLUSIVE_SHARED_READ_BLOCKS];\n dirtied = node[NodeProp.EXCLUSIVE_SHARED_DIRTIED_BLOCKS];\n written = node[NodeProp.EXCLUSIVE_SHARED_WRITTEN_BLOCKS];\n break;\n case BufferLocation.temp:\n read = node[NodeProp.EXCLUSIVE_TEMP_READ_BLOCKS];\n written = node[NodeProp.EXCLUSIVE_TEMP_WRITTEN_BLOCKS];\n break;\n case BufferLocation.local:\n hit = node[NodeProp.EXCLUSIVE_LOCAL_HIT_BLOCKS];\n read = node[NodeProp.EXCLUSIVE_LOCAL_READ_BLOCKS];\n dirtied = node[NodeProp.EXCLUSIVE_LOCAL_DIRTIED_BLOCKS];\n written = node[NodeProp.EXCLUSIVE_LOCAL_WRITTEN_BLOCKS];\n break;\n }\n text += '';\n text += hit ? '\" : \"\";\n text += read ? '\" : \"\";\n text += dirtied ? '\" : \"\";\n text += written ? '\" : \"\";\n text += \"
    Hit:' + blocks(hit) + \"
    Read:' + blocks(read) + \"
    Dirtied:' + blocks(dirtied) + \"
    Written:' + blocks(written) + \"
    \";\n\n if (!hit && !read && !dirtied && !written) {\n text = \" N/A\";\n }\n\n switch (diagramViewOptions.buffersMetric) {\n case BufferLocation.shared:\n text = \"Shared Blocks:\" + text;\n break;\n case BufferLocation.temp:\n text = \"Temp Blocks:\" + text;\n break;\n case BufferLocation.local:\n text = \"Local Blocks:\" + text;\n break;\n }\n return text;\n };\n\n const ioTooltip = (node: Node): string => {\n let text = \"\";\n const read = node[NodeProp.EXCLUSIVE_IO_READ_TIME];\n const averageRead = node[NodeProp.AVERAGE_IO_READ_TIME]!;\n const write = node[NodeProp.EXCLUSIVE_IO_WRITE_TIME];\n const averageWrite = node[NodeProp.AVERAGE_IO_WRITE_TIME]!;\n text += '';\n text += read\n ? '\"\n : \"\";\n text += write\n ? '\"\n : \"\";\n return \"IO \" + text;\n };\n\n const nodeType = (row: Row): string => {\n return row[1][NodeProp.NODE_TYPE]!;\n };\n\n const flatten = (output: Row[], level: number, node: Node, isLast: boolean, branches: number[]) => {\n // [level, node, isLastSibbling, branches]\n output.push([level, node, isLast, _.concat([], branches)]);\n if (!isLast) {\n branches.push(level);\n }\n\n _.each(node.Plans, (subnode) => {\n flatten(output, level + 1, subnode, subnode === _.last(node.Plans), branches);\n });\n if (!isLast) {\n branches.pop();\n }\n };\n function estimateFactorPercent(row: Row): number {\n const node = row[1];\n if (node[NodeProp.PLANNER_ESTIMATE_FACTOR] === Infinity) {\n return 100;\n }\n return ((node[NodeProp.PLANNER_ESTIMATE_FACTOR] || 0) / maxEstimateFactor) * 100;\n }\n\n const maxEstimateFactor = useMemo(() => {\n const max = Math.max(\n ...plans.map((plan) =>\n Math.max(\n ...plan.map((row) => {\n const f = row[1][NodeProp.PLANNER_ESTIMATE_FACTOR]!;\n if (f !== Infinity) {\n return f;\n }\n return 0;\n })\n )\n )\n );\n return max * 2 || 1;\n }, [plans]);\n\n const dataAvailable = useMemo(() => {\n if (diagramViewOptions.metric === Metric.buffers) {\n // if current Metric is buffers, view options for buffers should be\n // undefined if there's no buffer data\n return !!diagramViewOptions.buffersMetric;\n }\n return true;\n }, [diagramViewOptions]);\n\n const isCTE = (node: Node): boolean => {\n return _.startsWith(node[NodeProp.SUBPLAN_NAME], \"CTE\");\n };\n\n const isSTAGE = (node: Node): boolean => {\n return _.startsWith(node[NodeProp.SUBPLAN_NAME], \"STAGE\");\n };\n useEffect(() => {\n if (!container || !selectedNodeId) {\n return;\n }\n scrollChildIntoParentView(container.current!, rowRefs[selectedNodeId as number], false);\n }, [selectedNodeId, container, rowRefs]);\n\n function setRowRef(nodeId: number, el: HTMLTableRowElement) {\n rowRefs[nodeId] = el;\n }\n\n return (\n
    \n
    \n
    \n
    \n {\n setDiagramViewOptions({ ...diagramViewOptions, metric: Metric.time });\n setViewOptions({\n ...viewOptions!,\n highlightType: plan.isAnalyze ? HighlightType.DURATION : HighlightType.NONE,\n });\n }}\n >\n {formatMessage({ id: \"pev2.plan.diagram.time\" })}\n \n {\n setDiagramViewOptions({ ...diagramViewOptions, metric: Metric.cost });\n setViewOptions({\n ...viewOptions!,\n highlightType: HighlightType.COST,\n });\n }}\n >\n {formatMessage({ id: \"pev2.plan.diagram.cost\" })}\n \n {\n setDiagramViewOptions({ ...diagramViewOptions, metric: Metric.rows });\n setViewOptions({\n ...viewOptions!,\n highlightType:\n rootNode && rootNode[NodeProp.ACTUAL_ROWS] !== undefined ? HighlightType.ROWS : HighlightType.NONE,\n });\n }}\n >\n {formatMessage({ id: \"pev2.plan.diagram.rows\" })}\n \n {\n setDiagramViewOptions({\n ...diagramViewOptions,\n metric: Metric.estimate_factor,\n });\n setViewOptions({\n ...viewOptions!,\n highlightType: HighlightType.NONE,\n });\n }}\n style={{ display: \"none\" }}\n >\n {formatMessage({ id: \"pev2.plan.diagram.estimation\" })}\n \n {plan && plan.content.databaseType === \"postgres\" && (\n <>\n {\n setDiagramViewOptions({ ...diagramViewOptions, metric: Metric.buffers });\n setViewOptions({\n ...viewOptions!,\n highlightType: HighlightType.NONE,\n });\n }}\n >\n {formatMessage({ id: \"pev2.plan.diagram.buffers\" })}\n \n {\n setDiagramViewOptions({ ...diagramViewOptions, metric: Metric.io });\n setViewOptions({\n ...viewOptions!,\n highlightType: HighlightType.NONE,\n });\n }}\n >\n {formatMessage({ id: \"pev2.plan.diagram.io\" })}\n \n \n )}\n
    \n
    \n {diagramViewOptions.metric === Metric.buffers && (\n
    \n
    \n \n setDiagramViewOptions({\n ...diagramViewOptions,\n buffersMetric: BufferLocation.shared,\n })\n }\n disabled={!plan!.planStats.maxBlocks?.[BufferLocation.shared]}\n >\n {formatMessage({ id: \"pev2.plan.diagram.shared\" })}\n \n \n setDiagramViewOptions({\n ...diagramViewOptions,\n buffersMetric: BufferLocation.temp,\n })\n }\n disabled={!plan!.planStats.maxBlocks?.[BufferLocation.temp]}\n >\n {formatMessage({ id: \"pev2.plan.diagram.temp\" })}\n \n \n setDiagramViewOptions({\n ...diagramViewOptions,\n buffersMetric: BufferLocation.local,\n })\n }\n disabled={!plan!.planStats.maxBlocks?.[BufferLocation.local]}\n >\n {formatMessage({ id: \"pev2.plan.diagram.local\" })}\n \n
    \n
    \n )}\n
    \n {diagramViewOptions.metric === Metric.buffers && (\n
      \n {diagramViewOptions.buffersMetric !== BufferLocation.temp && (\n
    • \n \n {formatMessage({ id: \"pev2.plan.diagram.hit\" })}\n
    • \n )}\n
    • \n \n {formatMessage({ id: \"pev2.plan.diagram.read\" })}\n
    • \n {diagramViewOptions.buffersMetric !== BufferLocation.temp && (\n
    • \n \n {formatMessage({ id: \"pev2.plan.diagram.dirtied\" })}\n
    • \n )}\n
    • \n \n {formatMessage({ id: \"pev2.plan.diagram.written\" })}\n
    • \n
    \n )}\n {diagramViewOptions.metric === Metric.io && (\n <>\n
      \n
    • \n \n {formatMessage({ id: \"pev2.plan.diagram.read\" })}\n
    • \n
    • \n \n {formatMessage({ id: \"pev2.plan.diagram.write\" })}\n
    • \n
    \n \n \n \n \n )}\n
    \n
    \n
    \n {dataAvailable ? (\n
    Read:' +\n duration(read) +\n \"
    ~\" +\n transferRate(averageRead) +\n \"\" +\n \"
    Write:' +\n duration(write) +\n \"
    ~\" +\n transferRate(averageWrite) +\n \"\" +\n \"
    \n {plans.map((flat, index) => (\n \n {index === 0 && plans.length > 1 && (\n \n \n \n )}\n {flat.map((row, index) => (\n \n {row[1][NodeProp.SUBPLAN_NAME] && (\n \n \n \n \n {_.range(row[0]).map((i) => (\n \n {_.indexOf(row[3], i) !== -1 ? \"│\" : i !== 0 ? \"\\u2003\" : \"\"}\n \n ))}\n {index !== 0 && (row[2] ? \"└\" : \"├\")}\n \n {\n e.preventDefault();\n selectNode(row[1].nodeId, true);\n }}\n >\n {row[1][NodeProp.SUBPLAN_NAME]}\n \n \n \n )}\n setRowRef(row[1].nodeId, el!)}\n onMouseEnter={() => setHighlightedNodeId(row[1].nodeId)}\n onMouseLeave={() => setHighlightedNodeId(undefined)}\n onClick={(_e) => selectNode(row[1].nodeId, true)}\n >\n \n \n \n \n \n ))}\n \n ))}\n
    \n Main Query Plan\n
    \n #{row[1].nodeId}\n \n \n \n {_.range(row[0]).map((i) => (\n \n {_.indexOf(row[3], i) !== -1 ? \"│\" : i !== 0 ? \"\\u2003\" : \"\"}\n \n ))}\n {index !== 0 && (\n <>\n {!row[1][NodeProp.SUBPLAN_NAME] && (row[2] ? \"└\" : \"├\")}\n {row[1][NodeProp.SUBPLAN_NAME] && <>{!row[2] ? \"│\" : \"\\u2003\"}}\n \n )}\n \n {nodeType(row)}\n \n \n {/* time */}\n {diagramViewOptions.metric === Metric.time && (\n \n 0 ? \"border-left\" : \"\"\n }`}\n role=\"progressbar\"\n style={{\n width: `${\n (row[1][NodeProp.EXCLUSIVE_DURATION]! /\n (plan!.planStats.executionTime ||\n plan!.content.Plan[NodeProp.ACTUAL_TOTAL_TIME]!)) *\n 100\n }%`,\n height: \"5px\",\n }}\n aria-valuenow={15}\n aria-valuemin={0}\n aria-valuemax={100}\n >\n \n \n )}\n {/* rows */}\n {diagramViewOptions.metric === Metric.rows && (\n \n \n \n )}\n {/* estimation */}\n {diagramViewOptions.metric === Metric.estimate_factor && (\n \n \n {row[1][NodeProp.PLANNER_ESTIMATE_DIRECTION] === EstimateDirection.under ? (\n \n ) : (\n \n )}\n \n \n \n \n \n {row[1][NodeProp.PLANNER_ESTIMATE_DIRECTION] === EstimateDirection.over ? (\n \n ) : (\n \n )}\n \n \n )}\n {/* cost */}\n {diagramViewOptions.metric === Metric.cost && (\n \n 0 ? \"border-secondary border-left\" : \"\"\n }`}\n role=\"progressbar\"\n style={{\n width: `${Math.round(\n (row[1][NodeProp.EXCLUSIVE_COST]! / plan!.planStats.maxCost) * 100\n )}%`,\n height: \"5px\",\n }}\n aria-valuenow={15}\n aria-valuemin={0}\n aria-valuemax={100}\n >\n \n )}\n {/* buffer shared */}\n {diagramViewOptions.metric === Metric.buffers &&\n diagramViewOptions.buffersMetric === BufferLocation.shared &&\n plan!.planStats.maxBlocks?.[BufferLocation.shared] && (\n \n 0 ? \"border-left border-hit\" : \"\"\n }`}\n role=\"progressbar\"\n style={{\n width: `${\n Math.round(\n (row[1][NodeProp.EXCLUSIVE_SHARED_HIT_BLOCKS]! /\n plan!.planStats.maxBlocks?.[BufferLocation.shared]) *\n 100\n ) || 0\n }%`,\n height: \"5px\",\n }}\n aria-valuenow={15}\n aria-valuemin={0}\n aria-valuemax={100}\n >\n 0 ? \"border-left border-read\" : \"\"\n }`}\n role=\"progressbar\"\n style={{\n width: `${\n Math.round(\n (row[1][NodeProp.EXCLUSIVE_SHARED_READ_BLOCKS]! /\n plan!.planStats.maxBlocks?.[BufferLocation.shared]) *\n 100\n ) || 0\n }%`,\n height: \"5px\",\n }}\n aria-valuenow={15}\n aria-valuemin={0}\n aria-valuemax={100}\n >\n 0\n ? \"border-left border-dirtied\"\n : \"\"\n }`}\n role=\"progressbar\"\n style={{\n width: `${\n Math.round(\n (row[1][NodeProp.EXCLUSIVE_SHARED_DIRTIED_BLOCKS]! /\n plan!.planStats.maxBlocks?.[BufferLocation.shared]) *\n 100\n ) || 0\n }%`,\n height: \"5px\",\n }}\n aria-valuenow={15}\n aria-valuemin={0}\n aria-valuemax={100}\n >\n 0\n ? \"border-left border-written\"\n : \"\"\n }`}\n role=\"progressbar\"\n style={{\n width: `${\n Math.round(\n (row[1][NodeProp.EXCLUSIVE_SHARED_WRITTEN_BLOCKS]! /\n plan!.planStats.maxBlocks?.[BufferLocation.shared]) *\n 100\n ) || 0\n }%`,\n height: \"5px\",\n }}\n aria-valuenow={15}\n aria-valuemin={0}\n aria-valuemax={100}\n >\n \n )}\n\n {/* buffer temp */}\n {diagramViewOptions.metric === Metric.buffers &&\n diagramViewOptions.buffersMetric === BufferLocation.temp &&\n plan!.planStats.maxBlocks?.[BufferLocation.temp] && (\n \n \n \n \n )}\n {/* buffer local */}\n {diagramViewOptions.metric === Metric.buffers &&\n diagramViewOptions.buffersMetric === BufferLocation.local &&\n plan!.planStats.maxBlocks?.[BufferLocation.local] && (\n \n \n \n \n \n \n )}\n {/* io */}\n {diagramViewOptions.metric === Metric.io &&\n (plan!.content.Plan[NodeProp.IO_READ_TIME] || plan!.content.Plan[NodeProp.IO_WRITE_TIME]) && (\n \n \n \n \n )}\n
    \n ) : (\n
    \n {formatMessage({ id: \"pev2.plan.diagram.no.data.available\" })}\n
    \n )}\n \n
    \n (\n \n {pev}\n \n ),\n pevtwo: (pevtwo: React.ReactNode) => (\n \n {pevtwo}\n \n ),\n }}\n />\n }\n />\n
    \n \n );\n});\n","/**\n * http://stackoverflow.com/questions/2353211/hsl-to-rgb-color-conversion\n *\n * Converts an HSL color value to RGB. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\n * Assumes h, s, and l are contained in the set [0, 1] and\n * returns r, g, and b in the set [0, 255].\n *\n * @param Number h The hue\n * @param Number s The saturation\n * @param Number l The lightness\n * @return Array The RGB representation\n */\nfunction hslToRgb(h: number, s: number, l: number) {\n let r;\n let g;\n let b;\n\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [Math.floor(r * 255), Math.floor(g * 255), Math.floor(b * 255)];\n}\n\n// convert a number to a color using hsl\nexport function numberToColorHsl(i: number) {\n // as the function expects a value between 0 and 100, and red = 100° and green = 0°\n // we convert the input to the appropriate hue value\n const hue = ((100 - i) * 1.2) / 360;\n // we convert hsl to rgb (saturation 100%, lightness 50%)\n const rgb = hslToRgb(hue, 0.9, 0.4);\n // we format to css value and return\n return \"rgb(\" + rgb[0] + \",\" + rgb[1] + \",\" + rgb[2] + \")\";\n}\n\nexport function durationPercentToClass(i: number): number {\n if (i > 90) {\n return 4;\n } else if (i > 40) {\n return 3;\n } else if (i > 10) {\n return 2;\n }\n return 1;\n}\n\nfunction hue2rgb(p: number, q: number, t: number) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n","import type { IPlan, Node, Worker, ViewOptions } from \"./interfaces\";\n\nimport _ from \"lodash\";\nimport { useState, useMemo, useEffect } from \"react\";\n\nimport { NodeProp, EstimateDirection, HighlightType } from \"./enums\";\nimport { cost, duration, rows } from \"./filters\";\nimport { numberToColorHsl } from \"./services/color-service\";\n\nexport default function useNode(plan: IPlan, node: Node, viewOptions: ViewOptions) {\n const [executionTimePercent, setExecutionTimePercent] = useState(NaN);\n // UI flags\n // calculated properties\n const [costPercent, setCostPercent] = useState(NaN);\n const [barWidth, setBarWidth] = useState(0);\n const [highlightValue, setHighlightValue] = useState(null);\n const [plannerRowEstimateValue, setPlannerRowEstimateValue] = useState();\n const [plannerRowEstimateDirection, setPlannerRowEstimateDirection] = useState();\n const [rowsRemoved, setRowsRemoved] = useState(NaN);\n const [rowsRemovedPercent, setRowsRemovedPercent] = useState(NaN);\n const [rowsRemovedPercentString, setRowsRemovedPercentString] = useState();\n\n useEffect(() => {\n calculateBar();\n calculateDuration();\n calculateCost();\n calculateRowsRemoved();\n setPlannerRowEstimateDirection(node[NodeProp.PLANNER_ESTIMATE_DIRECTION]);\n setPlannerRowEstimateValue(node[NodeProp.PLANNER_ESTIMATE_FACTOR]);\n }, []);\n\n useEffect(() => {\n calculateBar();\n }, [viewOptions.highlightType]);\n\n function calculateBar(): void {\n let value: number | undefined;\n switch (viewOptions.highlightType) {\n case HighlightType.DURATION:\n value = node[NodeProp.EXCLUSIVE_DURATION];\n if (value === undefined) {\n setHighlightValue(null);\n break;\n }\n setBarWidth(Math.round((value / (plan.planStats.maxDuration as number)) * 100));\n setHighlightValue(duration(value));\n break;\n case HighlightType.ROWS:\n value = node[NodeProp.ACTUAL_ROWS_REVISED];\n if (value === undefined) {\n setHighlightValue(null);\n break;\n }\n setBarWidth(Math.round((value / (plan.planStats.maxRows as number)) * 100) || 0);\n setHighlightValue(rows(value));\n break;\n case HighlightType.COST:\n value = node[NodeProp.EXCLUSIVE_COST];\n\n if (value === undefined || Number.isNaN(value)) {\n setHighlightValue(null);\n break;\n }\n setBarWidth(Math.round((value / (plan.planStats.maxCost as number)) * 100));\n setHighlightValue(cost(value));\n break;\n }\n }\n\n const barColor = useMemo((): string => {\n return numberToColorHsl(barWidth);\n }, [barWidth]);\n\n const isParallelAware = useMemo((): boolean => {\n return node[NodeProp.PARALLEL_AWARE]!;\n }, [node]);\n\n const nodeName = useMemo((): string => {\n let nodeName = isParallelAware ? \"Parallel \" : \"\";\n nodeName += node[NodeProp.NODE_TYPE];\n return nodeName;\n }, [isParallelAware, node]);\n\n function calculateDuration() {\n // use the first node total time if plan execution time is not available\n\n const executionTime =\n plan && plan.planStats\n ? (plan.planStats.executionTime as number) || (plan.content?.Plan?.[NodeProp.ACTUAL_TOTAL_TIME] as number)\n : 0;\n const duration = node[NodeProp.EXCLUSIVE_DURATION] as number;\n setExecutionTimePercent(_.round((duration / executionTime) * 100));\n }\n\n function calculateCost() {\n const maxTotalCost = plan ? (plan.content.maxTotalCost as number) : 0;\n const cost = node[NodeProp.EXCLUSIVE_COST] as number;\n setCostPercent(_.round((cost / maxTotalCost) * 100));\n }\n\n type NodePropStrings = keyof typeof NodeProp;\n const rowsRemovedProp = useMemo((): NodePropStrings => {\n const nodeKey = Object.keys(node).find(\n (key) => key === NodeProp.ROWS_REMOVED_BY_FILTER_REVISED || key === NodeProp.ROWS_REMOVED_BY_JOIN_FILTER_REVISED\n );\n return Object.keys(NodeProp).find((prop) => NodeProp[prop as NodePropStrings] === nodeKey) as NodePropStrings;\n }, []);\n\n function calculateRowsRemoved() {\n if (rowsRemovedProp) {\n type NodePropStrings = keyof typeof NodeProp;\n const removed = node[NodeProp[rowsRemovedProp as NodePropStrings]] as number;\n setRowsRemoved(removed);\n const actual = node[NodeProp.ACTUAL_ROWS_REVISED];\n setRowsRemovedPercent(_.floor((removed / (removed + actual!)) * 100));\n if (rowsRemovedPercent === 100) {\n setRowsRemovedPercentString(\">99\");\n } else if (rowsRemovedPercent === 0) {\n setRowsRemovedPercentString(\"<1\");\n } else {\n setRowsRemovedPercentString(rowsRemovedPercent.toString());\n }\n }\n }\n\n const durationClass = useMemo(() => {\n let c;\n const i = executionTimePercent;\n if (i > 90) {\n c = 4;\n } else if (i > 40) {\n c = 3;\n } else if (i > 10) {\n c = 2;\n }\n if (c) {\n return \"c-\" + c;\n }\n return false;\n }, [executionTimePercent]);\n\n const estimationClass = useMemo(() => {\n let c;\n const i = node[NodeProp.PLANNER_ESTIMATE_FACTOR] as number;\n if (i > 1000) {\n c = 4;\n } else if (i > 100) {\n c = 3;\n } else if (i > 10) {\n c = 2;\n }\n if (c) {\n return \"c-\" + c;\n }\n return false;\n }, [node]);\n\n const costClass = useMemo(() => {\n let c;\n const i = costPercent;\n if (i > 90) {\n c = 4;\n } else if (i > 40) {\n c = 3;\n } else if (i > 10) {\n c = 2;\n }\n if (c) {\n return \"c-\" + c;\n }\n return false;\n }, [costPercent]);\n\n const rowsRemovedClass = useMemo(() => {\n let c;\n // high percent of rows removed is relevant only when duration is high\n // as well\n const i = rowsRemovedPercent * executionTimePercent;\n if (i > 2000) {\n c = 4;\n } else if (i > 500) {\n c = 3;\n }\n if (c) {\n return \"c-\" + c;\n }\n return false;\n }, [rowsRemovedPercent, executionTimePercent]);\n\n const heapFetchesClass = useMemo(() => {\n let c;\n const i =\n ((node[NodeProp.HEAP_FETCHES] as number) /\n ((node[NodeProp.ACTUAL_ROWS] as number) +\n ((node[NodeProp.ROWS_REMOVED_BY_FILTER] as number) || 0) +\n ((node[NodeProp.ROWS_REMOVED_BY_JOIN_FILTER] as number) || 0))) *\n 100;\n if (i > 90) {\n c = 4;\n } else if (i > 40) {\n c = 3;\n } else if (i > 10) {\n c = 2;\n }\n if (c) {\n return \"c-\" + c;\n }\n return false;\n }, [node]);\n\n const filterTooltip = useMemo((): string => {\n return rowsRemovedPercentString + \"% of rows removed by filter\";\n }, [rowsRemovedPercentString]);\n\n const isNeverExecuted = useMemo((): boolean => {\n return plan && plan.planStats && !!plan.planStats.executionTime && !node[NodeProp.ACTUAL_LOOPS];\n }, [plan, node]);\n\n const workersLaunchedCount = useMemo((): number => {\n // console.warn(\"Make sure it works for workers that are not array\");\n if (node[NodeProp.WORKERS_LAUNCHED]) {\n return node[NodeProp.WORKERS_LAUNCHED] as number;\n }\n const workers = node[NodeProp.WORKERS] as Worker[];\n return workers ? workers.length : NaN;\n }, [node]);\n\n const workersPlannedCount = useMemo((): number => {\n return node[NodeProp.WORKERS_PLANNED_BY_GATHER] as number;\n }, [node]);\n\n const workersPlannedCountReversed = useMemo((): number[] => {\n const workersPlanned = node[NodeProp.WORKERS_PLANNED_BY_GATHER];\n const arr = [];\n if (workersPlanned !== undefined) {\n for (let i = workersPlanned - 1; i >= 0; i--) {\n arr.push(i);\n }\n }\n return arr;\n }, [node]);\n\n return {\n barColor,\n barWidth,\n costClass,\n durationClass,\n estimationClass,\n executionTimePercent,\n filterTooltip,\n heapFetchesClass,\n highlightValue,\n isNeverExecuted,\n isParallelAware,\n nodeName,\n plannerRowEstimateDirection,\n plannerRowEstimateValue,\n rowsRemoved,\n rowsRemovedProp,\n rowsRemovedClass,\n rowsRemovedPercent,\n rowsRemovedPercentString,\n workersLaunchedCount,\n workersPlannedCount,\n workersPlannedCountReversed,\n };\n}\n","import hljs from \"highlight.js/lib/core\";\nimport _ from \"lodash\";\n\nconst OPEN_TAG = \" _OPEN_TAG_\";\nconst CLOSE_TAG = \"_CLOSE_TAG_\";\nexport class SyntaxHighlightService {\n highlight(code: string, keyItems: Array) {\n hljs.registerLanguage(\"sql\", LANG_SQL);\n // hljs.configure({\n // tabReplace: \" \",\n // });\n\n // prior to syntax highlighting, we want to tag key items in the raw code. making the\n // query upper case and ensuring that all comma separated values have a space\n // makes it simpler to find the items we're looing for\n let result: string = code.replaceAll(\", \", \",\");\n _.each(keyItems, (keyItem: string) => {\n result = result.replaceAll(keyItem, `${OPEN_TAG}${keyItem}${CLOSE_TAG}`);\n });\n result = hljs.highlightAuto(result).value;\n result = result.replaceAll(new RegExp(OPEN_TAG, \"g\"), ``);\n result = result.replaceAll(new RegExp(CLOSE_TAG, \"g\"), \"\");\n\n return result;\n }\n}\n\nexport const LANG_SQL = function (hljs: {\n COMMENT: (arg0: string, arg1: string) => any;\n BACKSLASH_ESCAPE: any;\n C_NUMBER_MODE: any;\n C_BLOCK_COMMENT_MODE: any;\n}) {\n const COMMENT_MODE = hljs.COMMENT(\"--\", \"$\");\n return {\n case_insensitive: true,\n illegal: /[<>{}*]/,\n contains: [\n {\n beginKeywords:\n \"begin end start commit rollback savepoint lock alter create drop rename call \" +\n \"delete do handler insert load replace select truncate update set show pragma grant \" +\n \"merge describe use explain help declare prepare execute deallocate release \" +\n \"unlock purge reset change stop analyze cache flush optimize repair kill \" +\n \"install uninstall checksum restore check backup revoke\",\n end: /;/,\n endsWithParent: true,\n keywords: {\n keyword:\n \"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add \" +\n \"addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias \" +\n \"allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply \" +\n \"archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan \" +\n \"atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid \" +\n \"authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile \" +\n \"before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float \" +\n \"binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound \" +\n \"buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel \" +\n \"capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base \" +\n \"char_length character_length characters characterset charindex charset charsetform charsetid check \" +\n \"checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close \" +\n \"cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation \" +\n \"collect colu colum column column_value columns columns_updated comment commit compact compatibility \" +\n \"compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn \" +\n \"connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection \" +\n \"consider consistent constant constraint constraints constructor container content contents context \" +\n \"contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost \" +\n \"count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation \" +\n \"critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user \" +\n \"cursor curtime customdatum cycle d data database databases datafile datafiles datalength date_add \" +\n \"date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts \" +\n \"day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate \" +\n \"declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults \" +\n \"deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank \" +\n \"depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor \" +\n \"deterministic diagnostics difference dimension direct_load directory disable disable_all \" +\n \"disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div \" +\n \"do document domain dotnet double downgrade drop dumpfile duplicate duration e each edition editionable \" +\n \"editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt \" +\n \"end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors \" +\n \"escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding \" +\n \"execu execut execute exempt exists exit exp expire explain export export_set extended extent external \" +\n \"external_1 external_2 externally extract f failed failed_login_attempts failover failure far fast \" +\n \"feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final \" +\n \"finish first first_value fixed flash_cache flashback floor flush following follows for forall force \" +\n \"form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days \" +\n \"ftp full function g general generated get get_format get_lock getdate getutcdate global global_name \" +\n \"globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups \" +\n \"gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex \" +\n \"hierarchy high high_priority hosts hour http i id ident_current ident_incr ident_seed identified \" +\n \"identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment \" +\n \"index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile \" +\n \"initial initialized initially initrans inmemory inner innodb input insert install instance instantiable \" +\n \"instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat \" +\n \"is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists \" +\n \"k keep keep_duplicates key keys kill l language large last last_day last_insert_id last_value lax lcase \" +\n \"lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit \" +\n \"lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate \" +\n \"locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call \" +\n \"logoff logon logs long loop low low_priority lower lpad lrtrim ltrim m main make_set makedate maketime \" +\n \"managed management manual map mapping mask master master_pos_wait match matched materialized max \" +\n \"maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans \" +\n \"md5 measures median medium member memcompress memory merge microsecond mid migration min minextents \" +\n \"minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month \" +\n \"months mount move movement multiset mutex n name name_const names nan national native natural nav nchar \" +\n \"nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile \" +\n \"nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile \" +\n \"nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder \" +\n \"nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck \" +\n \"noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe \" +\n \"nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber \" +\n \"ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old \" +\n \"on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date \" +\n \"oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary \" +\n \"out outer outfile outline output over overflow overriding p package pad parallel parallel_enable \" +\n \"parameters parent parse partial partition partitions pascal passing password password_grace_time \" +\n \"password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex \" +\n \"pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc \" +\n \"performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin \" +\n \"policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction \" +\n \"prediction_cost prediction_details prediction_probability prediction_set prepare present preserve \" +\n \"prior priority private private_sga privileges procedural procedure procedure_analyze processlist \" +\n \"profiles project prompt protection public publishingservername purge quarter query quick quiesce quota \" +\n \"quotename radians raise rand range rank raw read reads readsize rebuild record records \" +\n \"recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh \" +\n \"regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy \" +\n \"reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename \" +\n \"repair repeat replace replicate replication required reset resetlogs resize resource respect restore \" +\n \"restricted result result_cache resumable resume retention return returning returns reuse reverse revoke \" +\n \"right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows \" +\n \"rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll \" +\n \"sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select \" +\n \"self sequence sequential serializable server servererror session session_user sessions_per_user set \" +\n \"sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor \" +\n \"si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin \" +\n \"size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex \" +\n \"source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows \" +\n \"sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone \" +\n \"standby start starting startup statement static statistics stats_binomial_test stats_crosstab \" +\n \"stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep \" +\n \"stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev \" +\n \"stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate \" +\n \"subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum \" +\n \"suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate \" +\n \"sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime t table tables tablespace tan tdo \" +\n \"template temporary terminated tertiary_weights test than then thread through tier ties time time_format \" +\n \"time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr \" +\n \"timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking \" +\n \"transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate \" +\n \"try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress \" +\n \"under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot \" +\n \"unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert \" +\n \"url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date \" +\n \"utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var \" +\n \"var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray \" +\n \"verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear \" +\n \"wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped \" +\n \"xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces \" +\n \"xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek\",\n literal: \"true false null\",\n built_in:\n \"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number \" +\n \"numeric real record serial serial8 smallint text varchar varying void\",\n },\n contains: [\n {\n className: \"string\",\n begin: \"'\",\n end: \"'\",\n contains: [hljs.BACKSLASH_ESCAPE, { begin: \"''\" }],\n },\n {\n className: \"string\",\n begin: '\"',\n end: '\"',\n contains: [hljs.BACKSLASH_ESCAPE, { begin: '\"\"' }],\n },\n {\n className: \"string\",\n begin: \"`\",\n end: \"`\",\n contains: [hljs.BACKSLASH_ESCAPE],\n },\n hljs.C_NUMBER_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n COMMENT_MODE,\n ],\n },\n hljs.C_BLOCK_COMMENT_MODE,\n COMMENT_MODE,\n ],\n };\n};\n","import type { Node } from \"../interfaces\";\n\nimport React, { useContext, useMemo } from \"react\";\n\ninterface Context {\n updateSize: (node: Node, setNode: React.Dispatch>) => void;\n node: Node;\n setNode: React.Dispatch>;\n outerEl: React.MutableRefObject;\n}\n\nconst PlanNodeContext = React.createContext(null);\n\nconst usePlanNodeState = (): Context => {\n const planNodeState = useContext(PlanNodeContext);\n if (!planNodeState) {\n throw new Error(\"usePlanNodeState should be used within PlanNodeProvider\");\n }\n return planNodeState;\n};\n\nconst PlanNodeProvider: React.FC<{\n updateSize: (node: Node, setNode: React.Dispatch>) => void;\n setNode: React.Dispatch>;\n node: Node;\n outerEl: React.MutableRefObject;\n}> = ({ updateSize, setNode, node, outerEl, children }) => {\n const ctx = useMemo(() => {\n return {\n updateSize,\n node,\n setNode,\n outerEl,\n };\n }, [updateSize, setNode, node]);\n\n return {children};\n};\n\nexport { usePlanNodeState, PlanNodeProvider };\n","import { faClock, faDollarSign, faExclamationTriangle, faInfoCircle, faUndo } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport _ from \"lodash\";\nimport React, { useState, useMemo, useEffect } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { Tooltip } from \"react-tippy\";\n\nimport { EstimateDirection, NodeProp, NodePropChinese, nodePropTypes, PropType, WorkerProp } from \"../enums\";\nimport { formatNodeProp } from \"../filters\";\nimport { Node } from \"../interfaces\";\nimport useNode from \"../node\";\nimport { HelpService } from \"../services/help-service\";\nimport { usePlanState } from \"./PlanContext\";\nimport { usePlanNodeState } from \"./PlanNodeContext\";\ninterface Props {\n node: Node;\n}\nconst PlanNodeDetail: React.FC = (props) => {\n //注入\n const { viewOptions, plan, init, toggleRender } = usePlanState();\n\n const [node, setNode] = useState(props.node);\n\n const { updateSize } = usePlanNodeState();\n\n const [nodeProps, setNodeProps] = useState<\n {\n key: keyof typeof NodeProp;\n value: unknown;\n }[]\n >([]);\n\n // UI flags\n const [activeTab, setActiveTab] = useState(\"general\");\n\n const { locale, formatMessage } = useIntl();\n const helpService = new HelpService();\n const getHelpMessage = helpService.getHelpMessage;\n const getNodeTypeDescription = helpService.getNodeTypeDescription;\n\n const {\n costClass,\n durationClass,\n estimationClass,\n executionTimePercent,\n heapFetchesClass,\n plannerRowEstimateDirection,\n plannerRowEstimateValue,\n rowsRemoved,\n rowsRemovedClass,\n rowsRemovedPercentString,\n rowsRemovedProp,\n workersLaunchedCount,\n } = useNode(plan!, node, viewOptions);\n\n const notMiscProperties: string[] = [\n NodeProp.NODE_TYPE,\n NodeProp.CTE_NAME,\n NodeProp.EXCLUSIVE_DURATION,\n NodeProp.EXCLUSIVE_COST,\n NodeProp.TOTAL_COST,\n NodeProp.PLAN_ROWS,\n NodeProp.ACTUAL_ROWS,\n NodeProp.ACTUAL_LOOPS,\n NodeProp.OUTPUT,\n NodeProp.WORKERS,\n NodeProp.WORKERS_PLANNED,\n NodeProp.WORKERS_LAUNCHED,\n NodeProp.EXCLUSIVE_SHARED_HIT_BLOCKS,\n NodeProp.EXCLUSIVE_SHARED_READ_BLOCKS,\n NodeProp.EXCLUSIVE_SHARED_DIRTIED_BLOCKS,\n NodeProp.EXCLUSIVE_SHARED_WRITTEN_BLOCKS,\n NodeProp.EXCLUSIVE_TEMP_READ_BLOCKS,\n NodeProp.EXCLUSIVE_TEMP_WRITTEN_BLOCKS,\n NodeProp.EXCLUSIVE_LOCAL_HIT_BLOCKS,\n NodeProp.EXCLUSIVE_LOCAL_READ_BLOCKS,\n NodeProp.EXCLUSIVE_LOCAL_DIRTIED_BLOCKS,\n NodeProp.EXCLUSIVE_LOCAL_WRITTEN_BLOCKS,\n NodeProp.SHARED_HIT_BLOCKS,\n NodeProp.SHARED_READ_BLOCKS,\n NodeProp.SHARED_DIRTIED_BLOCKS,\n NodeProp.SHARED_WRITTEN_BLOCKS,\n NodeProp.TEMP_READ_BLOCKS,\n NodeProp.TEMP_WRITTEN_BLOCKS,\n NodeProp.LOCAL_HIT_BLOCKS,\n NodeProp.LOCAL_READ_BLOCKS,\n NodeProp.LOCAL_DIRTIED_BLOCKS,\n NodeProp.LOCAL_WRITTEN_BLOCKS,\n NodeProp.PLANNER_ESTIMATE_FACTOR,\n NodeProp.PLANNER_ESTIMATE_DIRECTION,\n NodeProp.SUBPLAN_NAME,\n NodeProp.GROUP_KEY,\n NodeProp.HASH_CONDITION,\n NodeProp.JOIN_TYPE,\n NodeProp.INDEX_NAME,\n NodeProp.HASH_CONDITION,\n NodeProp.EXCLUSIVE_IO_READ_TIME,\n NodeProp.EXCLUSIVE_IO_WRITE_TIME,\n NodeProp.AVERAGE_IO_READ_TIME,\n NodeProp.AVERAGE_IO_WRITE_TIME,\n NodeProp.IO_READ_TIME,\n NodeProp.IO_WRITE_TIME,\n NodeProp.HEAP_FETCHES,\n NodeProp.WAL_RECORDS,\n NodeProp.WAL_BYTES,\n NodeProp.WAL_FPI,\n NodeProp.NODE_ID,\n NodeProp.ROWS_REMOVED_BY_FILTER,\n NodeProp.ROWS_REMOVED_BY_JOIN_FILTER,\n NodeProp.ACTUAL_ROWS_REVISED,\n NodeProp.PLAN_ROWS_REVISED,\n NodeProp.ROWS_REMOVED_BY_FILTER_REVISED,\n NodeProp.ROWS_REMOVED_BY_JOIN_FILTER_REVISED,\n \"size\",\n NodeProp.RELATION_NAME,\n NodeProp.ALIAS,\n ];\n\n useEffect(() => {\n calculateProps();\n }, []);\n\n const shouldShowPlannerEstimate = useMemo(() => {\n return estimationClass && plannerRowEstimateDirection !== EstimateDirection.none && plannerRowEstimateValue;\n }, [estimationClass, plannerRowEstimateDirection, plannerRowEstimateValue]);\n\n // create an array of node propeties so that they can be displayed in the view\n function calculateProps() {\n setNodeProps(\n _.chain(node)\n .omit(NodeProp.PLANS)\n .omit(NodeProp.WORKERS)\n .map((value, key) => {\n return { key: key as keyof typeof NodeProp, value };\n })\n .value()\n );\n }\n\n function shouldShowProp(key: string, value: unknown): boolean {\n return (\n (!!value || nodePropTypes[key] === PropType.increment || key === NodeProp.ACTUAL_ROWS) &&\n notMiscProperties.indexOf(key) === -1\n );\n }\n\n const shouldShowIoBuffers = useMemo((): boolean => {\n const properties: Array = [\n \"EXCLUSIVE_SHARED_HIT_BLOCKS\",\n \"EXCLUSIVE_SHARED_READ_BLOCKS\",\n \"EXCLUSIVE_SHARED_DIRTIED_BLOCKS\",\n \"EXCLUSIVE_SHARED_WRITTEN_BLOCKS\",\n \"EXCLUSIVE_TEMP_READ_BLOCKS\",\n \"EXCLUSIVE_TEMP_WRITTEN_BLOCKS\",\n \"EXCLUSIVE_LOCAL_HIT_BLOCKS\",\n \"EXCLUSIVE_LOCAL_READ_BLOCKS\",\n \"EXCLUSIVE_LOCAL_DIRTIED_BLOCKS\",\n \"EXCLUSIVE_LOCAL_WRITTEN_BLOCKS\",\n \"EXCLUSIVE_IO_READ_TIME\",\n \"EXCLUSIVE_IO_WRITE_TIME\",\n ];\n const values = _.map(properties, (property) => {\n const value = node[NodeProp[property]];\n return _.isNaN(value) ? 0 : value;\n });\n const sum = _.sum(values);\n return sum > 0;\n }, [node]);\n\n const hasSeveralLoops = useMemo((): boolean => {\n return (node[NodeProp.ACTUAL_LOOPS] as number) > 1;\n }, [node]);\n\n const tilde = useMemo((): string => {\n return hasSeveralLoops ? \"~\" : \"\";\n }, [hasSeveralLoops]);\n\n // returns the formatted prop\n function formattedProp(propName: keyof typeof NodeProp) {\n const property = NodeProp[propName];\n const value = node[property];\n return formatNodeProp(property, value);\n }\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n updateSize(node, setNode);\n init && toggleRender();\n }, 0);\n return () => clearTimeout(timeout);\n }, [activeTab]);\n\n return (\n <>\n
    \n {node[NodeProp.NODE_TYPE] && getNodeTypeDescription(node[NodeProp.NODE_TYPE]!, locale) && (\n
    \n \n {String(node[NodeProp.NODE_TYPE])}\n {formatMessage({ id: \"pev2.plan.details.node\" })}\n \n \n
    \n )}\n
      \n
    • \n {\n event.preventDefault();\n setActiveTab(\"general\");\n }}\n href=\"\"\n >\n {formatMessage({ id: \"pev2.plan.details.node.general\" })}\n \n
    • \n {plan && plan.content.databaseType === \"postgres\" && (\n
    • \n {\n event.preventDefault();\n setActiveTab(\"iobuffer\");\n }}\n href=\"\"\n >\n {formatMessage({ id: \"pev2.plan.details.node.ioAndBuffer\" })}\n \n
    • \n )}\n
    • \n {\n event.preventDefault();\n setActiveTab(\"output\");\n }}\n href=\"\"\n >\n {formatMessage({ id: \"pev2.plan.details.node.output\" })}\n \n
    • \n {plan && plan.content.databaseType === \"postgres\" && (\n
    • \n {\n event.preventDefault();\n setActiveTab(\"workers\");\n }}\n href=\"\"\n >\n {formatMessage({ id: \"pev2.plan.details.node.workers\" })}\n \n
    • \n )}\n
    • \n {\n event.preventDefault();\n setActiveTab(\"misc\");\n }}\n href=\"\"\n >\n {formatMessage({ id: \"pev2.plan.details.node.misc\" })}\n \n
    • \n
    \n
    \n
    \n
    \n
    \n {plan && plan.isAnalyze && (\n <>\n \n {formatMessage({ id: \"pev2.plan.details.node.timing\" })}\n \n {executionTimePercent !== Infinity && (\n <>\n {` | `}\n {String(executionTimePercent)}\n %\n \n )}\n \n )}\n
    \n
    \n \n {formatMessage({ id: \"pev2.plan.details.node.rows\" })}\n {tilde + formattedProp(\"ACTUAL_ROWS_REVISED\")}\n {!!node[NodeProp.PLAN_ROWS] && (\n \n ({formatMessage({ id: \"pev2.plan.details.node.planned\" })}\n {tilde + formattedProp(\"PLAN_ROWS_REVISED\")})\n \n )}\n {plannerRowEstimateDirection !== EstimateDirection.none && shouldShowPlannerEstimate && (\n <>\n {` | `}\n {plannerRowEstimateDirection === EstimateDirection.over && (\n \n \n {formatMessage({ id: \"pev2.plan.details.node.over.estimated\" })}\n \n )}\n {plannerRowEstimateDirection === EstimateDirection.under && (\n \n \n {formatMessage({ id: \"pev2.plan.details.node.under.estimated\" })}\n \n )}\n {plannerRowEstimateValue !== Infinity && (\n \n {formatMessage({ id: \"pev2.plan.details.node.estimated.by\" })}\n \n \n )}\n \n )}\n
    \n {!isNaN(rowsRemoved) && rowsRemoved && (\n
    \n \n {NodeProp[rowsRemovedProp]}: \n \n {tilde + formattedProp(rowsRemovedProp)}|\n {rowsRemovedPercentString}%\n \n
    \n )}\n {!!node[NodeProp.HEAP_FETCHES] && (\n
    \n \n {formatMessage({ id: \"pev2.plan.details.node.heap.fetches\" })}\n \n {heapFetchesClass && (\n \n \n \n )}\n
    \n )}\n {!!node[NodeProp.EXCLUSIVE_COST] && !Number.isNaN(node[NodeProp.EXCLUSIVE_COST]) && (\n
    \n \n {formatMessage({ id: \"pev2.plan.details.node.cost\" })}\n {formattedProp(\"EXCLUSIVE_COST\")}\n \n ({formatMessage({ id: \"pev2.plan.details.node.total\" })}\n {formattedProp(\"TOTAL_COST\")})\n \n
    \n )}\n {node[NodeProp.ACTUAL_LOOPS]! > 1 && (\n
    \n \n {formatMessage({ id: \"pev2.plan.details.node.loops\" })}\n {formattedProp(\"ACTUAL_LOOPS\")} \n
    \n )}\n
    \n
    \n {/* iobuffer tab */}\n {(!!node[NodeProp.EXCLUSIVE_IO_READ_TIME] || !!node[NodeProp.EXCLUSIVE_IO_WRITE_TIME]) && (\n
    \n
    \n {formatMessage({ id: \"pev2.plan.details.node.ioTimings\" })}\n
    \n
    \n {!!node[NodeProp.EXCLUSIVE_IO_READ_TIME] && (\n \n {formatMessage({ id: \"pev2.plan.details.node.read\" })}\n {formattedProp(\"EXCLUSIVE_IO_READ_TIME\")}\n ~{formattedProp(\"AVERAGE_IO_READ_TIME\")}\n \n )}\n
    \n {!!node[NodeProp.EXCLUSIVE_IO_WRITE_TIME] && (\n \n {formatMessage({ id: \"pev2.plan.details.node.write\" })}\n {formattedProp(\"EXCLUSIVE_IO_WRITE_TIME\")}\n ~{formattedProp(\"AVERAGE_IO_WRITE_TIME\")}\n \n )}\n
    \n
    \n )}\n {formatMessage({ id: \"pev2.plan.details.node.blocks\" })}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n {formatMessage({ id: \"pev2.plan.details.node.blocks.hit\" })}\n \n {formatMessage({ id: \"pev2.plan.details.node.blocks.read\" })}\n \n {formatMessage({ id: \"pev2.plan.details.node.blocks.dirtied\" })}\n
    {formatMessage({ id: \"pev2.plan.details.node.shared\" })}
    {formatMessage({ id: \"pev2.plan.details.node.temp\" })}
    {formatMessage({ id: \"pev2.plan.details.node.local\" })}
    \n {node[NodeProp.WAL_RECORDS] || node[NodeProp.WAL_BYTES] ? (\n
    \n \n \n \n {formatMessage({ id: \"pev2.plan.details.node.wal\" })}\n \n \n \n {formattedProp(\"WAL_RECORDS\")}\n {formatMessage({ id: \"pev2.plan.details.node.records\" })}\n ({formattedProp(\"WAL_BYTES\")})\n {node[NodeProp.WAL_FPI] && (\n <>\n {\" - \"}\n \n \n {formatMessage({ id: \"pev2.plan.details.node.fpi\" })}\n \n \n :{formattedProp(\"WAL_FPI\")}\n \n )}\n
    \n ) : null}\n {/* iobuffer tab */}\n
    \n e.stopPropagation()}\n >
    \n {(node[NodeProp.WORKERS_PLANNED] || node[NodeProp.WORKERS_PLANNED_BY_GATHER]) && (\n
    \n {/* workers tab */}\n
    \n {formatMessage({ id: \"pev2.plan.details.node.workers.planned\" })}\n \n {String(node[NodeProp.WORKERS_PLANNED] || node[NodeProp.WORKERS_PLANNED_BY_GATHER])}\n \n {!node[NodeProp.WORKERS_PLANNED] &&\n !node[NodeProp.WORKERS] &&\n plan &&\n (!plan.isVerbose || !plan.isAnalyze) && (\n \n \n \n \n \n )}\n
    \n
    \n {formatMessage({ id: \"pev2.plan.details.node.workers.planned\" })}\n {workersLaunchedCount}\n
    \n {!workersLaunchedCount && node[NodeProp.WORKERS_PLANNED_BY_GATHER] && (\n
    \n \n {formatMessage({ id: \"pev2.plan.details.node.workers.not.available.message\" })}\n \n \n \n \n
    \n )}\n {Array.isArray(node[NodeProp.WORKERS]) && (\n e.stopPropagation()}\n >\n {node[NodeProp.WORKERS]!.map((worker, index) => (\n
    \n
    \n \n {`${formatMessage({ id: \"pev2.plan.details.node.workers.worker\" })} ${\n worker[WorkerProp.WORKER_NUMBER]\n }`}\n \n
    \n
      \n
    • \n \n {Object.entries(worker).map(\n ([key, value]) =>\n shouldShowProp(key, value) && (\n \n \n \n \n )\n )}\n
      {key}
      \n
    • \n
    \n
    \n ))}\n
    \n )}\n {/* workers tab */}\n \n )}\n
    \n {/* misc tab */}\n \n {Object.entries(nodeProps).map(([key, prop]) => {\n return (\n shouldShowProp(prop.key, prop.value) && (\n \n \n \n \n )\n );\n })}\n
    \n {locale === \"en\"\n ? prop.key\n : NodePropChinese[prop.key as keyof typeof NodePropChinese] ?? prop.key}\n
    \n
    \n {formatMessage({ id: \"pev2.plan.details.node.workers.calculated.value\" })}\n
    \n {/* misc tab */}\n
    \n \n \n );\n};\n\nexport default PlanNodeDetail;\n","import type { Node } from \"../interfaces\";\n\nimport { faClose, faDatabase } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React, { useState, useEffect, useRef } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { Tooltip } from \"react-tippy\";\n// import styled from \"styled-components\";\n\nimport Modal from \"components/Modal\";\n\nimport { HighlightType, NodeProp } from \"../enums\";\nimport { keysToString, sortKeys } from \"../filters\";\nimport useNode from \"../node\";\nimport { findNodeBySubplanName } from \"../services/help-service\";\nimport { SyntaxHighlightService } from \"../services/syntax-highlight-service\";\nimport { usePlanState } from \"./PlanContext\";\nimport { PlanNodeProvider } from \"./PlanNodeContext\";\nimport PlanNodeDetail from \"./PlanNodeDetail\";\nimport \"./PlanNode.scss\";\n\n// const Content = styled.div`\n// max-height: 585px;\n// padding: 25px;\n// `;\n\ninterface Props {\n node: Node;\n className?: string;\n}\n\nconst PlanNode: React.FC = (props) => {\n const { formatMessage } = useIntl();\n const outerEl = useRef(null); // The outer Element, useful for CTE and subplans\n const syntaxHighlightService = new SyntaxHighlightService();\n\n const { selectedNodeId } = usePlanState();\n\n if (!Number.isNaN(selectedNodeId) && !selectedNodeId) {\n throw new Error(`Could not resolve selectedNodeId`);\n }\n const { selectNode } = usePlanState();\n\n if (!selectNode) {\n throw new Error(`Could not resolve selectNode`);\n }\n const { plan, init, toggleRender, updateNodeSize, highlightedNodeId, setHighlightedNodeId, viewOptions } =\n usePlanState();\n\n const [showDetails, setShowDetails] = useState(false);\n\n const [showQuery, setShowQuery] = useState(false);\n\n const [node, setNode] = useState(props.node);\n\n const [size, setSize] = useState<[number, number]>([0, 0]);\n\n const {\n nodeName,\n barWidth,\n barColor,\n highlightValue,\n rowsRemoved,\n costClass,\n durationClass,\n estimationClass,\n rowsRemovedClass,\n heapFetchesClass,\n filterTooltip,\n isNeverExecuted,\n workersLaunchedCount,\n workersPlannedCount,\n workersPlannedCountReversed,\n } = useNode(plan!, node, viewOptions!);\n\n useEffect(() => {\n updateSize(node, setNode);\n }, []);\n\n const updateSize = (_node: Node, _setNode: React.Dispatch>) => {\n const rect = outerEl.current?.getBoundingClientRect();\n if (rect && (size[0] !== rect.width || size[1] !== rect.height)) {\n setSize([rect.width, rect.height]);\n // props.node.size = [rect.width, rect.height];\n updateNodeSize?.(props.node, [rect.width, rect.height]);\n // props.updateRootNodeByChild(newNode!);\n }\n };\n useEffect(() => {\n const timeout = setTimeout(() => {\n updateSize(node, setNode);\n init && toggleRender();\n }, 0);\n return () => clearTimeout(timeout);\n }, [showDetails]);\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n updateSize(node, setNode);\n init && toggleRender();\n }, 0);\n return () => clearTimeout(timeout);\n }, [viewOptions]);\n\n useEffect(() => {\n if (selectedNodeId == node.nodeId) {\n setShowDetails(true);\n }\n }, [selectedNodeId]);\n\n function centerCte() {\n const cteNode = findNodeBySubplanName(plan!, node[NodeProp.CTE_NAME] as string);\n cteNode && selectNode?.(cteNode.nodeId, true);\n }\n\n const getFormattedQuery = () => {\n const keyItems: string[] = [];\n\n // relation name will be highlighted for SCAN nodes\n const relationName = node[NodeProp.RELATION_NAME] as string;\n\n if (relationName) {\n keyItems.push(relationName);\n if ((relationName as string).split(\".\").length > 1) {\n const tableName = \" \" + (relationName as string).split(\".\")[1] + \" \";\n keyItems.push(tableName);\n } else {\n const tableName = \" \" + (relationName as string).split(\".\")[0] + \" \";\n keyItems.push(tableName);\n }\n keyItems.push(\" \" + node[NodeProp.ALIAS] + \" \");\n }\n\n // group key will be highlighted for AGGREGATE nodes\n const groupKey: string[] = node[NodeProp.GROUP_KEY] as string[];\n if (Array.isArray(groupKey) && groupKey) {\n keyItems.push(`GROUP BY ${groupKey.join(\",\")}`);\n }\n\n // hash condition will be highlighted for HASH JOIN nodes\n const hashCondition = node[NodeProp.HASH_CONDITION] as string;\n if (hashCondition) {\n keyItems.push(hashCondition.replace(\"(\", \"\").replace(\")\", \"\"));\n }\n\n if (node[NodeProp.NODE_TYPE]?.toUpperCase() === \"LIMIT\") {\n keyItems.push(\"LIMIT\");\n }\n return syntaxHighlightService.highlight(plan?.query ? plan.query : \"\", keyItems);\n };\n\n return (\n \n
    e.stopPropagation()}>\n \n {node[NodeProp.SUBPLAN_NAME] && (\n
    \n {node[NodeProp.SUBPLAN_NAME]}\n
    \n )}\n {workersPlannedCount && (\n
    \n {workersPlannedCountReversed.map((index) => (\n = workersLaunchedCount ? \"border-dashed\" : \"\"}`}\n >\n {index}\n
    \n ))}\n
    \n )}\n setHighlightedNodeId(node.nodeId)}\n onMouseLeave={() => setHighlightedNodeId(undefined)}\n >\n
    \n
    \n setShowDetails(!showDetails)}\n >\n \n \n \n {nodeName}\n \n
    \n {!!durationClass && (\n \n \n \n \n \n )}\n\n {!!costClass && (\n \n \n \n \n \n )}\n\n {!!estimationClass && (\n \n \n \n \n \n )}\n {!!rowsRemovedClass && (\n \n \n \n \n \n )}\n {!!heapFetchesClass && (\n \n \n \n \n \n )}\n {!!rowsRemoved && !rowsRemovedClass && (\n \n \n \n \n \n )}\n {\n event.preventDefault();\n event.stopPropagation();\n selectNode!(node.nodeId, true);\n }}\n >\n #{node.nodeId}\n \n
    \n
    \n {/*
    */}\n
    \n {node[NodeProp.RELATION_NAME] && (\n
    \n on \n {node[NodeProp.SCHEMA] && {node[NodeProp.SCHEMA]}.}\n {node[NodeProp.RELATION_NAME]}\n {node[NodeProp.ALIAS] && (\n \n as \n {node[NodeProp.ALIAS]}\n \n )}\n
    \n )}\n {!node[NodeProp.RELATION_NAME] && node[NodeProp.ALIAS] && (\n
    \n on \n \n
    \n )}\n {node[NodeProp.GROUP_KEY] && (\n
    \n by \n \n
    \n )}\n {node[NodeProp.SORT_KEY] && (\n
    \n by \n \n
    \n )}\n {node[NodeProp.JOIN_TYPE] && (\n
    \n {node[NodeProp.JOIN_TYPE]}\n join\n
    \n )}\n {node[NodeProp.Join_Condition] && (\n
    \n on \n {node[NodeProp.Join_Condition]}\n
    \n )}\n {node[NodeProp.ACCESS] && (\n
    \n on \n \n
    \n )}\n {node[NodeProp.Filter] && (\n
    \n where \n \n
    \n )}\n {node[NodeProp.INDEX_NAME] && (\n
    \n using \n \n
    \n )}\n {node[NodeProp.Index_Over] && (\n
    \n over \n {node[NodeProp.Index_Over]}\n
    \n )}\n {node[NodeProp.With_Index_Cond] && (\n
    \n with index cond: \n {node[NodeProp.With_Index_Cond]}\n
    \n )}\n {node[NodeProp.Aggregate_Table] && (\n
    \n using \n \n
    \n )}\n {node[NodeProp.Group_Aggregate] && (\n
    \n {node[NodeProp.Group_Aggregate]}\n
    \n )}\n {!!node[NodeProp.Limit] && (\n
    \n {node[NodeProp.Limit]}\n
    \n )}\n {node[NodeProp.Zero_Rows] && (\n
    \n {node[NodeProp.Zero_Rows]}\n
    \n )}\n {node[NodeProp.Streaming_Type] && (\n
    \n type \n {node[NodeProp.Streaming_Type]}\n
    \n )}\n {node[NodeProp.ROW_NUM] && (\n
    \n row number \n {node[NodeProp.ROW_NUM]}\n
    \n )}\n {node[NodeProp.COL_NUM] && (\n
    \n column number \n {node[NodeProp.COL_NUM]}\n
    \n )}\n {node[NodeProp.Sort] && (\n
    \n {node[NodeProp.Sort]}\n
    \n )}\n {node[NodeProp.Select] && (\n
    \n {node[NodeProp.Select]}\n
    \n )}\n {node[NodeProp.HASH_CONDITION] && (\n
    \n on \n \n
    \n )}\n {node[NodeProp.CTE_NAME] && (\n
    \n {\n event.preventDefault();\n event.stopPropagation();\n centerCte();\n }}\n >\n \n CTE\n {node[NodeProp.CTE_NAME]}\n \n
    \n )}\n
    \n
    \n {plan?.query && (\n \n setShowQuery(!showQuery)}\n >\n \n \n \n )}\n {/*
    */}\n {viewOptions && viewOptions.highlightType !== HighlightType.NONE && highlightValue !== null && (\n
    \n
    \n
    \n
    \n \n \n {formatMessage({ id: `pev2.plan.viewoption.${viewOptions.highlightType}` })}:\n \n \n \n
    \n )}\n \n {showDetails && }\n
    \n {showQuery && (\n {\n setShowQuery(false);\n }}\n >\n
    \n \n

    {formatMessage({ id: \"pev2.plan.query\" })}

    \n \n \n
    \n \n \n )}\n \n \n \n \n \n );\n};\n\nexport default PlanNode;\n","import React, { useContext, useMemo } from \"react\";\n\nimport { SortDirection } from \"../enums\";\n\ninterface Context {\n sort: string;\n dir: SortDirection;\n sortBy: (s: string) => void;\n}\n\nconst SortedTableContext = React.createContext(null);\n\nconst useSortedTableState = (): Context => {\n const SortedTableState = useContext(SortedTableContext);\n if (!SortedTableState) {\n throw new Error(\"useSortedTableState should be used within SortedTableProvider\");\n }\n return SortedTableState;\n};\n\nconst SortedTableProvider: React.FC<{\n sort: string;\n dir: SortDirection;\n sortBy: (s: string) => void;\n}> = ({ sort, dir, sortBy, children }) => {\n const ctx = useMemo(() => {\n return {\n sort,\n dir,\n sortBy,\n };\n }, [sort, dir, sortBy]);\n\n return {children};\n};\n\nexport { useSortedTableState, SortedTableProvider };\n","import { faArrowDownShortWide, faArrowDownWideShort } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React, { FC } from \"react\";\n\nimport { SortDirection } from \"../enums\";\nimport { useSortedTableState } from \"./SortedTableContext\";\n\ninterface Props {\n className?: string;\n name: string;\n title?: string;\n}\n\nexport const SortLink: FC = ({ className, name, children }) => {\n const { sort, dir, sortBy } = useSortedTableState();\n\n const handleClick = (event: React.MouseEvent) => {\n event.preventDefault();\n if (sortBy) {\n sortBy(name);\n }\n };\n\n return (\n \n {children}\n {sort === name && dir === SortDirection.asc && }\n {sort === name && dir === SortDirection.desc && }\n \n );\n};\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport _ from \"lodash\";\nimport { FC, useState } from \"react\";\n\nimport { NodeProp } from \"../enums\";\nimport { duration, durationClass, percent } from \"../filters\";\nimport { StatsTableItemType, Node } from \"../interfaces\";\nimport { usePlanState } from \"./PlanContext\";\n\ninterface Props {\n value: StatsTableItemType;\n executionTime?: number;\n}\n\nconst StatsTableItem: FC = ({ value, executionTime }) => {\n const [expanded, setExpanded] = useState(false);\n const { selectNode } = usePlanState();\n\n const durationPercent = (node: Node) => (node[NodeProp.EXCLUSIVE_DURATION] as number) / (executionTime as number);\n\n return (\n <>\n \n setExpanded(!expanded)} role=\"button\" className=\"pev2css user-select-none\">\n \n \n {value.name}\n \n {value.count}\n \n \n {duration(value.time)}\n \n \n {percent(value.timePercent)}\n \n \n \n {_.reverse(_.sortBy(value.nodes, NodeProp.EXCLUSIVE_DURATION)).map((node, index) => (\n \n \n {\n selectNode && selectNode(node.nodeId, true);\n }}\n className=\"pev2css mr-1\"\n >\n #{node.nodeId}\n \n {node[NodeProp.NODE_TYPE]}\n \n \n \n {duration(node[NodeProp.EXCLUSIVE_DURATION])}\n \n {percent(durationPercent(node))}\n \n ))}\n \n \n );\n};\n\nexport default StatsTableItem;\n","import _ from \"lodash\";\nimport { FC, useMemo, useState } from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { SortDirection } from \"../enums\";\nimport { StatsTableItemType } from \"../interfaces\";\nimport { SortedTableProvider } from \"./SortedTableContext\";\nimport { SortLink } from \"./SortLink\";\nimport StatsTableItem from \"./StatsTableItem\";\n\ninterface Props {\n className?: string;\n values: StatsTableItemType[];\n sort: string;\n dir: SortDirection;\n executionTime: number;\n}\n\nexport const SortedTableIndexStats: FC = ({ values, sort, dir, className, executionTime }) => {\n const { formatMessage } = useIntl();\n const [currentDir, setCurrentDir] = useState(dir);\n const [currentSort, setCurrentSort] = useState(sort);\n\n const sortedValues = useMemo(() => {\n return _.orderBy(values, currentSort, currentDir);\n }, [values, currentSort, currentDir]);\n\n function sortBy(s: string) {\n if (s === sort) {\n setCurrentDir(dir === SortDirection.asc ? SortDirection.desc : SortDirection.asc);\n }\n setCurrentSort(s);\n }\n return (\n \n \n \n \n \n \n \n \n \n {sortedValues.length > 0 ? (\n sortedValues.map((value, index) => )\n ) : (\n \n \n \n \n \n )}\n
    \n \n {formatMessage({ id: \"pev2.plan.stats.table.column.index\" })}\n \n \n \n {formatMessage({ id: \"pev2.plan.stats.table.column.count\" })}\n \n \n \n {formatMessage({ id: \"pev2.plan.stats.table.column.time\" })}\n \n
    \n {formatMessage({ id: \"pev2.plan.stats.table.no.indexes.used\" })}\n
    \n
    \n );\n};\n","import _ from \"lodash\";\nimport { FC, useMemo, useState } from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { SortDirection } from \"../enums\";\nimport { StatsTableItemType } from \"../interfaces\";\nimport { SortedTableProvider } from \"./SortedTableContext\";\nimport { SortLink } from \"./SortLink\";\nimport StatsTableItem from \"./StatsTableItem\";\n\ninterface Props {\n className?: string;\n values: StatsTableItemType[];\n sort: string;\n dir: SortDirection;\n executionTime: number;\n}\n\nexport const SortedTableNodeStats: FC = ({ values, sort, dir, className, executionTime }) => {\n const { formatMessage } = useIntl();\n\n const [currentDir, setCurrentDir] = useState(dir);\n const [currentSort, setCurrentSort] = useState(sort);\n\n const sortedValues = useMemo(() => {\n return _.orderBy(values, currentSort, currentDir);\n }, [values, currentSort, currentDir]);\n\n function sortBy(s: string) {\n if (s === sort) {\n setCurrentDir(dir === SortDirection.asc ? SortDirection.desc : SortDirection.asc);\n }\n setCurrentSort(s);\n }\n return (\n \n \n \n \n \n \n \n \n \n {sortedValues.length > 0 ? (\n sortedValues.map((value, index) => )\n ) : (\n \n \n \n )}\n
    \n \n {formatMessage({ id: \"pev2.plan.stats.table.column.node.type\" })}\n \n \n \n {formatMessage({ id: \"pev2.plan.stats.table.column.count\" })}\n \n \n \n {formatMessage({ id: \"pev2.plan.stats.table.column.time\" })}\n \n
    \n {formatMessage({ id: \"pev2.plan.stats.table.no.nodes.used\" })}\n
    \n
    \n );\n};\n","import _ from \"lodash\";\nimport { FC, useMemo, useState } from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { SortDirection } from \"../enums\";\nimport { StatsTableItemType } from \"../interfaces\";\nimport { SortedTableProvider } from \"./SortedTableContext\";\nimport { SortLink } from \"./SortLink\";\nimport StatsTableItem from \"./StatsTableItem\";\n\ninterface Props {\n className: string;\n values: StatsTableItemType[];\n sort: string;\n dir: SortDirection;\n executionTime: number;\n}\n\nexport const SortedTableTableStats: FC = ({ sort, dir, className, values, executionTime }) => {\n const { formatMessage } = useIntl();\n\n const [currentDir, setCurrentDir] = useState(dir);\n const [currentSort, setCurrentSort] = useState(sort);\n\n const sortedValues = useMemo(() => {\n return _.orderBy(values, currentSort, currentDir);\n }, [values, currentSort, currentDir]);\n\n function sortBy(s: string) {\n if (s === sort) {\n setCurrentDir(dir === SortDirection.asc ? SortDirection.desc : SortDirection.asc);\n }\n setCurrentSort(s);\n }\n return (\n \n \n \n \n \n \n \n \n \n {sortedValues.map((value, index) => (\n \n ))}\n {!sortedValues.length && (\n \n \n \n )}\n
    \n \n {formatMessage({ id: \"pev2.plan.stats.table.column.table\" })}\n \n \n \n {formatMessage({ id: \"pev2.plan.stats.table.column.count\" })}\n \n \n \n {formatMessage({ id: \"pev2.plan.stats.table.column.time\" })}\n \n
    \n {formatMessage({ id: \"pev2.plan.stats.table.no.tables.used\" })}\n
    \n
    \n );\n};\n","import _ from \"lodash\";\nimport { FC, useEffect, useMemo, useState } from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { SortDirection, NodeProp } from \"../enums\";\nimport { Node, StatsTableItemType } from \"../interfaces\";\nimport { usePlanState } from \"./PlanContext\";\nimport { SortedTableIndexStats } from \"./SortedTableIndexStats\";\nimport { SortedTableNodeStats } from \"./SortedTableNodeStats\";\nimport { SortedTableTableStats } from \"./SortedTableTableStats\";\n\nexport const Stats: FC = () => {\n const { formatMessage } = useIntl();\n const { plan } = usePlanState();\n const [nodes, setNodes] = useState([]);\n const [executionTime, setExecutionTime] = useState(0);\n\n const flatten = (output: Node[], setNodes: React.Dispatch>, node: Node) => {\n output.push(node);\n setNodes([...output, node]);\n\n _.each(node.Plans, (subnode) => {\n flatten(output, setNodes, subnode);\n });\n };\n\n const durationPercent = (nodes: Node[], executionTime: number) => {\n return _.sumBy(nodes, NodeProp.EXCLUSIVE_DURATION) / executionTime;\n };\n\n useEffect(() => {\n if (plan) {\n setExecutionTime(plan.planStats.executionTime || (plan.content.Plan?.[NodeProp.ACTUAL_TOTAL_TIME] as number));\n if (plan.content.Plan) {\n if (!(plan.content.databaseType === \"hive\")) {\n flatten(nodes, setNodes, plan.content.Plan);\n }\n _.each(plan.ctes, (cte) => {\n flatten(nodes, setNodes, cte);\n });\n _.each(plan.stages, (stage) => {\n flatten(nodes, setNodes, stage);\n });\n setNodes((pre) => {\n if (pre.length > 1) {\n return pre.slice(0, pre.length - 1);\n }\n return pre;\n });\n }\n }\n }, []);\n\n const perTable = useMemo(() => {\n const tables: { [key: string]: Node[] } = _.groupBy(\n _.filter(nodes, (n) => n[NodeProp.RELATION_NAME] !== undefined),\n NodeProp.RELATION_NAME\n );\n const values: StatsTableItemType[] = [];\n _.each(tables, (nodes, tableName) => {\n values.push({\n name: tableName,\n count: nodes.length,\n time: _.sumBy(nodes, NodeProp.EXCLUSIVE_DURATION),\n timePercent: durationPercent(nodes, executionTime),\n nodes,\n });\n });\n return values;\n }, [nodes, executionTime]);\n\n const perNodeType = useMemo(() => {\n const nodeTypes: { [key: string]: Node[] } = _.groupBy(nodes, NodeProp.NODE_TYPE);\n const values: StatsTableItemType[] = [];\n _.each(nodeTypes, (nodes, nodeType) => {\n values.push({\n name: nodeType,\n count: nodes.length,\n time: _.sumBy(nodes, NodeProp.EXCLUSIVE_DURATION),\n timePercent: durationPercent(nodes, executionTime),\n nodes,\n });\n });\n return values;\n }, [nodes, executionTime]);\n\n const perIndex = useMemo(() => {\n const indexes: { [key: string]: Node[] } = _.groupBy(\n _.filter(nodes, (n) => n[NodeProp.INDEX_NAME] !== undefined),\n NodeProp.INDEX_NAME\n );\n\n const values: StatsTableItemType[] = [];\n _.each(indexes, (nodes, indexName) => {\n values.push({\n name: indexName,\n count: nodes.length,\n time: _.sumBy(nodes, NodeProp.EXCLUSIVE_DURATION),\n timePercent: durationPercent(nodes, executionTime),\n nodes,\n });\n });\n\n return values;\n }, [nodes, executionTime]);\n\n return (\n
    \n
    {formatMessage({ id: \"pev2.plan.stats.per.table.stats\" })}
    \n \n\n
    {formatMessage({ id: \"pev2.plan.stats.per.node.type.stats\" })}
    \n \n\n
    {formatMessage({ id: \"pev2.plan.stats.per.index.stats\" })}
    \n \n
    \n );\n};\n","import * as d3 from \"d3\";\nimport { flextree, type FlexHierarchyPointLink, type FlexHierarchyPointNode } from \"d3-flextree\";\nimport _, { isNaN } from \"lodash\";\nimport { SetStateAction, useCallback, useEffect, useLayoutEffect, useRef, useState } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { useToggle } from \"react-use\";\n\nimport \"tippy.js/dist/tippy.css\";\n\nimport { isNotBlank } from \"utils/common\";\n\nimport { HighlightType, NodeProp } from \"../enums\";\nimport { json_, pgsql_ } from \"../filters\";\nimport { IBlocksStats, IPlan, IPlanContent, IPlanStats, Node, Settings, ViewOptions } from \"../interfaces\";\nimport { PlanService } from \"../services/plan-service\";\nimport Copy from \"./Copy\";\nimport { Diagram } from \"./Diagram\";\nimport \"./Plan.scss\";\nimport { PlanProvider } from \"./PlanContext\";\nimport PlanNode from \"./PlanNode\";\nimport { Stats } from \"./Stats\";\n\ninterface Props {\n planSource: string;\n planQuery: string;\n svgHeight?: string;\n}\n\nconst padding = 40;\n\nexport const layout = flextree({\n nodeSize: (node: FlexHierarchyPointNode) => {\n if (node.data.size) {\n return [node.data.size[0], node.data.size[1] + padding];\n }\n return [0, 0];\n },\n spacing: (nodeA: FlexHierarchyPointNode, nodeB: FlexHierarchyPointNode) =>\n Math.pow(nodeA.path(nodeB).length, 1.5),\n});\n\nexport const getPlanState = (planJson: IPlanContent, planStats: IPlanStats, rootNode: Node, content: IPlanContent) => {\n //3d layout.hierarchy 初始化tree\n const layoutRootNode = layout(layout.hierarchy(planJson.Plan, (v: Node) => v.Plans));\n const actualTotalTimeArray = layoutRootNode.descendants().map((item) => item.data[NodeProp.ACTUAL_TOTAL_TIME]);\n const isTemporary = (actualTotalTimeArray[0] || 0) - (actualTotalTimeArray[1] || 0);\n const sum = (actualTotalTimeArray[0] || 0) + (actualTotalTimeArray[1] || 0);\n\n const currentPlanStats = {\n ...planStats,\n executionTime:\n rootNode[NodeProp.DATABASE_TYPE] === \"mysql\"\n ? isTemporary > 0\n ? rootNode[NodeProp.ACTUAL_TOTAL_TIME] || NaN\n : sum\n : (content[\"Execution Time\"] as number) || (content[\"Total Runtime\"] as number) || NaN,\n planningTime: (content[\"Planning Time\"] as number) || NaN,\n planCost:\n rootNode[NodeProp.DATABASE_TYPE] === \"mysql\"\n ? rootNode[NodeProp.TOTAL_COST] ||\n (rootNode.Plans\n ? layoutRootNode.descendants().find((item) => !!item.data[NodeProp.TOTAL_COST])?.data[NodeProp.TOTAL_COST]\n : NaN) ||\n NaN\n : NaN,\n maxRows: content.maxRows || NaN,\n maxRowsNodeId: content.maxRowsNodeId || NaN,\n maxCost: content.maxCost || NaN,\n maxCostNodeId: content.maxCostNodeId || NaN,\n maxDuration: content.maxDuration || NaN,\n maxDurationNodeId: content.maxDurationNodeId || NaN,\n maxBlocks: content.maxBlocks || ({} as IBlocksStats),\n maxIo: content.maxIo || NaN,\n triggers: content.Triggers || [],\n jitTime: (content.JIT && content.JIT.Timing && content.JIT.Timing.Total) || NaN,\n settings: content.Settings as Settings,\n };\n\n return currentPlanStats;\n};\n\nconst Plan = ({ planSource, planQuery, svgHeight }: Props) => {\n const { formatMessage } = useIntl();\n\n const [init, toggleInit] = useToggle(false);\n const [render, toggleRender] = useToggle(false);\n const root = useRef(null); // The root Element of this instance\n const diagram = useRef(null); // The root Element of this instance\n const rootEl = useRef(null); // The root Element of this instance\n\n const [activeTab, setActiveTab] = useState(\"\");\n\n const [queryText, setQueryText] = useState(\"\");\n\n const [validationMessage, setValidationMessage] = useState(\"\");\n\n const [selectedNodeId, setSelectedNodeId] = useState(NaN);\n\n const [highlightedNodeId, setHighlightedNodeId] = useState();\n\n const [viewOptions, setViewOptions] = useState({\n menuHidden: true,\n showHighlightBar: false,\n showPlanStats: true,\n highlightType: HighlightType.DURATION,\n diagramWidth: 78,\n });\n\n const plan = useRef();\n\n const planEl = useRef(null);\n\n const planStats = useRef({} as IPlanStats);\n\n const rootNode = useRef(new Node());\n\n //3d的函数flextree\n\n const tree = useRef(layout.hierarchy({}));\n\n const planService = new PlanService();\n\n // Vertical padding between 2 nodes in the tree layout\n\n const [transform, setTransform] = useState(\"\");\n const scale = useRef(1);\n\n const edgeWeight = d3\n .scaleLinear()\n .domain([0, planStats.current.maxRows])\n .range([1, padding / 1.5]);\n\n const minScale = 0.2;\n\n const zoomListener = d3\n .zoom()\n .scaleExtent([minScale, 3])\n .on(\"zoom\", (e) => {\n setTransform(e.transform);\n scale.current = e.transform.k;\n });\n\n const layoutRootNode = useRef>(layout.hierarchy({}));\n\n const ctes = useRef[]>([]);\n const stages = useRef[]>([]);\n\n const [toCteLinks, setToCteLinks] = useState[]>([]);\n const [toStageLinks, setToStageLinks] = useState[]>([]);\n\n //开始初始化操作\n useEffect(() => {\n let currentPlan: IPlan;\n\n // const savedOptions = localStorage.getItem(\"viewOptions\");\n\n // if (savedOptions !== \"undefined\" && savedOptions !== undefined && savedOptions) {\n // const options = JSON.parse(savedOptions);\n // setViewOptions({ ..._.assignIn(viewOptions, options), highlightType: HighlightType.DURATION });\n // }\n\n let planJson: IPlanContent;\n\n try {\n planJson = planService.fromSource(planSource, formatMessage({ id: \"plan.parse.error\" })) as IPlanContent;\n setValidationMessage(\"\");\n setActiveTab(\"plan\");\n } catch (e) {\n console.log(e);\n throw new Error(formatMessage({ id: \"plan.parse.error\" }));\n // setValidationMessage(formatMessage({ id: \"explain.parse.error\" }));\n // plan.current = undefined;\n // return;\n }\n //初始化rootNode为解析出来的对象中的值\n rootNode.current = planJson.Plan;\n\n const querySource = isNotBlank(planJson[\"Query Text\"]) ? planJson[\"Query Text\"] : planQuery;\n\n currentPlan = planService.createPlan(\"\", planJson, querySource, formatMessage({ id: \"plan.parse.error\" }));\n\n setQueryText(querySource);\n\n const content = currentPlan!.content;\n\n // const timeout = setTimeout(() => {\n // onHashChange();\n // }, 0);\n // window.addEventListener(\"hashchange\", onHashChange);\n\n //3d layout.hierarchy 初始化tree\n tree.current = layout.hierarchy(planJson.Plan, (v: Node) => v.Plans);\n\n layoutRootNode.current = layout(layout.hierarchy(planJson.Plan, (v: Node) => v.Plans));\n\n const currentPlanStats = getPlanState(planJson, planStats.current, rootNode.current, content);\n\n planStats.current = currentPlanStats;\n\n currentPlan = { ...currentPlan!, planStats: currentPlanStats };\n\n plan.current = currentPlan;\n\n const currentCtes: FlexHierarchyPointNode[] = [];\n const currentStages: FlexHierarchyPointNode[] = [];\n\n _.each(currentPlan!.ctes, (cte) => {\n const tree = layout.hierarchy(cte, (v: Node) => v.Plans);\n currentCtes.push(tree);\n });\n\n _.each(currentPlan!.stages, (stage) => {\n const tree = layout.hierarchy(stage, (v: Node) => v.Plans);\n currentStages.push(tree);\n });\n\n ctes.current = currentCtes;\n stages.current = currentStages;\n\n doLayout();\n\n // return () => {\n // clearTimeout(timeout);\n // window.removeEventListener(\"hashchange\", onHashChange);\n // };\n }, []);\n\n const doLayout = () => {\n layoutRootNode.current = layout(tree.current);\n const mainLayoutExtent = getLayoutExtent(layoutRootNode.current);\n const offset: [number, number] = [mainLayoutExtent[0], mainLayoutExtent[3] + padding];\n\n _.each(ctes.current, (tree) => {\n const cteRootNode = layout(tree);\n const currentCteExtent = getLayoutExtent(cteRootNode);\n const currentWidth = currentCteExtent[1] - currentCteExtent[0];\n cteRootNode.each((node) => {\n node.x += offset[0] - currentCteExtent[0];\n node.y += offset[1];\n });\n offset[0] += currentWidth + padding * 2;\n });\n\n const stageLevelOffsetMap = new Map();\n\n const stagePlans = plan.current?.content.stagePlans;\n // const stagePlansMap = new Map((stagePlans ?? []).map((stage) => [stage.stageName, stage]));\n\n _.each(stages.current, (tree) => {\n const currentStageName = tree.data[\"Subplan Name\"];\n const stagePlan = stagePlans?.find((item) => currentStageName?.endsWith(item.stageName));\n const stageRootNode = layout(tree);\n\n const currentStageExtent = getLayoutExtent(stageRootNode);\n const currentHeight = currentStageExtent[3] - currentStageExtent[2];\n const currentWidth = currentStageExtent[1] - currentStageExtent[0];\n stageRootNode.each((node) => {\n if (stagePlan?.level && stageLevelOffsetMap.has(stagePlan?.level)) {\n node.x += stageLevelOffsetMap.get(stagePlan?.level)![0] - currentStageExtent[0];\n node.y += stageLevelOffsetMap.get(stagePlan?.level)![1];\n } else {\n node.x += offset[0] - currentStageExtent[0];\n node.y += offset[1];\n }\n });\n\n if (stagePlan?.level && stageLevelOffsetMap.has(stagePlan?.level)) {\n stageLevelOffsetMap.set(stagePlan?.level, [\n stageLevelOffsetMap.get(stagePlan?.level)![0] + currentWidth + padding * 2,\n stageLevelOffsetMap.get(stagePlan?.level)![1],\n ]);\n } else {\n stageLevelOffsetMap.set(stagePlan?.level, [offset[0] + currentWidth + padding * 2, offset[1]]);\n offset[1] += currentHeight + padding * 2;\n }\n });\n\n // compute links from node to CTE\n const toCteLinksTemp: SetStateAction[]> = [];\n _.each(layoutRootNode.current?.descendants(), (source) => {\n if (_.has(source.data, NodeProp.CTE_NAME)) {\n const cte = _.find(ctes.current, (cteNode) => {\n return cteNode.data[NodeProp.SUBPLAN_NAME] === \"CTE \" + source.data[NodeProp.CTE_NAME];\n });\n if (cte) {\n toCteLinksTemp.push({\n source: source,\n target: cte,\n });\n }\n }\n });\n\n // compute links from node in CTE to other CTE\n _.each(ctes.current, (cte) => {\n _.each(cte.descendants(), (sourceCte) => {\n if (_.has(sourceCte.data, NodeProp.CTE_NAME)) {\n const targetCte = _.find(ctes.current, (cteNode) => {\n return cteNode.data[NodeProp.SUBPLAN_NAME] === \"CTE \" + sourceCte.data[NodeProp.CTE_NAME];\n });\n if (targetCte) {\n toCteLinksTemp.push({\n source: sourceCte,\n target: targetCte,\n });\n }\n }\n });\n });\n setToCteLinks(toCteLinksTemp);\n\n // compute links from node in STAGE to other STAGE\n\n const toStageLinksTemp: SetStateAction[]> = [];\n _.each(stages.current, (stage) => {\n const currentStagePlan = stagePlans?.find(\n (item) =>\n stage.data[NodeProp.SUBPLAN_NAME] &&\n item.parentStageList.length > 0 &&\n stage.data[NodeProp.SUBPLAN_NAME] === \"STAGE \" + item.stageName\n );\n\n currentStagePlan?.parentStageList.map((parentStageName) => {\n const parentStage = _.find(stages.current, (stageNode) => {\n return stageNode.data[NodeProp.SUBPLAN_NAME] === \"STAGE \" + parentStageName;\n });\n\n if (parentStage) {\n toStageLinksTemp.push({\n source: stage,\n target: parentStage,\n });\n }\n });\n });\n setToStageLinks(toStageLinksTemp);\n };\n\n useLayoutEffect(() => {\n // 在组件渲染后调用d3.select和zoomListener\n let timeout: string | number | NodeJS.Timeout | undefined;\n if (planEl.current) {\n d3.select(planEl.current as unknown as Element)?.call(zoomListener as any);\n timeout = setTimeout(() => {\n if (layoutRootNode.current) {\n const extent = getLayoutExtent(layoutRootNode.current);\n const x0 = extent[0];\n const y0 = extent[2];\n const x1 = extent[1];\n const y1 = extent[3];\n const rect = (planEl.current as unknown as HTMLDivElement)?.getBoundingClientRect();\n\n if (rect) {\n d3.select(planEl.current as unknown as Element)\n .transition()\n .call(\n zoomListener.transform,\n d3.zoomIdentity\n .translate(rect.width / 2, 10)\n .scale(\n Math.min(1, Math.max(minScale, 0.8 / Math.max((x1 - x0) / rect.width, (y1 - y0) / rect.height)))\n )\n .translate(-(x0 + x1) / 2, 10)\n );\n }\n }\n }, 0);\n }\n return () => {\n clearTimeout(timeout);\n };\n }, []);\n\n const lineGen = useCallback((link: FlexHierarchyPointLink) => {\n const source = link.source;\n const target = link.target;\n const k = Math.abs(target.y - (source.y + source.ySize) - padding);\n const path = d3.path();\n path.moveTo(source.x, source.y);\n path.lineTo(source.x, source.y + source.ySize - padding);\n path.bezierCurveTo(\n source.x,\n source.y + source.ySize - padding + k / 2,\n target.x,\n target.y - k / 2,\n target.x,\n target.y\n );\n\n return path.toString();\n }, []);\n\n const stageLineGen = useCallback((link: FlexHierarchyPointLink) => {\n const source = link.source;\n const target = link.target;\n\n // 获取目标节点所在 stage 的底部坐标\n const [, , , targetStageMaxY] = getLayoutExtent(target);\n\n // const k = Math.abs(target.x - source.x);\n const path = d3.path();\n\n path.moveTo(target.x, targetStageMaxY - padding / 2);\n path.bezierCurveTo(target.x, source.y - padding, target.x, source.y - padding, source.x, source.y - padding);\n path.lineTo(source.x, source.y);\n\n return path.toString();\n }, []);\n\n // const onHashChange = () => {\n // const reg = /#([a-zA-Z]*)(\\/node\\/([0-9]*))*/;\n // const matches = reg.exec(window.location.hash);\n // if (matches) {\n // const tab = matches[1] || \"plan\";\n // setActiveTab(tab);\n // const nodeId = parseInt(matches[3], 0);\n // if (tab == \"plan\" && nodeId !== undefined && nodeId != selectedNodeId) {\n // // Delayed to make sure the tab has changed before recentering\n // setTimeout(() => {\n // selectNode(nodeId, true);\n // }, 1);\n // }\n // }\n // };\n\n function selectNode(nodeId: number, center: boolean): void {\n center = !!center;\n setSelectedNodeId(nodeId);\n if (center) {\n centerNode(nodeId);\n }\n }\n\n function centerNode(nodeId: number): void {\n const rect = (planEl.current as unknown as HTMLDivElement)?.getBoundingClientRect();\n const treeNode = findTreeNode(nodeId);\n if (!treeNode) {\n return;\n }\n let x = -treeNode[\"x\"];\n let y = -treeNode[\"y\"];\n const k = scale.current;\n x = x * k + rect.width / 2;\n y = y * k + rect.height / 4;\n\n d3.select(planEl.current as unknown as Element)\n .transition()\n .duration(500)\n .call(zoomListener.transform, d3.zoomIdentity.translate(x, y).scale(k));\n }\n\n function findTreeNode(nodeId: number) {\n const trees = [layoutRootNode.current].concat(ctes.current).concat(stages.current);\n let found: undefined | FlexHierarchyPointNode = undefined;\n _.each(trees, (tree) => {\n found = _.find(tree?.descendants(), (o) => o.data.nodeId == nodeId);\n return !found;\n });\n\n return found;\n }\n\n function getLayoutExtent(layoutRootNode: FlexHierarchyPointNode): [number, number, number, number] {\n const minX =\n _.min(\n _.map(layoutRootNode.descendants(), (childNode) => {\n return childNode.x - childNode.xSize / 2;\n })\n ) || 0;\n\n const maxX =\n _.max(\n _.map(layoutRootNode.descendants(), (childNode) => {\n return childNode.x + childNode.xSize / 2;\n })\n ) || 0;\n\n const minY =\n _.min(\n _.map(layoutRootNode.descendants(), (childNode) => {\n return childNode.y;\n })\n ) || 0;\n\n const maxY =\n _.max(\n _.map(layoutRootNode.descendants(), (childNode) => {\n return childNode.y + childNode.ySize;\n })\n ) || 0;\n\n return [minX, maxX, minY, maxY];\n }\n\n function isNeverExecuted(node: Node): boolean {\n return planStats.current && !!planStats.current.executionTime && !node[NodeProp.ACTUAL_LOOPS];\n }\n\n const [sizeData, setSizeData] = useState<[number, number][]>([]);\n\n useEffect(() => {\n let newSizeData: [number, number][] = [];\n newSizeData = newSizeData.concat(\n tree.current.descendants().map((item: { data: { size: [number, number] } }) => item.data.size)\n );\n _.each(ctes.current, (tree) => {\n newSizeData = newSizeData.concat(tree.descendants().map((item) => item.data.size));\n });\n _.each(stages.current, (tree) => {\n newSizeData = newSizeData.concat(tree.descendants().map((item) => item.data.size));\n });\n setSizeData(sizeData && newSizeData && arraysEqual(newSizeData, sizeData) ? sizeData : newSizeData);\n }, [tree, ctes, stages]);\n\n function arraysEqual(arr1: [number, number][], arr2: [number, number][]) {\n // 如果两个数组的长度不同,直接返回false\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n // 循环比较两个数组中的每一个元素\n for (let i = 0; i < arr1.length; i++) {\n if (arr1[i] && arr2[i]) {\n const [x1, y1] = arr1[i];\n const [x2, y2] = arr2[i];\n\n // 如果两个元素中的数字不相等,返回false\n if (x1 !== x2 || y1 !== y2) {\n return false;\n }\n } else {\n return false;\n }\n }\n\n // 所有元素都相等,返回true\n return true;\n }\n\n useEffect(() => {\n setTimeout(() => {\n doLayout();\n toggleInit(true);\n }, 1);\n }, [sizeData, render]);\n\n function updateNodeSize(node: Node, size: [number, number]) {\n node.size = [size[0] / scale.current, size[1] / scale.current];\n\n return node;\n }\n\n // function averageIO(node: Node) {\n // const read = node[NodeProp.AVERAGE_IO_READ_TIME];\n // const write = node[NodeProp.AVERAGE_IO_WRITE_TIME];\n // const r = [];\n // if (read) {\n // r.push(`read=~${formatNodeProp(NodeProp.AVERAGE_IO_READ_TIME, read)}`);\n // }\n // if (write) {\n // r.push(`write=~${formatNodeProp(NodeProp.AVERAGE_IO_WRITE_TIME, write)}`);\n // }\n // return r.join(\", \");\n // }\n\n // todo\n // const handleReplaceCtesNode = (newNode: Node) => {\n //\n\n // if (rootNode) {\n //\n // const newRoot = findAndReplaceNode(rootNode, newNode);\n\n //\n // setRootNode(newRoot);\n // }\n // };\n\n const handleMouseDown = (e: React.MouseEvent) => {\n const initialPos = e.clientX;\n const target = e.target as HTMLDivElement;\n // const splitterSize = target.offsetWidth;\n const splitterRect = target.getBoundingClientRect();\n const parentRect = target.parentElement?.getBoundingClientRect();\n let splitterSize = (window.innerWidth - 80) * 0.8 + 80;\n if (parentRect?.left) {\n splitterSize = splitterRect.left - parentRect?.left;\n }\n const containerSize = target?.parentElement?.offsetWidth;\n\n const handleMouseMove = (e: MouseEvent) => {\n const currentPos = e.clientX;\n const delta = currentPos - initialPos;\n let newSize = 78;\n if (containerSize) {\n newSize = ((splitterSize + delta) / containerSize) * 100;\n }\n setViewOptions({ ...viewOptions, diagramWidth: newSize });\n };\n\n const handleMouseUp = () => {\n document.removeEventListener(\"mousemove\", handleMouseMove);\n document.removeEventListener(\"mouseup\", handleMouseUp);\n };\n\n document.addEventListener(\"mousemove\", handleMouseMove);\n document.addEventListener(\"mouseup\", handleMouseUp);\n };\n\n return (\n \n
    \n
    \n {plan.current && viewOptions.showPlanStats && (\n
    \n {!!plan.current?.planStats.executionTime && (\n
    \n {plan.current?.planStats.executionTime}\n {formatMessage({ id: \"pev2.plan.executionTime\" })}\n
    \n )}\n {!!plan.current?.planStats.planningTime && (\n
    \n {plan.current?.planStats.planningTime}\n {formatMessage({ id: \"pev2.plan.planningTime\" })}\n
    \n )}\n {!!plan.current?.planStats.planCost && (\n
    \n {plan.current?.planStats.planCost}\n {formatMessage({ id: \"pev2.plan.planCost\" })}\n
    \n )}\n {!!plan.current?.planStats.maxDuration && (\n {\n selectNode(plan.current?.planStats.maxDurationNodeId || NaN, true);\n }}\n >\n {plan.current?.planStats.maxDuration}\n {formatMessage({ id: \"pev2.plan.solwestNode\" })}\n
    \n )}\n {!!plan.current?.planStats.maxRows && (\n {\n selectNode(plan.current?.planStats.maxRowsNodeId || NaN, true);\n }}\n >\n {plan.current?.planStats.maxRows}\n {formatMessage({ id: \"pev2.plan.largestNode\" })}\n
    \n )}\n {!!plan.current?.planStats.maxCost && (\n {\n selectNode(plan.current?.planStats.maxCostNodeId || NaN, true);\n }}\n >\n {plan.current?.planStats.maxCost.toFixed(3)}\n {formatMessage({ id: \"pev2.plan.costliestNode\" })}\n
    \n )}\n \n )}\n \n\n
    \n {validationMessage && (\n
    \n
    {validationMessage}
    \n
    \n )}\n {!validationMessage && (\n
    \n {/* Plan tab */}\n
    \n
    \n
    \n {\n // setViewOptions({ ...viewOptions!, diagramWidth: size });\n // }}\n >\n \n \n \n {/* Links */}\n {toCteLinks.map((link, index) => (\n \n ))}\n {toStageLinks.map((link, index) => (\n \n ))}\n {layoutRootNode.current?.links().map((link, index) => {\n return (\n \n );\n })}\n {layoutRootNode.current\n ?.descendants()\n .filter((item) => !item.data[\"Node Type\"]?.includes(\"CUSTOMAPPEND\"))\n .map((item, index) => {\n return (\n \n
    \n \n
    \n \n );\n })}\n {ctes.current.map((cte) => {\n const layoutExtent = getLayoutExtent(cte);\n return (\n \n \n {cte.links().map((link, index) => (\n \n ))}\n {cte.descendants().map((item, index) => (\n \n
    \n \n
    \n \n ))}\n
    \n );\n })}\n {stages.current.map((stage) => {\n const layoutExtent = getLayoutExtent(stage);\n return (\n \n \n {stage.links().map((link, index) => (\n \n ))}\n {stage\n .descendants()\n .filter(\n (item) =>\n !(\n item.data[\"Node Type\"]?.includes(\"STAGE Scan\") ||\n item.data[\"Node Type\"]?.includes(\"CUSTOMAPPEND\")\n )\n )\n .map((item, index) => (\n \n
    \n \n
    \n \n ))}\n
    \n );\n })}\n \n \n
    \n
    \n \n
    \n
      \n
    • \n setActiveTab(\"plan\")}\n >\n {formatMessage({ id: \"pev2.plan.plan\" })}\n \n
    • \n
    • \n setActiveTab(\"raw\")}\n >\n {formatMessage({ id: \"pev2.plan.raw\" })}\n \n
    • \n
    • \n queryText && setActiveTab(\"query\")}\n >\n {formatMessage({ id: \"pev2.plan.query\" })}\n \n
    • \n
    • \n setActiveTab(\"stats\")}\n >\n {formatMessage({ id: \"pev2.plan.stats\" })}\n \n
    • \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n                                \n                              
    \n
    \n \n
    \n
    \n {queryText && (\n \n
    \n
    \n
    \n                                  \n                                
    \n
    \n
    \n \n
    \n )}\n \n {plan.current && }\n
    \n
    \n \n \n \n {/* end Plan tab */}\n \n \n )}\n \n \n \n );\n};\n\nexport default Plan;\n","import {\n ExplainCreate,\n ExplainRequestBody,\n ExplainUpdate,\n createExplain,\n deleteExplain,\n getExplainDetail,\n getExplainList,\n updateExplainName,\n} from \"../../request/PawsqlClient\";\nimport { PawsqlRequestService } from \"../../request/PawsqlRequestService\";\n\nexport class ExplainService extends PawsqlRequestService {\n public delete(explainId: string) {\n return deleteExplain({ id: explainId }, this.requestOptions);\n }\n\n public getDetail(explainId: string) {\n return getExplainDetail({ id: explainId }, this.requestOptions);\n }\n\n public list(analysisRequestBody: ExplainRequestBody) {\n return getExplainList(analysisRequestBody, this.requestOptions);\n }\n\n public create(payload: ExplainCreate) {\n return createExplain(payload, this.requestOptions);\n }\n public update(payload: ExplainUpdate) {\n return updateExplainName(payload, this.requestOptions);\n }\n}\n","import { useIntl } from \"react-intl\";\nimport { useMutation, useQueryClient } from \"react-query\";\nimport { format } from \"sql-formatter\";\n\nimport { getPlanState } from \"components/pev2/components/Plan\";\nimport { IPlanContent, IPlanStats } from \"components/pev2/interfaces\";\nimport { PlanService } from \"components/pev2/services/plan-service\";\n\nimport { ExplainService } from \"core/domain/explain/ExplainService\";\nimport { useInitService } from \"services/useInitService\";\n\nimport { useConfig } from \"../../config\";\nimport { ExplainCreate, ExplainRequestBody, ExplainUpdate } from \"../../core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\n\nexport const explainsKeys = {\n all: [SCOPE_USER, \"explains\"] as const,\n lists: () => [...explainsKeys.all, \"list\"] as const,\n list: (filters: string) => [...explainsKeys.lists(), { filters }] as const,\n detail: (explainId: string) => [...explainsKeys.all, \"details\", explainId] as const,\n};\n\nexport function useExplainService() {\n const config = useConfig();\n const middlewares = useDefaultRequestMiddlewares();\n return useInitService(() => new ExplainService(config.apiUrl, middlewares), [config.apiUrl, middlewares]);\n}\n\nconst useExplainList = (explainRequestBody: ExplainRequestBody) => {\n const service = useExplainService();\n return useSuspenseQuery(explainsKeys.lists(), () => service.list(explainRequestBody));\n};\n\nconst useGetExplain = (explainId: string) => {\n const service = useExplainService();\n return useSuspenseQuery(explainsKeys.detail(explainId), () => service.getDetail(explainId));\n};\n\nconst useCreateExplain = () => {\n const service = useExplainService();\n const queryClient = useQueryClient();\n const { formatMessage } = useIntl();\n\n return useMutation(\n async (explainCreate: ExplainCreate) => {\n const planService = new PlanService();\n let planJson: IPlanContent;\n\n let formatQuery = \"\";\n try {\n formatQuery = explainCreate.analysisStmtId ? format(explainCreate.querySource) : explainCreate.querySource;\n } catch (e) {\n formatQuery = explainCreate.querySource;\n }\n\n try {\n planJson = planService.fromSource(\n explainCreate.explainSource,\n formatMessage({ id: \"plan.parse.error\" })\n ) as IPlanContent;\n } catch (e) {\n throw new Error(formatMessage({ id: \"plan.parse.error\" }));\n }\n const currentPlan = planService.createPlan(\n \"\",\n planJson,\n explainCreate.querySource,\n formatMessage({ id: \"plan.parse.error\" })\n );\n\n const content = currentPlan!.content;\n const rootNode = planJson.Plan;\n\n const currentPlanStats = getPlanState(planJson, {} as IPlanStats, rootNode, content);\n\n return service.create({\n ...explainCreate,\n querySource: formatQuery,\n executionTime: currentPlanStats.executionTime,\n planningTime: (content[\"Planning Time\"] as number) || NaN,\n });\n },\n {\n onSuccess: ({ data }) => {\n if (data) {\n queryClient.invalidateQueries(explainsKeys.lists());\n }\n },\n }\n );\n};\n\nconst useDeleteExplain = () => {\n const service = useExplainService();\n const queryClient = useQueryClient();\n\n return useMutation((payload: { explainId: string }) => service.delete(payload.explainId), {\n onSuccess: (data, ctx) => {\n if (data) {\n queryClient.invalidateQueries(explainsKeys.detail(ctx.explainId));\n queryClient.invalidateQueries(explainsKeys.lists());\n }\n },\n });\n};\n\nconst useUpdateExplain = () => {\n const service = useExplainService();\n const queryClient = useQueryClient();\n\n return useMutation((explainUpdate: ExplainUpdate) => service.update(explainUpdate), {\n onSuccess: ({ data }, ctx) => {\n if (data) {\n queryClient.invalidateQueries(explainsKeys.detail(ctx.explainId));\n }\n },\n });\n};\n\nexport { useExplainList, useGetExplain, useCreateExplain, useDeleteExplain, useUpdateExplain };\n","import { Authority, UserId } from \"../../core/request/PawsqlClient\";\n\ninterface MyEntityTableDataItem {\n entityId: string;\n entityName: string;\n workspaceName: string;\n enabled: boolean;\n workspaceIcon?: string;\n numberOfAnalysis: number;\n createTime: string;\n createUserId: string;\n createUserName: string;\n latestAnalysisTime: string;\n numberOfAudit: number;\n latestAuditTime: string;\n deleteFlag: number;\n isLoading?: boolean;\n status: string;\n tableNum: number;\n viewNum: number;\n indexNum: number;\n parseErrorNum: number;\n isDemo: boolean;\n}\n\ninterface IAnalysisTableDataItem {\n analysisId: string;\n analysisName: string;\n workspaceName: string;\n workloadName: string;\n enabled: boolean;\n // isSyncing?: boolean;\n status: string;\n validateFlag: boolean;\n // lastSync?: number | null;\n // schedule: ConnectionSchedule | undefined;\n // lastSyncStatus: string | null;\n numberOfQuery: number;\n numberOfSyntaxError: number;\n numberOfIndex: number;\n numberOfRewrite: number;\n numberOfRewriteRules: number;\n numberOfViolations: number;\n numberOfViolatedQuery: number;\n performanceImprove: number;\n workloadIcon?: string;\n workspaceIcon?: string;\n createTime: string;\n createUserName: string;\n deleteFlag: number;\n commentCount: number;\n needReply: number;\n isDemo: boolean;\n}\n\ninterface IPptAnalysisTableDataItem {\n analysisId: string;\n analysisName: string;\n instanceName: string;\n enabled: boolean;\n status: string;\n validateFlag: boolean;\n numberOfQuery: number;\n numberOfSyntaxError: number;\n numberOfIndex: number;\n numberOfRewrite: number;\n numberOfRewriteRules: number;\n numberOfViolations: number;\n numberOfViolatedQuery: number;\n performanceImprove: number;\n instanceIcon?: string;\n createTime: string;\n createUserName: string;\n deleteFlag: number;\n commentCount: number;\n needReply: number;\n}\n\ninterface IUserTableDataItem {\n userId: UserId;\n email: string;\n userName: string;\n companyName: string;\n orgId: string;\n orgName: string;\n expireDays: number;\n todayAnalysisTimes: number;\n licenseCode: string;\n authorities: Authority[];\n createTime: string;\n}\n\ninterface IWorkspaceTblTableDataItem {\n workspaceId: string;\n tblId: string;\n tblName: string;\n primarykey: string;\n tblText: string;\n dbName: string;\n schemaName: string;\n columnCount: number;\n rowCount: number;\n}\n\ninterface IWorkspaceIndexTableDataItem {\n workspaceId: string;\n idxId: string;\n idxName: string;\n tblId: string;\n tblName: string;\n idxText: string;\n schemaName: string;\n}\n\nenum Status {\n ACTIVE = \"active\",\n UNOPTIMIZED = \"unoptimized\",\n INACTIVE = \"inactive\",\n FAILED = \"failed\",\n EMPTY = \"empty\",\n PENDING = \"pending\",\n ADOPTED = \"adopted\",\n RUNNING = \"running\",\n LOADING = \"loading\",\n IGNORED = \"ignored\",\n SUCCESS = \"success\",\n SUCCESSWITHVALIDATE = \"success1\",\n SUCCESSWITHOUTVALIDATE = \"success0\",\n}\n\nenum SlowQueryServiceStatus {\n UNINITIALIZED = \"uninitialized\",\n LOADING = \"loading\",\n INITIALIZED = \"initialized\",\n VERIFIED = \"verified\",\n ENABLED = \"enabled\",\n}\n\nenum InstanceStatus {\n FAILED = \"failed\",\n LOADING = \"loading\",\n SUCCESS = \"success\",\n SLOW_QUERY_SERVICE_ENABLE = \"slowQueryServiceEnable\",\n}\n\nenum SortOrderEnum {\n DESC = \"desc\",\n ASC = \"asc\",\n}\n\nexport type {\n IWorkspaceTblTableDataItem,\n IWorkspaceIndexTableDataItem,\n IAnalysisTableDataItem,\n MyEntityTableDataItem,\n IUserTableDataItem,\n IPptAnalysisTableDataItem,\n};\nexport { SlowQueryServiceStatus, Status, SortOrderEnum, InstanceStatus };\n","import React from \"react\";\nimport { useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Input } from \"components\";\n\ninterface SearchProps {\n onSearch: (value: string) => void;\n value?: string;\n placeHolder?: string;\n}\n\nconst SearchInput = styled(Input)`\n padding: 10px 8px 9px;\n border: 1px solid #a8a8c9;\n border-radius: 4px;\n`;\n\nconst SearchContent = styled.div`\n position: relative;\n width: 100%;\n\n &:before {\n content: attr(data-content);\n }\n`;\n\nconst Search: React.FC = ({ onSearch, value, placeHolder }) => {\n const formatMessage = useIntl().formatMessage;\n\n return (\n \n onSearch(e.target.value)}\n />\n \n );\n};\n\nexport default Search;\n","import React, { useCallback } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\n\nimport { Button } from \"components\";\n\nimport { useConfirmationModalService } from \"hooks/services/ConfirmationModal\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\n\ninterface IProps {\n type: \"source\" | \"destination\" | \"connection\" | \"analysis\" | \"instance\" | \"workload\" | \"audit\" | \"webhook\";\n onDelete: () => void;\n}\n\nconst MyDeleteBlock: React.FC = ({ type, onDelete }) => {\n const { openConfirmationModal, closeConfirmationModal } = useConfirmationModalService();\n const { isDemo } = useMyAuthService();\n const onDeleteButtonClick = useCallback(() => {\n openConfirmationModal({\n text: `tables.${type}DeleteModalText`,\n title: `tables.${type}DeleteConfirm`,\n submitButtonText: \"form.delete\",\n onSubmit: async () => {\n await onDelete();\n closeConfirmationModal();\n },\n submitButtonDataId: \"delete\",\n });\n }, [closeConfirmationModal, onDelete, openConfirmationModal, type]);\n\n return (\n <>\n {isDemo ? (\n <>\n ) : (\n {\n e.stopPropagation();\n onDeleteButtonClick();\n }}\n data-id=\"open-delete-modal\"\n >\n \n \n )}\n \n );\n};\n\nexport default MyDeleteBlock;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { Row } from \"components/SimpleTableComponents\";\n\nconst RowWrapper = styled.div<{ depth?: number; noBorder?: boolean }>`\n height: auto;\n min-height: 40px;\n border-bottom: ${({ theme, noBorder }) => (noBorder ? \"none\" : `1px solid ${theme.greyColor0}`)};\n\n &:last-child {\n border: ${({ depth = 0 }) => depth > 0 && \"none\"};\n }\n`;\n\nconst RowContent = styled(Row)`\n height: 100%;\n white-space: nowrap;\n font-size: 12px;\n`;\n\nconst TreeRowWrapper: React.FC<{ depth?: number; noBorder?: boolean }> = ({ depth, children, noBorder }) => (\n \n {children}\n \n);\n\nexport { TreeRowWrapper };\n","import React, { memo } from \"react\";\n\nimport { CodeBlock } from \"components/Markdown/CodeBlock\";\n\n// import { Cell } from \"components\";\n// import { Markdown } from \"components/Markdown\";\n\n// import styles from \"./SlowQueryFieldRow.module.scss\";\n\ninterface SlowQueryFieldRowProps {\n name: string;\n title: string;\n value: string;\n isDetailRowExpanded?: boolean;\n onDetailExpand?: () => void;\n}\nconst customStyle = {\n fontSize: \"14px\", // 自定义字体大小\n};\n\nconst SlowQueryFieldRowInner: React.FC = ({ name, value }) => {\n return (\n <>\n {(name === \"desc\" || name === \"exampleBefore\" || name === \"exampleAfter\") && (\n
    \n {/* */}\n {/* */}\n {/* */}\n \n {/* */}\n {/* */}\n
    \n )}\n \n );\n};\n\nexport const SlowQueryFieldRow = memo(SlowQueryFieldRowInner);\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { TreeRowWrapper } from \"./components/TreeRowWrapper\";\nimport { SlowQueryFieldRow } from \"./SlowQueryFieldRow\";\n\nconst RowsContainer = styled.div`\n width: 100%;\n border-radius: 8px;\n margin: 0 10px 5px 10px;\n`;\n\ninterface ExpandTableProps {\n content: string;\n isDetailRowExpanded: boolean;\n onDetailExpand: () => void;\n}\n\nexport const ExpandTable: React.FC = ({ content, isDetailRowExpanded, onDetailExpand }) => {\n return (\n <>\n \n \n \n \n \n \n );\n};\n","import { faChevronRight } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\nimport styled from \"styled-components\";\n\ninterface ArrowProps {\n isItemHasChildren?: boolean;\n depth?: number;\n isItemOpen?: boolean;\n onExpand?: () => void;\n}\n\nconst ArrowContainer = styled.span`\n padding: 0 12px;\n width: 10px;\n display: inline-block;\n`;\n\nconst ArrowView = styled(FontAwesomeIcon)<{ $isOpen?: boolean }>`\n font-size: 16px;\n line-height: 16px;\n color: ${({ theme }) => theme.darkPrimaryColor};\n transform: ${({ $isOpen }) => $isOpen && \"rotate(90deg)\"};\n transition: 0.3s;\n cursor: pointer;\n`;\n\nconst Arrow: React.FC = ({ isItemHasChildren, isItemOpen, onExpand }) => {\n return (\n \n {(isItemHasChildren || !onExpand) && (\n {\n event.stopPropagation();\n onExpand && onExpand();\n }}\n $isOpen={isItemOpen}\n />\n )}\n \n );\n};\n\nexport { Arrow };\n","// extracted by mini-css-extract-plugin\nexport default {\"streamFieldTableContainer\":\"PaginationTable_streamFieldTableContainer__LZhNV\",\"catalogSection\":\"PaginationTable_catalogSection__waWde\"};","import { TablePagination, tablePaginationClasses } from \"@mui/material\";\nimport queryString from \"query-string\";\nimport React, { memo, useMemo } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport {\n Cell,\n Column,\n ColumnInstance,\n SortingRule,\n useSortBy,\n useTable,\n usePagination,\n useExpanded,\n} from \"react-table\";\nimport styled from \"styled-components\";\n\nimport { Card } from \"components\";\n\nimport { PageController } from \"core/request/PawsqlClient\";\nimport useRouter from \"hooks/useRouter\";\nimport { ExpandTable } from \"views/Connection/CatalogTree/ExpandTable\";\n\nimport { Arrow as ArrowBlock } from \"./components/Arrow\";\nimport styles from \"./PaginationTable.module.scss\";\n\ninterface PaddingProps {\n left?: number;\n right?: number;\n}\n\ntype IHeaderProps = {\n headerHighlighted?: boolean;\n collapse?: boolean;\n customWidth?: number;\n customPadding?: PaddingProps;\n} & ColumnInstance;\n\ntype ICellProps = {\n column: IHeaderProps;\n} & Cell;\n\ntype IThProps = {\n highlighted?: boolean;\n collapse?: boolean;\n customWidth?: number;\n customPadding?: PaddingProps;\n light?: boolean;\n} & React.ThHTMLAttributes;\n\nconst TableView = styled(Card).attrs({ as: \"table\" })<{ light?: boolean }>`\n margin: 0 -7px 0 7px;\n border-spacing: 0;\n width: 100%;\n max-width: 100%;\n border-radius: 10px;\n box-shadow: ${({ light, theme }) => (light ? \"none\" : `0 2px 4px ${theme.cardShadowColor}`)};\n};\n`;\n\nconst Tr = styled.tr<{\n hasClick?: boolean;\n erroredRows?: boolean;\n}>`\n background: ${({ theme, erroredRows }) => (erroredRows ? theme.dangerTransparentColor : theme.whiteColor)};\n cursor: ${({ hasClick }) => (hasClick ? \"pointer\" : \"auto\")};\n &:hover {\n background: ${({ theme }) => theme.greyColor0};\n }\n`;\n\nconst Td = styled.td<{\n collapse?: boolean;\n customWidth?: number;\n customPadding?: PaddingProps;\n}>`\n padding: ${({ customPadding }) => `16px ${customPadding?.right ?? 13}px 16px ${customPadding?.left ?? 13}px`};\n font-size: 12px;\n line-height: 15px;\n font-weight: normal;\n color: ${({ theme }) => theme.darkPrimaryColor};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: 1px solid ${({ theme }) => theme.greyColor20};\n width: ${({ collapse, customWidth }) => (customWidth ? `${customWidth}%` : collapse ? \"0.0000000001%\" : \"auto\")};\n\n tr:last-child > & {\n border-bottom: none;\n\n &:first-child {\n border-radius: 0 0 0 10px;\n }\n\n &:last-child {\n border-radius: 0 0 10px 0;\n }\n }\n`;\n\nconst Th = styled.th`\n background: ${({ theme, light }) => (light ? \"none\" : theme.textColor)};\n padding: ${({ customPadding }) => `9px ${customPadding?.right ?? 13}px 10px ${customPadding?.left ?? 13}px`};\n text-align: left;\n font-size: ${({ light }) => (light ? 11 : 10)}px;\n line-height: 12px;\n color: ${({ theme, highlighted }) => (highlighted ? theme.whiteColor : theme.lightTextColor)};\n border-bottom: ${({ theme, light }) => (light ? \"none\" : ` 1px solid ${theme.backgroundColor}`)};\n width: ${({ collapse, customWidth }) => (customWidth ? `${customWidth}%` : collapse ? \"0.0000000001%\" : \"auto\")};\n font-weight: ${({ light }) => (light ? 400 : 600)};\n text-transform: ${({ light }) => (light ? \"capitalize\" : \"uppercase\")};\n\n &:first-child {\n padding-left: ${({ light }) => (light ? 13 : 45)}px;\n border-radius: 10px 0 0;\n }\n\n &:last-child {\n // padding-left: 30px;\n border-radius: 0 10px 0 0;\n }\n`;\n\ninterface IProps {\n light?: boolean;\n defaultPagesize?: number;\n columns: Array>>;\n erroredRows?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: any[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClickRow?: (data: any) => void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n sortBy?: Array>;\n hoverTitle?: string;\n pageController: PageController;\n setPageController: (pageController: PageController) => void;\n totalNumber: number;\n useExpandedFunc?: boolean;\n expandedType?: \"slowQuery\" | \"slowQueryTemplate\" | \"dbObject\" | \"pptJob\";\n hideSearch?: boolean;\n}\n\nconst ServerPaginationTable: React.FC = ({\n columns,\n data,\n onClickRow,\n erroredRows,\n sortBy,\n light,\n defaultPagesize,\n hoverTitle,\n pageController,\n setPageController,\n totalNumber,\n useExpandedFunc,\n expandedType,\n hideSearch,\n}) => {\n const { query, push, location } = useRouter();\n\n const [plugins, config] = useMemo(() => {\n const pl = [];\n const plConfig: Record = {};\n\n if (sortBy) {\n pl.push(useSortBy);\n plConfig.initialState = { sortBy };\n }\n return [pl, plConfig];\n }, [sortBy]);\n\n const { formatMessage } = useIntl();\n\n const { getTableProps, getTableBodyProps, headerGroups, prepareRow, rows, toggleRowExpanded } = useTable(\n {\n ...config,\n columns,\n data,\n initialState: { pageIndex: Number(query.page ?? 0), pageSize: defaultPagesize ? defaultPagesize : 10 },\n },\n ...plugins,\n useExpanded,\n usePagination\n );\n\n return (\n <>\n \n \n {headerGroups.map((headerGroup, key) => (\n \n {useExpandedFunc && (\n \n {formatMessage({ id: \"slowQuery.expanded\" })}\n \n )}\n {headerGroup.headers.map((column: IHeaderProps, columnKey) => (\n \n {column.render(\"Header\")}\n \n ))}\n \n ))}\n \n \n {rows.map((row) => {\n prepareRow(row);\n return (\n <>\n {\n onClickRow?.(row.original);\n // !onClickRow && useExpandedFunc && toggleRowExpanded([row.id]);\n }}\n erroredRows={erroredRows && !!row.original.error}\n >\n {useExpandedFunc && (\n \n {\n toggleRowExpanded([row.id])}\n isItemHasChildren={true}\n isItemOpen={row.isExpanded}\n />\n }\n {/* toggleRowExpanded([row.id])}>{row.isExpanded ? \"-\" : \"+\"} */}\n \n )}\n {\n // @ts-ignore needs to address proper types for table\n row.cells.map((cell: ICellProps, key) => {\n return (\n \n {cell.render(\"Cell\")}\n \n );\n })\n }\n \n {row.isExpanded && (\n \n \n
    \n {\n toggleRowExpanded([row.id]);\n }}\n content={\n expandedType === \"slowQuery\" || expandedType === \"slowQueryTemplate\"\n ? (row.original.sqlText as string) + \"\\n\"\n : \"\"\n }\n />\n
    \n \n \n )}\n \n );\n })}\n \n | null, toPage: number) => {\n setPageController({ ...pageController, pageIndex: toPage });\n\n !hideSearch &&\n push({\n search: queryString.stringify(\n { ...queryString.parse(location.search), page: toPage },\n { skipNull: true }\n ),\n });\n }}\n onRowsPerPageChange={(event: React.ChangeEvent) => {\n setPageController({ ...pageController, pageSize: Number(event.target.value) });\n }}\n SelectProps={{\n MenuProps: {\n style: { zIndex: 10001 },\n },\n }}\n />\n \n \n
    \n \n );\n};\n\nexport default memo(ServerPaginationTable);\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { getIcon } from \"utils/imageUtils\";\n\ninterface Props {\n icon?: string;\n className?: string;\n small?: boolean;\n}\n\nexport const Content = styled.div<{ $small?: boolean }>`\n height: 25px;\n width: 25px;\n // border-radius: ${({ $small }) => ($small ? 0 : 50)}%;\n overflow: hidden;\n flex-shrink: 0;\n`;\n\nexport const WorkspaceIcon: React.FC = ({ icon, className, small }) => (\n \n {getIcon(icon)}\n \n);\n","import React, { useMemo } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { WorkspaceIcon } from \"components/WorkspaceIcon\";\nimport StatusIcon from \"components/StatusIcon\";\nimport { StatusIconStatus } from \"components/StatusIcon/StatusIcon\";\n\nimport { Status } from \"../types\";\n\ninterface Props {\n value: string;\n enabled?: boolean;\n status?: string | null;\n icon?: boolean;\n img?: string;\n}\n\nconst Content = styled.div`\n display: flex;\n align-items: center;\n font-weight: 500;\n`;\n\nconst Name = styled.div<{ enabled?: boolean }>`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 500px;\n color: ${({ theme, enabled }) => (!enabled ? theme.greyColor40 : \"inherit\")};\n`;\n\nconst Space = styled.div`\n width: 30px;\n height: 20px;\n opacity: 0;\n`;\n\nconst Image = styled(WorkspaceIcon)`\n margin-right: 6px;\n`;\n\nconst NameCell: React.FC = ({ value, enabled, status, icon, img }) => {\n const formatMessage = useIntl().formatMessage;\n const statusIconStatus = useMemo(\n () =>\n status === Status.EMPTY\n ? \"sleep\"\n : status === Status.SUCCESS\n ? \"success\"\n : status === Status.SUCCESSWITHOUTVALIDATE\n ? \"success\"\n : status === Status.SUCCESSWITHVALIDATE\n ? \"success\"\n : status === Status.ACTIVE\n ? \"success\"\n : status === Status.INACTIVE\n ? \"inactive\"\n : status === Status.PENDING\n ? \"loading\"\n : status === Status.RUNNING\n ? \"loading\"\n : status === Status.FAILED\n ? \"warning\"\n : undefined,\n [status]\n );\n\n const title =\n status === Status.EMPTY\n ? formatMessage({\n id: \"connection.noSyncData\",\n })\n : status === Status.SUCCESS\n ? formatMessage({\n id: \"analysis.success\",\n })\n : status === Status.FAILED\n ? formatMessage({\n id: \"analysis.failed\",\n })\n : status === Status.SUCCESSWITHVALIDATE\n ? formatMessage({\n id: \"analysis.success.validate.true\",\n })\n : status === Status.SUCCESSWITHOUTVALIDATE\n ? formatMessage({\n id: \"analysis.success.validate.false\",\n })\n : status === Status.ACTIVE\n ? formatMessage({\n id: \"connection.successSync\",\n })\n : status === Status.PENDING\n ? formatMessage({\n id: \"connection.pendingSync\",\n })\n : formatMessage({\n id: \"connection.failedSync\",\n });\n\n return (\n \n {status ? : }\n {icon && }\n {value}\n \n );\n};\n\nexport default NameCell;\n","import React from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport StepsMenu from \"components/StepsMenu\";\n\nexport enum StepsTypes {\n OVERVIEW = \"overview\",\n DETAILS = \"details\",\n}\n\ninterface IProps {\n currentStep: string;\n setCurrentStep: (step: string) => void;\n}\n\nconst AnalysisItemTabs: React.FC = ({ currentStep, setCurrentStep }) => {\n const { formatMessage } = useIntl();\n const steps =\n currentStep === StepsTypes.OVERVIEW\n ? [\n {\n id: StepsTypes.OVERVIEW,\n name: formatMessage({\n id: \"analysis.summary\",\n }),\n },\n ]\n : [\n {\n id: StepsTypes.DETAILS,\n name: formatMessage({\n id: \"analysis.query.detail\",\n }),\n },\n ];\n\n return ;\n};\n\nexport default AnalysisItemTabs;\n","import Indicator from \"./Indicator\";\n\nexport default Indicator;\nexport { Indicator };\n","import styled from \"styled-components\";\n\nconst Indicator = styled.div`\n height: 10px;\n width: 10px;\n border-radius: 50%;\n background: ${({ theme }) => theme.dangerColor};\n`;\n\nexport default Indicator;\n","import React from \"react\";\n// import { FormattedTime } from \"react-intl\";\n// import { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport Indicator from \"components/Indicator\";\n\ninterface CellProps {\n value: string;\n enabled?: boolean;\n notify?: boolean;\n}\n\n// 空格\n// const Space = styled.div`\n// width: 30px;\n// opacity: 0;\n// `;\n\nconst Content = styled.div<{ enabled?: boolean }>`\n position: relative;\n width: auto;\n font-weight: 500;\n text-overflow: ellipsis;\n display: flex;\n // align-items: center;\n text-align: center;\n margin: auto;\n color: ${({ theme, enabled }) => (!enabled ? theme.greyColor40 : \"inherit\")};\n`;\n\nconst NameStringCell: React.FC = ({ notify, value, enabled }) => (\n \n {notify ? (\n <>\n \n {value}\n \n ) : (\n <>{value}\n )}\n \n);\n\nexport default NameStringCell;\n","import { faCaretDown, faCaretUp } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport * as React from \"react\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n\nconst SortButtonView = styled(Button)<{ wasActive?: boolean }>`\n min-width: 18px;\n font-size: 11px;\n line-height: 12px;\n opacity: ${({ wasActive }) => (wasActive ? 1 : 0.4)};\n pointer-events: all;\n background: none;\n border: none;\n color: inherit;\n padding: 0;\n\n &:hover {\n color: inherit;\n }\n`;\n\ninterface IProps {\n lowToLarge?: boolean;\n wasActive?: boolean;\n onClick: () => void;\n}\n\nconst SortButton: React.FC = ({ wasActive, onClick, lowToLarge }) => {\n return (\n \n \n \n );\n};\n\nexport default SortButton;\n","import React from \"react\";\n// import { FormattedTime } from \"react-intl\";\n// import { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\ninterface NumberCellProps {\n value: any;\n enabled?: boolean;\n}\n\n// export const EndBlock = styled.div`\n// flex: 0 1 0;\n// display: flex;\n// justify-content: center;\n// `;\n\nconst Content = styled.div<{ enabled?: boolean }>`\n font-weight: 500;\n text-overflow: ellipsis;\n color: ${({ theme, enabled }) => (!enabled ? theme.greyColor40 : \"inherit\")};\n`;\n\nconst TextCell: React.FC = ({ value, enabled }) => (\n \n {value}\n \n);\n\nexport default TextCell;\n","import queryString from \"query-string\";\nimport React, { useCallback } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { CellProps } from \"react-table\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components/base\";\nimport MyDeleteBlock from \"components/DeleteBlock/MyDeleteBlock\";\nimport ServerPaginationTable from \"components/Table/ServerPaginationTable\";\n\nimport { ExplainRead, PageController } from \"core/request/PawsqlClient\";\nimport { useDeleteExplain } from \"hooks/services/useExplainHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { ExplainsTableProps } from \"pages/ExpalinPage/pages/AllExplainPage/components/ExplainsTable\";\nimport { RoutePaths } from \"pages/routePaths\";\n\nimport NameCell from \"./components/NameCell\";\nimport NameStringCell from \"./components/NameStringCell\";\nimport SortButton from \"./components/SortButton\";\nimport TextCell from \"./components/TextCell\";\nimport { SortOrderEnum } from \"./types\";\n\nconst Content = styled.div`\n margin: 0 32px 0 27px;\n`;\n\ninterface IProps {\n data: ExplainRead[];\n onClickRow: (explain: ExplainRead) => void;\n tableProps: ExplainsTableProps;\n}\n\nconst ExplainsImplementationTable: React.FC = ({ tableProps, data, onClickRow }) => {\n const { query, push, location } = useRouter();\n const sortBy = query.sortBy || \"\";\n const sortOrder = query.order || \"\";\n\n const { mutateAsync: deleteExplain } = useDeleteExplain();\n\n const onSortClick = useCallback(\n (field: string) => {\n const order =\n sortBy !== field ? SortOrderEnum.ASC : sortOrder === SortOrderEnum.ASC ? SortOrderEnum.DESC : SortOrderEnum.ASC;\n push({\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n sortBy: field,\n order: order,\n },\n { skipNull: true }\n ),\n });\n tableProps.setSortBy(field);\n tableProps.setOrder(order);\n },\n [push, sortBy, sortOrder, tableProps, location]\n );\n\n const sortData = useCallback(\n (a, b) => {\n let result;\n if (sortBy === \"deleteFlag\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"executionTime\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"planningTime\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"databaseType\") {\n result = a[`databaseType`]?.toLowerCase().localeCompare(b[`databaseType`]?.toLowerCase());\n } else if (sortBy === \"workspaceType\") {\n result = a[`workspaceType`]?.toLowerCase().localeCompare(b[`workspaceType`]?.toLowerCase());\n } else if (sortBy === \"createUserName\") {\n result = a[`createUserName`]?.toLowerCase().localeCompare(b[`createUserName`]?.toLowerCase());\n } else if (sortBy === \"analysisName\") {\n result = a[`analysisName`]?.toLowerCase().localeCompare(b[`analysisName`]?.toLowerCase());\n } else if (sortBy === \"explainName\") {\n result = a[`explainName`]?.toLowerCase().localeCompare(b[`explainName`]?.toLowerCase());\n } else if (sortBy === \"createTime\") {\n result = a[`createTime`]?.toLowerCase().localeCompare(b[`createTime`]?.toLowerCase());\n } else {\n result = a[sortBy]?.toLowerCase().localeCompare(b[sortBy]?.toLowerCase());\n }\n\n if (sortOrder === SortOrderEnum.DESC) {\n return -1 * result;\n }\n\n return result;\n },\n [sortBy, sortOrder]\n );\n\n const sortingData = React.useMemo(() => data.sort(sortData), [sortData, data]);\n const columns = React.useMemo(\n () => [\n {\n Header: (\n <>\n \n onSortClick(\"explainName\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"explainName\",\n // customWidth: 40,\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"databaseType\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"databaseType\",\n // customWidth: 40,\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"executionTime\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"executionTime\",\n // customWidth: 40,\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"planningTime\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"planningTime\",\n // customWidth: 40,\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"createUserName\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"createUserName\",\n // customWidth: 40,\n Cell: ({ row }: CellProps) => (\n \n ),\n },\n {\n Header: (\n <>\n \n onSortClick(\"createTime\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"createTime\",\n // customWidth: 40,\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"analysisName\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"analysisName\",\n // customWidth: 40,\n Cell: ({ cell, row }: CellProps) =>\n !!row.original.analysisId ? (\n {\n event.stopPropagation();\n push(\n `./../${RoutePaths.Analyses}/${row.original.analysisId}/${RoutePaths.Details}/${row.original.analysisStmtId}`\n );\n }}\n >\n {cell.value.length > 13 ? cell.value.slice(0, 13) + \"...\" : cell.value}\n \n ) : (\n <>\n ),\n },\n {\n Header: ,\n headerHighlighted: true,\n accessor: \"deleteFlag\",\n Cell: ({ row }: CellProps) =>\n !row.original.deleteFlag ? (\n {\n deleteExplain({ explainId: row.original.explainId }).then(({ data }) => {\n if (data) {\n tableProps.toogleRefresh();\n }\n });\n }}\n />\n ) : (\n \n ),\n },\n ],\n [onSortClick, deleteExplain, sortBy, sortOrder]\n );\n return (\n \n {\n tableProps.setPageIndex(pageController.pageIndex);\n tableProps.setPageSize(pageController.pageSize);\n }}\n hoverTitle=\"explain\"\n columns={columns}\n data={sortingData}\n onClickRow={(explain: ExplainRead) => {\n onClickRow(explain);\n }}\n erroredRows\n />\n \n );\n};\n\nexport default ExplainsImplementationTable;\n","import React, { useContext, useMemo } from \"react\";\n\nimport { UserRead } from \"core/request/PawsqlClient\";\n\nimport { Sample } from \"./views/HomeView\";\n\ninterface Context {\n planData: Sample;\n setPlanData: React.Dispatch>;\n user?: UserRead;\n mode?: \"logged\" | \"no-logged\";\n}\n\nconst ExplainContext = React.createContext(null);\n\nconst useExplainState = (): Context => {\n const ExplainState = useContext(ExplainContext);\n if (!ExplainState) {\n throw new Error(\"useExplainState should be used within ExplainProvider\");\n }\n return ExplainState;\n};\n\nconst ExplainProvider: React.FC<{\n planData: Sample;\n setPlanData: React.Dispatch>;\n user?: UserRead;\n mode?: \"logged\" | \"no-logged\";\n}> = ({ user, mode, planData, setPlanData, children }) => {\n const ctx = useMemo(() => {\n return {\n mode,\n user,\n planData,\n setPlanData,\n };\n }, [mode, user, planData, setPlanData]);\n\n return {children};\n};\n\nexport { useExplainState, ExplainProvider };\n","import React from \"react\";\n\nimport ExplainsImplementationTable from \"components/EntityTable/ExplainsImplementationTable\";\n\nimport { ExplainRead } from \"core/request/PawsqlClient\";\nimport useRouter from \"hooks/useRouter\";\n\nimport { useExplainState } from \"../ExplainContext\";\n\nexport interface ExplainsTableProps {\n toogleRefresh: (nextValue?: any) => void;\n explains: ExplainRead[];\n totalNumber: number;\n pageIndex: number;\n pageSize: number;\n setPageSize: React.Dispatch>;\n setPageIndex: React.Dispatch>;\n setSortBy: React.Dispatch>;\n setOrder: React.Dispatch>;\n}\n\nconst ExplainsTable: React.FC = (porps) => {\n const { push } = useRouter();\n const { setPlanData } = useExplainState();\n\n const clickRow = (explain: ExplainRead) => {\n setPlanData([\n explain.explainSource,\n explain.querySource,\n explain.explainName,\n explain.databaseType,\n explain.explainFormat,\n ]);\n\n push(`${explain.explainId}`);\n };\n\n return ;\n};\n\nexport default ExplainsTable;\n","import { faSearch } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport queryString from \"query-string\";\nimport React, { Suspense, useEffect, useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { useToggle } from \"react-use\";\nimport styled from \"styled-components\";\n\nimport { Button, LoadingPage, MainPageWithScroll, PageTitle } from \"components\";\nimport { EmptyResourceListView } from \"components/EmptyResourceListView\";\nimport HeadTitle from \"components/HeadTitle\";\nimport { EndBlock } from \"components/PageTitle/PageTitle\";\n\nimport { ExplainRead } from \"core/request/PawsqlClient\";\nimport { useExplainList, useExplainService } from \"hooks/services/useExplainHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport Search from \"views/Connection/ConnectionForm/components/Search\";\n\nimport ExplainsTable from \"./components/ExplainsTable\";\n\nexport const LeftFieldCol = styled.div`\n width: 45px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n margin: 0 32px 10px 27px;\n`;\n\nconst Icon = styled.div<{ $small?: boolean }>`\n padding: 5px 0 0 5px;\n`;\n\nconst AllExplainPage: React.FC = () => {\n const { user, isDemo } = useMyAuthService();\n const { query, push, location } = useRouter();\n const currentUserId = query.currentUserId;\n const [searchString, setSearchString] = useState(query.searchString);\n const [refresh, toogleRefresh] = useToggle(false);\n const [pageSize, setPageSize] = useState(10);\n const [pageIndex, setPageIndex] = useState(Number(query.page ?? 0));\n const [sortBy, setSortBy] = useState(\"\");\n const [order, setOrder] = useState(\"\");\n const [totalNumber, setTotalNumber] = useState(0);\n const [explains, setExplains] = useState(\n useExplainList({\n userId: user.userId,\n searchQuery: searchString,\n pagination: {\n pageSize: pageSize,\n pageIndex: pageIndex,\n sortBy: sortBy,\n order: order,\n },\n }).data.records as ExplainRead[]\n );\n\n const service = useExplainService();\n useEffect(() => {\n service\n .list({\n userId: user.userId,\n searchQuery: searchString,\n pagination: {\n pageSize: pageSize,\n pageIndex: pageIndex,\n sortBy: sortBy,\n order: order,\n },\n })\n .then(({ data }) => {\n setExplains(data.records as ExplainRead[]);\n setTotalNumber(data.total);\n });\n }, [service, pageIndex, pageSize, searchString, currentUserId, user, refresh, sortBy, order]);\n\n const onCreateClick = () => push(`${RoutePaths.ExplainNew}`);\n\n return (\n }>\n }\n pageTitle={} />}\n >\n \n \n \n \n \n \n \n {\n setSearchString(value);\n push({\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n searchString: value,\n page: 0,\n },\n { skipNull: true }\n ),\n });\n }}\n />\n \n \n \n \n \n {explains && explains.length > 0 ? (\n \n ) : (\n \n )}\n \n \n );\n};\n\nexport default AllExplainPage;\n","import AllExplainPage from \"./AllExplainPage\";\n\nexport default AllExplainPage;\n","import React, { useMemo } from \"react\";\nimport styled from \"styled-components\";\n\nimport StatusIcon from \"components/StatusIcon\";\nimport { StatusIconStatus } from \"components/StatusIcon/StatusIcon\";\n\nimport Status from \"core/statuses\";\n\ninterface IProps {\n id: string;\n lightMode?: boolean;\n name: string | React.ReactNode;\n onClick?: (id: string) => void;\n isActive?: boolean;\n isPartialSuccess?: boolean;\n num: number;\n status?: string;\n}\n\nconst StepView = styled.div<{\n isActive?: boolean;\n lightMode?: boolean;\n nonClickable?: boolean;\n}>`\n width: ${({ lightMode }) => (lightMode ? \"auto\" : \"212px\")};\n min-width: ${({ lightMode }) => (lightMode ? \"100px\" : \"auto\")};\n min-height: 28px;\n padding: 6px 14px;\n border-radius: 4px;\n pointer-events: ${({ isActive, nonClickable }) => (isActive || nonClickable ? \"none\" : \"all\")};\n cursor: ${({ nonClickable }) => (nonClickable ? \"default\" : \"pointer\")};\n text-align: center;\n background: ${({ theme, isActive }) => (isActive ? theme.primaryColor12 : \"none\")};\n color: ${({ theme, isActive }) => (isActive ? theme.primaryColor : theme.greyColor60)};\n font-weight: 500;\n font-size: 14px;\n line-height: 15px;\n transition: 0.3s;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n`;\n\nconst Num = styled.div<{ isActive?: boolean }>`\n width: 16px;\n height: 16px;\n border-radius: 50%;\n text-align: center;\n background: ${({ theme, isActive }) => (isActive ? theme.primaryColor : theme.greyColor60)};\n color: ${({ theme }) => theme.whiteColor};\n font-weight: 500;\n font-size: 12px;\n line-height: 16px;\n display: inline-block;\n margin-right: 6px;\n box-shadow: 0 1px 2px 0 ${({ theme }) => theme.shadowColor};\n`;\n\nconst Step: React.FC = ({ name, id, isActive, onClick, num, lightMode, status, isPartialSuccess }) => {\n const onItemClickItem = () => {\n if (onClick) {\n onClick(id);\n }\n };\n\n const statusIconStatus: StatusIconStatus | undefined = useMemo(\n () => (status !== Status.FAILED && !isPartialSuccess ? \"success\" : isPartialSuccess ? \"warning\" : undefined),\n [status, isPartialSuccess]\n );\n\n return (\n \n {lightMode ? null : {num}}\n {status ? : null}\n {name}\n \n );\n};\n\nexport default Step;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport Step from \"./components/Step\";\n\nexport interface StepMenuItem {\n id: string;\n name: string | React.ReactNode;\n status?: string;\n isPartialSuccess?: boolean;\n onSelect?: () => void;\n}\n\ninterface IProps {\n lightMode?: boolean;\n data: StepMenuItem[];\n activeStep?: string;\n onSelect?: (id: string) => void;\n}\n\nconst Content = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: center;\n font-family: ${({ theme }) => theme.regularFont};\n`;\n\nconst StepsMenu: React.FC = ({ data, onSelect, activeStep, lightMode }) => {\n return (\n \n {data.map((item, key) => (\n \n ))}\n \n );\n};\n\nexport default StepsMenu;\n","import StepsMenu from \"./StepsMenu\";\n\nexport { StepsMenu };\nexport default StepsMenu;\n","import styled from \"styled-components\";\n\nconst FormPageContent = styled.div<{ big?: boolean }>`\n width: 80%;\n max-width: ${({ big }) => (big ? 1279 : 813)}px;\n margin: 13px auto;\n`;\n\nexport default FormPageContent;\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button, DropDownRow, H3, H5 } from \"components\";\n// import { Popout } from \"components/base/Popout/Popout\";\nimport { ReleaseStageBadge } from \"components/ReleaseStageBadge\";\n\nimport { ReleaseStage } from \"core/request/PawsqlClient\";\n\ninterface TableItemTitleProps {\n type: \"source\" | \"destination\" | \"workspace\" | \"workload\";\n dropDownData: DropDownRow.IDataItem[];\n onSelect: () => void;\n entity: string;\n entityName: string;\n entityIcon?: React.ReactNode;\n releaseStage?: ReleaseStage;\n}\n\nconst Content = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n padding: 0 32px 18px 27px;\n`;\n\nconst EntityType = styled(H5)`\n display: flex;\n gap: 6px;\n align-items: center;\n color: ${({ theme }) => theme.greyColor55};\n`;\n\nconst EntityInfo = styled(Content)`\n justify-content: left;\n padding-top: 15px;\n padding-bottom: 39px;\n gap: 15px;\n`;\n\nconst EntityIcon = styled.div`\n height: 40px;\n width: 40px;\n`;\n\nexport const EndBlock = styled.div`\n flex: 1 0 0;\n display: flex;\n justify-content: flex-end;\n`;\n\nconst TableItemTitle: React.FC = ({\n // type,\n // dropDownData,\n onSelect,\n entity,\n entityName,\n entityIcon,\n releaseStage,\n}) => {\n return (\n <>\n \n {entityIcon && {entityIcon}}\n
    \n

    {entityName}

    \n \n {entity}\n \n \n
    \n
    \n \n
    \n \n
    \n \n \n \n
    \n \n );\n};\n\nexport default TableItemTitle;\n","export function getNowFormattedDate() {\n const date = new Date();\n return (\n date.getFullYear().toString() +\n (\"0\" + (date.getMonth() + 1)).toString().slice(-2) +\n // new Date().getDate().toString().slice(-2) +\n (\"0\" + date.getDate()).toString().slice(-2) +\n (\"0\" + date.getHours()).toString().slice(-2) +\n (\"0\" + date.getMinutes()).toString().slice(-2)\n );\n}\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n\ninterface IProps {\n isSubmitting: boolean;\n errorMessage?: React.ReactNode;\n hasSuccess?: boolean;\n isLoadSchema?: boolean;\n fetchingExplainError?: Error | null;\n\n isTestConnectionInProgress: boolean;\n onCancelTesting?: () => void;\n}\n\nconst ButtonContainer = styled.div`\n margin-top: 0px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nconst SubmitButton = styled(Button)`\n margin-left: auto;\n`;\n\nconst FormContainer = styled.div`\n padding: 0px 27px 10px 24px;\n`;\n\nconst ExplainCreateControls: React.FC = () => {\n return (\n \n \n \n \n \n \n \n );\n};\n\nexport default ExplainCreateControls;\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { StatusIcon } from \"components\";\n\nconst Error = styled(StatusIcon)`\n padding-left: 1px;\n width: 26px;\n min-width: 26px;\n height: 26px;\n padding-top: 5px;\n font-size: 17px;\n`;\n\nconst ErrorBlock = styled.div`\n display: flex;\n align-items: center;\n font-weight: 600;\n font-size: 12px;\n line-height: 18px;\n color: ${({ theme }) => theme.darkPrimaryColor};\n`;\n\nconst ErrorText = styled.div`\n font-weight: normal;\n color: ${({ theme }) => theme.dangerColor};\n max-width: 400px;\n`;\n\nconst ErrorSection: React.FC<{\n errorTitle: React.ReactNode;\n errorMessage: React.ReactNode;\n}> = ({ errorMessage, errorTitle }) => (\n \n \n
    \n {errorTitle}\n {errorMessage}\n
    \n
    \n);\n\nconst TestingExplainError: React.FC<{ errorMessage: React.ReactNode }> = ({ errorMessage }) => (\n } errorMessage={errorMessage} />\n);\n\nexport { TestingExplainError };\n","import { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { fas } from \"@fortawesome/free-solid-svg-icons\";\n// import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { Field, FieldProps, Form, Formik } from \"formik\";\nimport { DragEvent, useEffect, useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { useToggle } from \"react-use\";\nimport styled from \"styled-components\";\nimport * as yup from \"yup\";\n\nimport { ContentCard, ControlLabels, DropDown, Input, Label, TextArea } from \"components\";\n// import { PlanData } from \"components/pev2/interfaces\";\nimport { IPlanContent } from \"components/pev2/interfaces\";\nimport { PlanService } from \"components/pev2/services/plan-service\";\n\nimport { useCreateExplain } from \"hooks/services/useExplainHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\n// import FeedbackBlock from \"pages/SettingsPage/components/FeedbackBlock\";\nimport { isNotBlank } from \"utils/common\";\n// import { getNowFormattedDate } from \"utils/myDateUtils\";\nimport { useDocumentationPanelContext } from \"views/Workspace/DocumentationLayout/DocumentationPanelContext\";\n\nimport { useExplainState } from \"../../AllExplainPage/ExplainContext\";\nimport { useCreateExplainState } from \"../CreateExplainContext\";\nimport ExplainCreateControls from \"./ExplainCreateControls\";\nimport { TestingExplainError } from \"./TestingExplainError\";\n// import { time_ago } from \"../utils\";\n\nlibrary.add(fas);\n\nconst EditLaterMessage = styled(Label)`\n margin: -15px 0 0px;\n`;\n\nconst ControlLabelsWithMargin = styled(ControlLabels)`\n margin-bottom: 10px;\n`;\n\nconst CustomLabel = styled(ControlLabels)`\n max-width: 328px;\n margin-right: 20px;\n vertical-align: top;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: flex-start;\n gap: 10px;\n`;\n\nexport const LeftFieldCol = styled.div`\n width: 470px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nconst StyledSection = styled.div`\n padding: 12px 20px;\n\n & > div:not(:last-child) {\n margin-bottom: 15px;\n }\n`;\n\n// const DropZoneSubtitle = styled.div`\n// font-size: 11px;\n// font-weight: bold;\n// `;\nexport interface Sample extends Array {\n 0: string;\n 1: string;\n 2: string;\n}\n\nexport interface FormikExplainFormValues {\n explainName: string;\n explainSource: string;\n querySource: string;\n databaseType: string;\n explainFormat: string;\n sample?: string;\n}\n\nexport const ExplainForm: React.FC = () => {\n const { formatMessage, locale } = useIntl();\n const { setPlanData } = useExplainState();\n const {\n databaseType,\n setDatabaseType,\n explainFormat,\n setExplainFormat,\n explainName,\n setExplainName,\n explainSource,\n setExplainSource,\n querySource,\n setQuerySource,\n } = useCreateExplainState();\n\n const [draggingPlan, toggleDraggingPlan] = useToggle(false);\n const [draggingQuery, toggleDraggingQuery] = useToggle(false);\n // const [savedPlans, setSavedPlans] = useState();\n\n const { mode, user } = useExplainState();\n const { setDocumentationUrl, setDocumentationPanelOpen, setDocumentTitle } = useDocumentationPanelContext();\n\n const [samples, setSamples] = useState([]);\n useEffect(() => {\n setDocumentationUrl(\"explain/\" + \"Samples.md\");\n setDocumentTitle();\n setDocumentationPanelOpen(true);\n setSamples([]);\n }, [locale, setDocumentTitle, setDocumentationPanelOpen, setDocumentationUrl]);\n // const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n\n // const toggleDropdown = () => {\n // console.log(samples);\n\n // console.log(isDropdownOpen);\n\n // setIsDropdownOpen(!isDropdownOpen);\n // };\n\n // const handleItemClick = (sample: Sample) => {\n // loadPlan(sample);\n // setIsDropdownOpen(false);\n // };\n\n const { push } = useRouter();\n\n const [error, setError] = useState(\"\");\n\n const { mutateAsync: createExplain } = useCreateExplain();\n\n // const formatDropdownData = [\n // { value: \"tree\", label: \"Tree\" },\n // {\n // value: \"json\",\n // label: \"JSON\",\n // },\n // ];\n const databseDropdownData = [\n { value: \"mysql\", label: \"MySQL\" },\n {\n value: \"postgres\",\n label: \"Postgres\",\n },\n {\n value: \"opengauss\",\n label: \"OpenGauss\",\n },\n {\n value: \"oracle\",\n label: \"Oracle(beta)\",\n },\n {\n value: \"hive\",\n label: \"Hive(beta)\",\n },\n {\n value: \"dameng\",\n label: \"Dameng(beta)\",\n },\n ];\n\n samples.map((item) => ({ label: item[0], value: item }));\n\n // useEffect(() => {\n // const textAreas = document.getElementsByTagName(\"textarea\");\n // Array.prototype.forEach.call(textAreas, (elem: HTMLInputElement) => {\n // elem.placeholder = elem.placeholder.replace(/\\\\n/g, \"\\n\");\n // });\n // const noHashURL = window.location.href.replace(/#.*$/, \"\");\n // window.history.replaceState(\"\", document.title, noHashURL);\n // // loadPlans();\n // }, []);\n\n // async function loadPlans() {\n // const plans = await idb.getPlans();\n // setSavedPlans((plans as PlanData[]).slice().reverse());\n // }\n\n // function loadPlan(plan?: PlanData) {\n // if (!plan) {\n // return;\n // }\n\n // setQueryName(plan[0]);\n // setPlanInput(plan[1]);\n // setQueryInput(plan[2]);\n // }\n\n // function openPlan(plan: PlanData) {\n // setPlanData!([plan[0], plan[1], plan[2]]);\n // }\n\n // function editPlan(plan: PlanData) {\n // loadPlan(plan);\n // }\n\n // async function deletePlan(plan: PlanData) {\n // await idb.deletePlan(plan);\n // loadPlans();\n // }\n\n function handleDrop(event: DragEvent) {\n const input = event.target || event.currentTarget;\n if (!(input instanceof HTMLTextAreaElement)) {\n return;\n }\n toggleDraggingPlan(false);\n toggleDraggingQuery(false);\n if (!event.dataTransfer) {\n return;\n }\n const file = event.dataTransfer.files[0];\n const reader = new FileReader();\n reader.onload = () => {\n if (reader.result instanceof ArrayBuffer) {\n return;\n }\n input.value = reader.result || \"\";\n input.dispatchEvent(new Event(\"input\"));\n };\n reader.readAsText(file);\n }\n // const handleClick = () => {\n // // 清空列表\n // setQueryName(\"\");\n // setPlanInput(\"\");\n // setQueryInput(\"\");\n // };\n\n const onFormSubmit = async (_values: FormikExplainFormValues) => {\n setPlanData([explainSource, querySource, explainName, databaseType || \"\", explainFormat || \"\"]);\n\n localStorage.setItem(\"explain-databaseType\", databaseType || \"\");\n localStorage.setItem(\"explain-format\", explainFormat || \"\");\n\n //调用api\n if (mode === \"logged\" && user) {\n const explain = {\n explainId: \"\",\n explainName: explainName,\n explainSource: explainSource,\n querySource: querySource,\n databaseType: databaseType || \"\",\n explainFormat: explainFormat || \"\",\n createUserId: user.userId,\n createUserName: user.userName,\n };\n await createExplain(explain)\n .then(({ data }) => {\n push(`./../${data.explainId}`);\n })\n .catch((e) => {\n setError(formatMessage({ id: e.message }));\n });\n } else {\n const planService = new PlanService();\n\n try {\n planService.fromSource(explainSource, formatMessage({ id: \"plan.parse.error\" })) as IPlanContent;\n localStorage.setItem(\"explainSource\", explainSource);\n localStorage.setItem(\"querySource\", querySource);\n localStorage.setItem(\"explainName\", explainName);\n localStorage.setItem(\"explainFormat\", explainFormat || \"\");\n localStorage.setItem(\"databaseType\", databaseType || \"\");\n push(`./${RoutePaths.Details}`);\n } catch (e) {\n console.log(e);\n\n setError(formatMessage({ id: \"plan.parse.error\" }));\n }\n }\n };\n\n const explainValidationSchema = yup.object().shape({\n // explainSource: yup.string().required(\"form.empty.error\"),\n // databaseType: yup.string().required(\"form.empty.error\"),\n // explainFormat: yup.string().required(\"form.empty.error\"),\n explainName: yup.string().when([], {\n is: () => !isNotBlank(explainName),\n then: yup.string().required(\"form.empty.error\"),\n otherwise: yup.string(), // 否则,不进行额外的验证\n }),\n databaseType: yup.string().when([], {\n is: () => !isNotBlank(databaseType),\n then: yup.string().required(\"form.empty.error\"),\n otherwise: yup.string(), // 否则,不进行额外的验证\n }),\n // explainFormat: yup.string().when([], {\n // is: () => !isNotBlank(explainFormat),\n // then: yup.string().required(\"form.empty.error\"),\n // otherwise: yup.string(), // 否则,不进行额外的验证\n // }),\n explainSource: yup.string().when([], {\n is: () => !isNotBlank(explainSource),\n then: yup.string().required(\"form.empty.error\"),\n otherwise: yup.string(), // 否则,不进行额外的验证\n }),\n });\n\n return (\n } full={true}>\n \n {({ isSubmitting, setFieldValue }) => (\n
    \n \n {/* \n {({ field, meta }: FieldProps) => (\n }\n message={!!meta.error && meta.touched && }\n >\n {\n setFieldValue(field.name, item.label);\n loadPlan(item.value);\n }}\n />\n \n )}\n */}\n\n \n {({ field, meta }: FieldProps) => (\n \n \n }\n />\n \n \n {\n setFieldValue(\"explainName\", event.target.value);\n setExplainName(event.target.value);\n }}\n name=\"explainName\"\n value={explainName}\n />\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n \n \n }\n message={!!meta.error && }\n />\n \n \n {\n setFieldValue(field.name, item.value);\n setDatabaseType(item.value);\n setExplainFormat(undefined);\n setFieldValue(\"explainFormat\", undefined);\n }}\n />\n \n \n )}\n \n {/* \n {({ field, meta }: FieldProps) => (\n \n \n }\n message={!!meta.error && }\n />\n \n \n {\n setFieldValue(field.name, item.value);\n setExplainFormat(item.value);\n }}\n />\n \n \n )}\n */}\n \n {({ meta }: FieldProps) => (\n }\n message={!!meta.error && meta.touched && }\n >\n {\n toggleDraggingPlan(true);\n }}\n onDragLeave={() => {\n toggleDraggingPlan(false);\n }}\n onDrop={(event) => {\n event.preventDefault();\n handleDrop(event);\n }}\n placeholder={formatMessage({ id: \"pev2.home.plan.texarea.placeholder\" })}\n autoComplete=\"off\"\n onChange={(item) => {\n setFieldValue(\"explainSource\", item.target.value);\n setExplainSource(item.target.value);\n }}\n rows={7}\n disabled={false}\n value={explainSource}\n />\n \n )}\n \n } />\n \n {() => (\n {\n toggleDraggingPlan(true);\n }}\n onDragLeave={() => {\n toggleDraggingPlan(false);\n }}\n onDrop={(event) => {\n event.preventDefault();\n handleDrop(event);\n }}\n placeholder={formatMessage({ id: \"pev2.home.query.texarea.placeholder\" })}\n autoComplete=\"off\"\n onChange={(item) => {\n setFieldValue(\"querySource\", item.target.value);\n setQuerySource(item.target.value);\n }}\n rows={7}\n disabled={false}\n value={querySource}\n />\n )}\n \n \n {isNotBlank(error) && }\n \n {/* */}\n \n )}\n \n
    \n );\n};\n","import React from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { FormattedMessage } from \"react-intl\";\nimport { Link } from \"react-router-dom\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n\nimport { useI18nContext } from \"core/i18n\";\nimport { RoutePaths } from \"pages/routePaths\";\n\nconst Links = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n`;\n\nconst LanguageChangeButton = styled(Button)`\n font-style: normal;\n font-weight: bold;\n color: ${({ theme }) => theme.BackLink};\n\n &:hover {\n opacity: 0.8;\n }\n`;\n\nconst FormLink = styled.div`\n font-size: 11px;\n line-height: 13px;\n color: ${({ theme }) => theme.darkGreyColor};\n`;\n\nconst TextBlock = styled.div`\n display: inline-block;\n`;\n\nexport const EndBlock = styled.div`\n flex: 1 0 0;\n display: flex;\n justify-content: flex-end;\n margin-right: -30px;\n`;\n\nconst Content = styled.div`\n max-width: 91%;\n margin: 10px auto;\n`;\n\nconst Logo = styled.img`\n display: block;\n`;\n\nconst Header: React.FC = () => {\n const { locale } = useIntl();\n const isEn = locale === \"en\";\n const { changeLocal } = useI18nContext();\n const username = localStorage.getItem(\"pawsql-user\");\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {username ? (\n \n ) : (\n \n )}\n \n \n \n \n \n );\n};\n\nexport default Header;\n","import React, { useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\n\nimport { PageTitle } from \"components\";\nimport { FormPageContent } from \"components/WorkspaceBlocks\";\nimport HeadTitle from \"components/HeadTitle\";\n\nimport { getNowFormattedDate } from \"utils/myDateUtils\";\nimport { DocumentationWrapper } from \"views/Workspace/DocumentationLayout\";\n\nimport { useExplainState } from \"../AllExplainPage/ExplainContext\";\nimport { ExplainForm } from \"./component/ExplianForm\";\nimport Header from \"./component/Header\";\nimport { CreateExplainProvider } from \"./CreateExplainContext\";\n\nconst CreateExplainPage: React.FC = () => {\n const { mode } = useExplainState();\n const [databaseType, setDatabaseType] = useState(\n localStorage.getItem(\"explain-databaseType\") !== null\n ? (localStorage.getItem(\"explain-databaseType\") as string)\n : \"postgres\"\n );\n const [explainFormat, setExplainFormat] = useState(\n localStorage.getItem(\"explain-format\") !== null ? (localStorage.getItem(\"explain-format\") as string) : \"tree\"\n );\n\n const dateTime = getNowFormattedDate();\n\n const [explainName, setExplainName] = useState(\"Explain_\" + dateTime);\n const [explainSource, setExplainSource] = useState(\"\");\n const [querySource, setQuerySource] = useState(\"\");\n\n return (\n \n \n \n {mode === \"no-logged\" &&
    }\n } />\n \n \n \n
    \n \n );\n};\n\nexport default CreateExplainPage;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport Spinner from \"components/Spinner\";\n\nexport interface FeedbackBlockProps {\n isLoading?: boolean;\n successMessage?: React.ReactNode;\n errorMessage?: React.ReactNode;\n}\n\nconst SuccessBlock = styled.div`\n margin: -10px 10px;\n color: ${({ theme }) => theme.successColor};\n font-size: 13px;\n line-height: 16px;\n display: inline-block;\n vertical-align: middle;\n`;\n\nconst ErrorBlock = styled(SuccessBlock)`\n color: ${({ theme }) => theme.dangerColor};\n`;\n\nconst FeedbackBlock: React.FC = ({ isLoading, errorMessage, successMessage }) => {\n if (isLoading) {\n return (\n \n \n \n );\n }\n\n if (errorMessage) {\n return {errorMessage};\n }\n\n if (successMessage) {\n return {successMessage};\n }\n\n return null;\n};\n\nexport default FeedbackBlock;\n","import { faLink } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React, { useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { useCopyToClipboard } from \"react-use\";\n\nimport { Button } from \"components\";\nimport ToolTip from \"components/ToolTip\";\n\nimport FeedbackBlock from \"pages/SettingsPage/components/FeedbackBlock\";\n\ninterface Props {\n content: string;\n title?: string;\n}\n\nexport const CopyToClipButton: React.FC = ({ content, title }) => {\n const [successMessage, setSuccessMessage] = useState(null);\n const [, copyToClipboard] = useCopyToClipboard();\n\n const onCopyLink = async () => {\n setSuccessMessage(null);\n\n await copyToClipboard(content);\n\n setSuccessMessage();\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n };\n\n return (\n \n \n \n }\n >\n \n \n \n );\n};\n","import * as React from \"react\";\n\ninterface InProps {\n readonly onKeyDown?: React.KeyboardEventHandler;\n}\n\ninterface Callbacks {\n readonly onEscape?: (event: React.KeyboardEvent) => void;\n readonly onEnter?: (event: React.KeyboardEvent) => void;\n}\n\nexport default function withKeystrokeHandler(\n WrapperComponent: React.FC\n): React.FC {\n const result: React.FC = (props) => {\n const { onEscape, onEnter, ...restProps } = props;\n\n const onKeyDown = (event: React.KeyboardEvent): void => {\n if (event.key === \"Escape\" && onEscape) {\n onEscape(event);\n }\n\n if (event.key === \"Enter\" && onEnter) {\n onEnter(event);\n }\n\n if (props.onKeyDown) {\n props.onKeyDown(event);\n }\n };\n\n return ;\n };\n\n result.displayName = `${WrapperComponent.displayName}WithKeystrokeHandler`;\n\n return result;\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"ExplainName_container__QPNMG\",\"textContainer\":\"ExplainName_textContainer__XRL-3\",\"nameContainer\":\"ExplainName_nameContainer__5DJKj ExplainName_textContainer__XRL-3\",\"icon\":\"ExplainName_icon__ZOq10\",\"editingContainer\":\"ExplainName_editingContainer__srxyk ExplainName_textContainer__XRL-3\",\"inputContainer\":\"ExplainName_inputContainer__2Eg+J\",\"input\":\"ExplainName_input__Cz1Fa\"};","import React from \"react\";\n\nimport StepsMenu from \"components/StepsMenu\";\n\nexport enum PlanStepsTypes {\n BEFORE = \"before\",\n AFTER = \"after\",\n COMPARE = \"compare\",\n}\ninterface IProps {\n currentStep: string;\n setCurrentStep: (step: string) => void;\n steps: {\n id: PlanStepsTypes;\n name: string;\n }[];\n}\n\nconst QueryExplainItemTabs: React.FC = ({ currentStep, setCurrentStep, steps }) => {\n return ;\n};\n\nexport default QueryExplainItemTabs;\n","import { faPenToSquare } from \"@fortawesome/free-regular-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React, { ChangeEvent, useEffect, useState } from \"react\";\n\nimport { Input } from \"components\";\n\nimport { ExplainRead } from \"core/request/PawsqlClient\";\nimport { useUpdateExplain } from \"hooks/services/useExplainHook\";\nimport withKeystrokeHandler from \"utils/withKeystrokeHandler\";\n\nimport { useExplainState } from \"../ExplainContext\";\nimport styles from \"./ExplainName.module.scss\";\n\ninterface ExplainNameProps {\n explain: ExplainRead;\n}\n\nconst InputWithKeystroke = withKeystrokeHandler(Input);\n\nconst ExplainName: React.FC = ({ explain }) => {\n const { explainName: name } = explain;\n\n const { mode } = useExplainState();\n const [editingState, setEditingState] = useState(false);\n\n const [loading, setLoading] = useState(false);\n\n const [explainName, setExplainName] = useState(explain.explainName);\n\n useEffect(() => {\n setExplainName(name);\n }, [name]);\n\n const [explainNameBackup, setExplainNameBackup] = useState(explainName);\n\n const { mutateAsync: updateExplain } = useUpdateExplain();\n\n const inputChange = (event: ChangeEvent) => {\n setExplainName(event.target.value);\n };\n\n const onEscape: React.KeyboardEventHandler = (event) => {\n event.stopPropagation();\n setEditingState(false);\n setExplainName(name);\n };\n\n const onEnter: React.KeyboardEventHandler = async (event) => {\n event.stopPropagation();\n await updateExplainAsync();\n };\n\n const onBlur = async () => {\n await updateExplainAsync();\n };\n\n const updateExplainAsync = async () => {\n const explainNameTrimmed = explainName?.trim();\n if (!explainNameTrimmed || explain.explainName === explainNameTrimmed) {\n setExplainName(explainNameTrimmed);\n setEditingState(false);\n return;\n }\n try {\n setLoading(true);\n if (mode === \"logged\") {\n await updateExplain({ explainId: explain.explainId, explainName: explainNameTrimmed });\n }\n\n setExplainName(explainNameTrimmed);\n setExplainNameBackup(explainNameTrimmed);\n } catch (e) {\n console.error(e.message);\n setExplainName(explainNameBackup);\n } finally {\n setLoading(false);\n }\n\n setEditingState(false);\n };\n\n return (\n
    \n {editingState ? (\n
    \n
    \n \n
    \n
    \n ) : (\n
    setEditingState(true)}>\n
    \n

    {explainName}

    \n
    \n \n
    \n )}\n
    \n );\n};\n\nexport default ExplainName;\n","import { FormattedMessage, useIntl } from \"react-intl\";\nimport { Link, useParams, useNavigate } from \"react-router-dom\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\nimport { CopyToClipButton } from \"components/base/Button/CopyToClipButton\";\nimport { MainContainer } from \"components/PageTitle/PageTitle\";\n\nimport { useI18nContext } from \"core/i18n\";\nimport { ExplainRead } from \"core/request/PawsqlClient\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\n\nimport ExplainName from \"../components/ExplainName\";\nimport { useExplainState } from \"../ExplainContext\";\n\ninterface Prop {\n title?: string;\n handleNewClick?: () => void;\n // handleSaveClick?: () => void;\n hideSave?: boolean;\n explain?: ExplainRead;\n}\n\nconst LanguageChangeButton = styled(Button)`\n font-style: normal;\n font-weight: bold;\n color: ${({ theme }) => theme.BackLink};\n\n &:hover {\n opacity: 0.8;\n }\n`;\n\n// const FormLink = styled.div`\n// font-size: 11px;\n// line-height: 13px;\n// color: ${({ theme }) => theme.darkGreyColor};\n// `;\n\nconst TextBlock = styled.div`\n display: inline-block;\n`;\n\n// export const EndBlock = styled.div`\n// flex: 1 0 0;\n// display: flex;\n// justify-content: flex-end;\n// `;\n\n// const Content = styled.div`\n// max-width: 90%;\n// margin: 10px auto;\n// `;\n\nconst Logo = styled.img`\n display: block;\n`;\n\nexport const MainLayout: React.FC = ({ explain, title, handleNewClick, children }) => {\n const { formatMessage } = useIntl();\n const { mode } = useExplainState();\n const { pathname } = useRouter();\n const navigate = useNavigate();\n\n const handleGoBack = () => {\n navigate(-1);\n };\n const params = useParams<{\n explainId: string;\n }>();\n\n const shareLink = `${window.location.origin}${RoutePaths.Static}${RoutePaths.Explain}/${params.explainId || \"\"}`;\n\n const { locale } = useIntl();\n const isEn = locale === \"en\";\n const { changeLocal } = useI18nContext();\n const username = localStorage.getItem(\"pawsql-user\");\n\n return (\n
    \n \n {mode === \"logged\" ? (\n \n ) : (\n <>\n \n \n \n \n \n \n \n \n \n )}\n {explain ? (\n pathname.includes(RoutePaths.Static) ? (\n
    \n \n
    \n ) : (\n
    \n \n
    \n )\n ) : (\n
    {title}
    \n )}\n \n {!pathname.startsWith(`${RoutePaths.Static}${RoutePaths.Explain}`) &&\n !pathname.endsWith(RoutePaths.Details) && (\n \n )}\n {pathname.startsWith(`${RoutePaths.Static}${RoutePaths.Explain}`) &&\n (username ? (\n \n {username}\n \n ) : (\n \n \n \n ))}\n
    \n {children}\n
    \n );\n};\n","import { useEffect, useState } from \"react\";\n\nimport Plan from \"components/pev2/components/Plan\";\n\nimport { ExplainRead } from \"core/request/PawsqlClient\";\nimport { useGetExplain } from \"hooks/services/useExplainHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { isDefined } from \"utils/common\";\n\nimport { useExplainState } from \"../ExplainContext\";\nimport { MainLayout } from \"../layouts/MainLayout\";\n\nexport const DynamicPlanView: React.FC<{ explainId: string }> = ({ explainId }) => {\n const { mode, user, planData } = useExplainState();\n\n const { push } = useRouter();\n\n const handleNewClick = () => {\n // 清空列表\n if (mode === \"logged\") {\n push(`../${RoutePaths.ExplainNew}`);\n } else {\n push(`./..`);\n }\n };\n\n const [explain, setExplain] = useState({\n explainId: explainId || \"\",\n explainName: planData[2],\n explainSource: planData[0],\n querySource: planData[1],\n databaseType: planData[3],\n explainFormat: planData[4],\n createUserId: user?.userId || \"\",\n createUserName: user?.userName || \"\",\n });\n\n const { data: explainResult } = useGetExplain(explainId);\n\n useEffect(() => {\n if (!isDefined(explainResult.explainId)) {\n push(\"..\");\n }\n\n setExplain(explainResult);\n }, [useGetExplain, setExplain, push, explainResult]);\n\n return (\n \n {explain.explainSource && }\n \n );\n};\n","import { useEffect, useState } from \"react\";\n\nimport Plan from \"components/pev2/components/Plan\";\n\nimport { ExplainRead } from \"core/request/PawsqlClient\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { isNotBlank } from \"utils/common\";\n\nimport { useExplainState } from \"../ExplainContext\";\nimport { MainLayout } from \"../layouts/MainLayout\";\n\nexport const StaticPlanView: React.FC = () => {\n const { mode, user, planData } = useExplainState();\n\n const { push } = useRouter();\n\n const handleNewClick = () => {\n // 清空列表\n if (mode === \"logged\") {\n push(`../${RoutePaths.ExplainNew}`);\n } else {\n push(`./..`);\n }\n };\n\n const [explain, setExplain] = useState({\n explainId: \"\",\n explainName: planData[2],\n explainSource: planData[0],\n querySource: planData[1],\n databaseType: planData[3],\n explainFormat: planData[4],\n createUserId: user?.userId || \"\",\n createUserName: user?.userName || \"\",\n });\n\n useEffect(() => {\n if (!isNotBlank(localStorage.getItem(\"explainSource\"))) {\n push(\"..\");\n }\n\n setExplain({\n ...explain,\n explainSource: localStorage.getItem(\"explainSource\") || \"\",\n querySource: localStorage.getItem(\"querySource\") || \"\",\n explainName: localStorage.getItem(\"explainName\") || \"\",\n explainFormat: localStorage.getItem(\"explainFormat\") || \"\",\n databaseType: localStorage.getItem(\"databaseType\") || \"\",\n });\n }, []);\n\n return (\n \n {explain.explainSource && }\n \n );\n};\n","import ExplainItemPage from \"./ExplainItemPage\";\n\nexport default ExplainItemPage;\n","import React, { Suspense } from \"react\";\nimport { useParams } from \"react-router-dom\";\n\nimport { LoadingPage } from \"components\";\n\nimport { DynamicPlanView } from \"../AllExplainPage/views/DynamicPlanView\";\nimport { StaticPlanView } from \"../AllExplainPage/views/StaticPlanView\";\n\nconst ExplainItemPage: React.FC = () => {\n const params = useParams<{\n explainId: string;\n }>();\n\n return (\n }>\n {params.explainId ? : }\n \n );\n};\n\nexport default ExplainItemPage;\n","import { faBan, faBarsStaggered, faClock, faHourglass } from \"@fortawesome/free-solid-svg-icons\";\nimport * as d3 from \"d3\";\nimport { flextree, type FlexHierarchyPointLink, type FlexHierarchyPointNode } from \"d3-flextree\";\nimport _, { isNaN } from \"lodash\";\nimport { SetStateAction, useCallback, useEffect, useLayoutEffect, useRef, useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { useToggle } from \"react-use\";\nimport styled from \"styled-components\";\n\nimport { Cell, Row } from \"components\";\nimport { ToolTipButton } from \"components/base/Button/ToolTipButton\";\n\nimport { SlowQueryDetail } from \"core/request/PawsqlClient\";\nimport { isNotBlank } from \"utils/common\";\n\nimport { HighlightType, NodeProp } from \"../enums\";\nimport { IPlan, IPlanContent, IPlanStats, Node, ViewOptions } from \"../interfaces\";\nimport { PlanService } from \"../services/plan-service\";\nimport \"./Plan.scss\";\nimport { getPlanState } from \"./Plan\";\nimport { PlanProvider } from \"./PlanContext\";\nimport PlanNode from \"./PlanNode\";\n\nconst ButtonCell = styled(Cell)`\n &:last-child {\n text-align: left;\n }\n padding-left: 11px;\n height: 9px;\n`;\n\ninterface Props {\n details: SlowQueryDetail;\n}\n\nconst SlowQueryPlanCompare: React.FC = ({ details }) => {\n const { validationDetails, stmtText } = details;\n\n let contentBefore = \"\";\n let contentAfter = \"\";\n contentBefore += stmtText;\n let sqls: string[] = [];\n details.rewrittenQuery.forEach((item) => {\n const temp = JSON.parse(item.rewrittenQueriesStr) as Array;\n sqls = sqls.concat(temp);\n });\n\n if (sqls && sqls.length > 0) {\n // todo 这里是否要把所有重写的sql都展示,因为有重复的\n // sqls.map((item, index) => {\n // contentBefore += \"-- original sql \\n\" + stmtText + \"\\n\\n\";\n // contentAfter += \"-- rewritten sql \" + (index + 1) + \"\\n\" + item + \"\\n\\n\";\n // });\n\n contentAfter += sqls[0];\n }\n\n const { beforePlan, afterPlan } = validationDetails;\n\n const { formatMessage } = useIntl();\n const [init, toggleInit] = useToggle(false);\n const [render, toggleRender] = useToggle(false);\n\n const rootEl = useRef(null); // The root Element of this instance\n\n const [validationMessageOri, setValidationMessageOri] = useState(\"\");\n const [validationMessageNew, setValidationMessageNew] = useState(\"\");\n\n const [selectedNodeIdOri, setSelectedNodeIdOri] = useState(NaN);\n const [selectedNodeIdNew, setSelectedNodeIdNew] = useState(NaN);\n\n const [highlightedNodeIdOri, setHighlightedNodeIdOri] = useState();\n const [highlightedNodeIdNew, setHighlightedNodeIdNew] = useState();\n\n const [diagramWidth, setDiagramWidth] = useState(50);\n\n const [viewOptionsOri, setViewOptionsOri] = useState({\n menuHidden: true,\n showHighlightBar: false,\n showPlanStats: true,\n highlightType: HighlightType.DURATION,\n diagramWidth: 50,\n });\n\n const [viewOptionsNew, setViewOptionsNew] = useState({\n menuHidden: true,\n showHighlightBar: false,\n showPlanStats: true,\n highlightType: HighlightType.DURATION,\n diagramWidth: 50,\n });\n\n const planOri = useRef();\n const planNew = useRef();\n\n const planElOri = useRef(null);\n const planElNew = useRef(null);\n\n const planStatsOri = useRef({} as IPlanStats);\n const planStatsNew = useRef({} as IPlanStats);\n\n const rootNodeOri = useRef(new Node());\n const rootNodeNew = useRef(new Node());\n\n //3d的函数flextree\n\n const layout = flextree({\n nodeSize: (node: FlexHierarchyPointNode) => {\n if (node.data.size) {\n return [node.data.size[0], node.data.size[1] + padding];\n }\n return [0, 0];\n },\n spacing: (nodeA: FlexHierarchyPointNode, nodeB: FlexHierarchyPointNode) =>\n Math.pow(nodeA.path(nodeB).length, 1.5),\n });\n\n const treeOri = useRef(layout.hierarchy({}));\n const treeNew = useRef(layout.hierarchy({}));\n\n const planService = new PlanService();\n\n // Vertical padding between 2 nodes in the tree layout\n const padding = 40;\n\n const [transformOri, setTransformOri] = useState(\"\");\n const [transformNew, setTransformNew] = useState(\"\");\n\n const scaleOri = useRef(1);\n const scaleNew = useRef(1);\n\n const edgeWeightOri = d3\n .scaleLinear()\n .domain([0, planStatsOri.current.maxRows])\n .range([1, padding / 1.5]);\n\n const edgeWeightNew = d3\n .scaleLinear()\n .domain([0, planStatsNew.current.maxRows])\n .range([1, padding / 1.5]);\n\n const minScale = 0.2;\n\n const zoomListenerOri = d3\n .zoom()\n .scaleExtent([minScale, 3])\n .on(\"zoom\", (e) => {\n setTransformOri(e.transform);\n scaleOri.current = e.transform.k;\n });\n\n const zoomListenerNew = d3\n .zoom()\n .scaleExtent([minScale, 3])\n .on(\"zoom\", (e) => {\n setTransformNew(e.transform);\n scaleNew.current = e.transform.k;\n });\n\n const layoutRootNodeOri = useRef>(layout.hierarchy({}));\n const layoutRootNodeNew = useRef>(layout.hierarchy({}));\n\n const ctesOri = useRef[]>([]);\n const ctesNew = useRef[]>([]);\n\n const [toCteLinksOri, setToCteLinksOri] = useState[]>([]);\n const [toCteLinksNew, setToCteLinksNew] = useState[]>([]);\n\n const nodeArrayOri = useRef([]);\n const nodeArrayNew = useRef([]);\n\n //开始初始化操作\n useEffect(() => {\n let currentPlanOri: IPlan;\n let currentPlanNew: IPlan;\n\n let planJsonOri: IPlanContent;\n let planJsonNew: IPlanContent;\n\n try {\n planJsonOri = planService.fromSource(beforePlan, formatMessage({ id: \"plan.parse.error\" })) as IPlanContent;\n setValidationMessageOri(\"\");\n } catch (e) {\n setValidationMessageOri(formatMessage({ id: \"explain.parse.error\" }));\n planOri.current = undefined;\n return;\n }\n\n try {\n planJsonNew = planService.fromSource(afterPlan, formatMessage({ id: \"plan.parse.error\" })) as IPlanContent;\n setValidationMessageNew(\"\");\n } catch (e) {\n setValidationMessageNew(formatMessage({ id: \"explain.parse.error\" }));\n planNew.current = undefined;\n return;\n }\n\n //初始化rootNode为解析出来的对象中的值\n rootNodeOri.current = planJsonOri.Plan;\n rootNodeNew.current = planJsonNew.Plan;\n\n currentPlanOri = planService.createPlan(\"\", planJsonOri, contentBefore, formatMessage({ id: \"plan.parse.error\" }));\n currentPlanNew = planService.createPlan(\n \"\",\n planJsonNew,\n isNotBlank(contentAfter) ? contentAfter : contentBefore,\n formatMessage({ id: \"plan.parse.error\" })\n );\n\n const contentOri = currentPlanOri!.content;\n const contentNew = currentPlanNew!.content;\n\n //3d layout.hierarchy 初始化tree\n treeOri.current = layout.hierarchy(planJsonOri.Plan, (v: Node) => v.Plans);\n treeNew.current = layout.hierarchy(planJsonNew.Plan, (v: Node) => v.Plans);\n\n layoutRootNodeOri.current = layout(layout.hierarchy(planJsonOri.Plan, (v: Node) => v.Plans));\n layoutRootNodeNew.current = layout(layout.hierarchy(planJsonNew.Plan, (v: Node) => v.Plans));\n\n const descendantsOri = layoutRootNodeOri.current.descendants();\n const descendantsNew = layoutRootNodeNew.current.descendants();\n\n descendantsOri.forEach((node) => {\n const nodeId = node.data.nodeId;\n nodeArrayOri.current[nodeId - 1] = node.data;\n });\n descendantsNew.forEach((node) => {\n const nodeId = node.data.nodeId;\n nodeArrayNew.current[nodeId - 1] = node.data;\n });\n\n const currentPlanStatsOri = getPlanState(planJsonOri, planStatsOri.current, rootNodeOri.current, contentOri);\n const currentPlanStatsNew = getPlanState(planJsonNew, planStatsNew.current, rootNodeNew.current, contentNew);\n\n // const currentPlanStatsOri = {\n // ...planStatsOri.current,\n // executionTime:\n // rootNodeOri.current.databaseType === \"mysql\"\n // ? rootNodeOri.current[NodeProp.ACTUAL_TOTAL_TIME] || NaN\n // : (contentOri[\"Execution Time\"] as number) || (contentOri[\"Total Runtime\"] as number) || NaN,\n // planningTime: (contentOri[\"Planning Time\"] as number) || NaN,\n // planCost:\n // rootNodeOri.current.databaseType === \"mysql\"\n // ? rootNodeOri.current[NodeProp.TOTAL_COST] ||\n // (rootNodeOri.current.Plans\n // ? layoutRootNodeOri.current.descendants().find((item) => !!item.data[NodeProp.TOTAL_COST])?.data[\n // NodeProp.TOTAL_COST\n // ]\n // : NaN) ||\n // NaN\n // : NaN,\n // maxRows: contentOri.maxRows || NaN,\n // maxRowsNodeId: contentOri.maxRowsNodeId || NaN,\n // maxCost: contentOri.maxCost || NaN,\n // maxCostNodeId: contentOri.maxCostNodeId || NaN,\n // maxDuration: contentOri.maxDuration || NaN,\n // maxDurationNodeId: contentOri.maxDurationNodeId || NaN,\n // maxBlocks: contentOri.maxBlocks || ({} as IBlocksStats),\n // maxIo: contentOri.maxIo || NaN,\n // triggers: contentOri.Triggers || [],\n // jitTime: (contentOri.JIT && contentOri.JIT.Timing && contentOri.JIT.Timing.Total) || NaN,\n // settings: contentOri.Settings as Settings,\n // };\n\n // const currentPlanStatsNew = {\n // ...planStatsNew.current,\n // executionTime:\n // rootNodeNew.current.databaseType === \"mysql\"\n // ? rootNodeNew.current[NodeProp.ACTUAL_TOTAL_TIME] || NaN\n // : (contentNew[\"Execution Time\"] as number) || (contentNew[\"Total Runtime\"] as number) || NaN,\n // planningTime: (contentNew[\"Planning Time\"] as number) || NaN,\n // planCost:\n // rootNodeNew.current.databaseType === \"mysql\"\n // ? rootNodeNew.current[NodeProp.TOTAL_COST] ||\n // (rootNodeNew.current.Plans\n // ? layoutRootNodeNew.current.descendants().find((item) => !!item.data[NodeProp.TOTAL_COST])?.data[\n // NodeProp.TOTAL_COST\n // ]\n // : NaN) ||\n // NaN\n // : NaN,\n // maxRows: contentNew.maxRows || NaN,\n // maxRowsNodeId: contentNew.maxRowsNodeId || NaN,\n // maxCost: contentNew.maxCost || NaN,\n // maxCostNodeId: contentNew.maxCostNodeId || NaN,\n // maxDuration: contentNew.maxDuration || NaN,\n // maxDurationNodeId: contentNew.maxDurationNodeId || NaN,\n // maxBlocks: contentNew.maxBlocks || ({} as IBlocksStats),\n // maxIo: contentNew.maxIo || NaN,\n // triggers: contentNew.Triggers || [],\n // jitTime: (contentNew.JIT && contentNew.JIT.Timing && contentNew.JIT.Timing.Total) || NaN,\n // settings: contentNew.Settings as Settings,\n // };\n\n planStatsOri.current = currentPlanStatsOri;\n planStatsNew.current = currentPlanStatsNew;\n\n currentPlanOri = { ...currentPlanOri!, planStats: currentPlanStatsOri };\n currentPlanNew = { ...currentPlanNew!, planStats: currentPlanStatsNew };\n\n planOri.current = currentPlanOri;\n planNew.current = currentPlanNew;\n\n const currentCtesOri: FlexHierarchyPointNode[] = [];\n const currentCtesNew: FlexHierarchyPointNode[] = [];\n\n _.each(currentPlanOri!.ctes, (cte) => {\n const tree = layout.hierarchy(cte, (v: Node) => v.Plans);\n currentCtesOri.push(tree);\n });\n\n _.each(currentPlanNew!.ctes, (cte) => {\n const tree = layout.hierarchy(cte, (v: Node) => v.Plans);\n currentCtesNew.push(tree);\n });\n\n ctesOri.current = currentCtesOri;\n ctesNew.current = currentCtesNew;\n\n doLayoutOri();\n doLayoutNew();\n\n // return () => {\n // clearTimeout(timeout);\n // window.removeEventListener(\"hashchange\", onHashChange);\n // };\n }, []);\n\n const doLayoutOri = () => {\n layoutRootNodeOri.current = layout(treeOri.current);\n const mainLayoutExtent = getLayoutExtent(layoutRootNodeOri.current);\n const offset: [number, number] = [mainLayoutExtent[0], mainLayoutExtent[3] + padding];\n\n _.each(ctesOri.current, (tree) => {\n const cteRootNode = layout(tree);\n const currentCteExtent = getLayoutExtent(cteRootNode);\n const currentWidth = currentCteExtent[1] - currentCteExtent[0];\n cteRootNode.each((node) => {\n node.x += offset[0] - currentCteExtent[0];\n node.y += offset[1];\n });\n offset[0] += currentWidth + padding * 2;\n });\n\n // compute links from node to CTE\n const toCteLinksTemp: SetStateAction[]> = [];\n _.each(layoutRootNodeOri.current?.descendants(), (source) => {\n if (_.has(source.data, NodeProp.CTE_NAME)) {\n const cte = _.find(ctesOri.current, (cteNode) => {\n return cteNode.data[NodeProp.SUBPLAN_NAME] == \"CTE \" + source.data[NodeProp.CTE_NAME];\n });\n if (cte) {\n toCteLinksTemp.push({\n source: source,\n target: cte,\n });\n }\n }\n });\n // compute links from node in CTE to other CTE\n _.each(ctesOri.current, (cte) => {\n _.each(cte.descendants(), (sourceCte) => {\n if (_.has(sourceCte.data, NodeProp.CTE_NAME)) {\n const targetCte = _.find(ctesOri.current, (cteNode) => {\n return cteNode.data[NodeProp.SUBPLAN_NAME] == \"CTE \" + sourceCte.data[NodeProp.CTE_NAME];\n });\n if (targetCte) {\n toCteLinksTemp.push({\n source: sourceCte,\n target: targetCte,\n });\n }\n }\n });\n });\n setToCteLinksOri(toCteLinksTemp);\n };\n\n const doLayoutNew = () => {\n layoutRootNodeNew.current = layout(treeNew.current);\n const mainLayoutExtent = getLayoutExtent(layoutRootNodeNew.current);\n const offset: [number, number] = [mainLayoutExtent[0], mainLayoutExtent[3] + padding];\n\n _.each(ctesNew.current, (tree) => {\n const cteRootNode = layout(tree);\n const currentCteExtent = getLayoutExtent(cteRootNode);\n const currentWidth = currentCteExtent[1] - currentCteExtent[0];\n cteRootNode.each((node) => {\n node.x += offset[0] - currentCteExtent[0];\n node.y += offset[1];\n });\n offset[0] += currentWidth + padding * 2;\n });\n\n // compute links from node to CTE\n const toCteLinksTemp: SetStateAction[]> = [];\n _.each(layoutRootNodeNew.current?.descendants(), (source) => {\n if (_.has(source.data, NodeProp.CTE_NAME)) {\n const cte = _.find(ctesNew.current, (cteNode) => {\n return cteNode.data[NodeProp.SUBPLAN_NAME] == \"CTE \" + source.data[NodeProp.CTE_NAME];\n });\n if (cte) {\n toCteLinksTemp.push({\n source: source,\n target: cte,\n });\n }\n }\n });\n // compute links from node in CTE to other CTE\n _.each(ctesNew.current, (cte) => {\n _.each(cte.descendants(), (sourceCte) => {\n if (_.has(sourceCte.data, NodeProp.CTE_NAME)) {\n const targetCte = _.find(ctesNew.current, (cteNode) => {\n return cteNode.data[NodeProp.SUBPLAN_NAME] == \"CTE \" + sourceCte.data[NodeProp.CTE_NAME];\n });\n if (targetCte) {\n toCteLinksTemp.push({\n source: sourceCte,\n target: targetCte,\n });\n }\n }\n });\n });\n setToCteLinksNew(toCteLinksTemp);\n };\n\n useLayoutEffect(() => {\n // 在组件渲染后调用d3.select和zoomListener\n let timeoutOri: string | number | NodeJS.Timeout | undefined;\n let timeoutNew: string | number | NodeJS.Timeout | undefined;\n if (planElOri.current) {\n d3.select(planElOri.current as unknown as Element)?.call(zoomListenerOri as any);\n timeoutOri = setTimeout(() => {\n if (layoutRootNodeOri.current) {\n const extent = getLayoutExtent(layoutRootNodeOri.current);\n const x0 = extent[0];\n const y0 = extent[2];\n const x1 = extent[1];\n const y1 = extent[3];\n const rect = (planElOri.current as unknown as HTMLDivElement)?.getBoundingClientRect();\n\n if (rect) {\n d3.select(planElOri.current as unknown as Element)\n .transition()\n .call(\n zoomListenerOri.transform,\n d3.zoomIdentity\n .translate(rect.width / 2, 10)\n .scale(\n Math.min(1, Math.max(minScale, 0.8 / Math.max((x1 - x0) / rect.width, (y1 - y0) / rect.height)))\n )\n .translate(-(x0 + x1) / 2, 10)\n );\n }\n }\n }, 0);\n }\n if (planElNew.current) {\n d3.select(planElNew.current as unknown as Element)?.call(zoomListenerNew as any);\n timeoutNew = setTimeout(() => {\n if (layoutRootNodeNew.current) {\n const extent = getLayoutExtent(layoutRootNodeNew.current);\n const x0 = extent[0];\n const y0 = extent[2];\n const x1 = extent[1];\n const y1 = extent[3];\n const rect = (planElNew.current as unknown as HTMLDivElement)?.getBoundingClientRect();\n\n if (rect) {\n d3.select(planElNew.current as unknown as Element)\n .transition()\n .call(\n zoomListenerNew.transform,\n d3.zoomIdentity\n .translate(rect.width / 2, 10)\n .scale(\n Math.min(1, Math.max(minScale, 0.8 / Math.max((x1 - x0) / rect.width, (y1 - y0) / rect.height)))\n )\n .translate(-(x0 + x1) / 2, 10)\n );\n }\n }\n }, 0);\n }\n return () => {\n clearTimeout(timeoutOri);\n clearTimeout(timeoutNew);\n };\n }, []);\n\n const lineGen = useCallback((link: FlexHierarchyPointLink) => {\n const source = link.source;\n const target = link.target;\n const k = Math.abs(target.y - (source.y + source.ySize) - padding);\n const path = d3.path();\n path.moveTo(source.x, source.y);\n path.lineTo(source.x, source.y + source.ySize - padding);\n path.bezierCurveTo(\n source.x,\n source.y + source.ySize - padding + k / 2,\n target.x,\n target.y - k / 2,\n target.x,\n target.y\n );\n\n return path.toString();\n }, []);\n\n const selectNodeOri = (nodeId: number, center: boolean): void => {\n center = !!center;\n setSelectedNodeIdOri(nodeId);\n if (center) {\n centerNodeOri(nodeId);\n }\n //todo 选中对应的新节点\n const currentNode = nodeArrayOri.current[nodeId - 1];\n const node = nodeArrayNew.current.find(\n (item) => item.nodeId === nodeId && item[\"Node Type\"] === currentNode[\"Node Type\"]\n );\n if (node) {\n setSelectedNodeIdNew(node.nodeId);\n centerNodeNew(node.nodeId);\n }\n };\n\n const selectNodeNew = (nodeId: number, center: boolean): void => {\n center = !!center;\n setSelectedNodeIdNew(nodeId);\n if (center) {\n centerNodeNew(nodeId);\n }\n //todo 选中对应的老节点\n const currentNode = nodeArrayNew.current[nodeId - 1];\n const node = nodeArrayOri.current.find(\n (item) => item.nodeId === nodeId && item[\"Node Type\"] === currentNode[\"Node Type\"]\n );\n if (node) {\n setSelectedNodeIdOri(nodeId);\n centerNodeOri(nodeId);\n }\n };\n\n function centerNodeOri(nodeId: number): void {\n const rect = (planElOri.current as unknown as HTMLDivElement)?.getBoundingClientRect();\n const treeNode = findTreeNodeOri(nodeId);\n if (!treeNode) {\n return;\n }\n let x = -treeNode[\"x\"];\n let y = -treeNode[\"y\"];\n const k = scaleOri.current;\n x = x * k + rect.width / 2;\n y = y * k + rect.height / 2;\n\n d3.select(planElOri.current as unknown as Element)\n .transition()\n .duration(500)\n .call(zoomListenerOri.transform, d3.zoomIdentity.translate(x, y).scale(k));\n }\n\n function centerNodeNew(nodeId: number): void {\n const rect = (planElNew.current as unknown as HTMLDivElement)?.getBoundingClientRect();\n const treeNode = findTreeNodeNew(nodeId);\n if (!treeNode) {\n return;\n }\n let x = -treeNode[\"x\"];\n let y = -treeNode[\"y\"];\n const k = scaleNew.current;\n x = x * k + rect.width / 2;\n y = y * k + rect.height / 2;\n\n d3.select(planElNew.current as unknown as Element)\n .transition()\n .duration(500)\n .call(zoomListenerNew.transform, d3.zoomIdentity.translate(x, y).scale(k));\n }\n\n function findTreeNodeOri(nodeId: number) {\n const trees = [layoutRootNodeOri.current].concat(ctesOri.current);\n let found: undefined | FlexHierarchyPointNode = undefined;\n _.each(trees, (tree) => {\n found = _.find(tree?.descendants(), (o) => o.data.nodeId == nodeId);\n return !found;\n });\n\n return found;\n }\n function findTreeNodeNew(nodeId: number) {\n const trees = [layoutRootNodeNew.current].concat(ctesNew.current);\n let found: undefined | FlexHierarchyPointNode = undefined;\n _.each(trees, (tree) => {\n found = _.find(tree?.descendants(), (o) => o.data.nodeId == nodeId);\n return !found;\n });\n\n return found;\n }\n\n function getLayoutExtent(layoutRootNode: FlexHierarchyPointNode): [number, number, number, number] {\n const minX =\n _.min(\n _.map(layoutRootNode.descendants(), (childNode) => {\n return childNode.x - childNode.xSize / 2;\n })\n ) || 0;\n\n const maxX =\n _.max(\n _.map(layoutRootNode.descendants(), (childNode) => {\n return childNode.x + childNode.xSize / 2;\n })\n ) || 0;\n\n const minY =\n _.min(\n _.map(layoutRootNode.descendants(), (childNode) => {\n return childNode.y;\n })\n ) || 0;\n\n const maxY =\n _.max(\n _.map(layoutRootNode.descendants(), (childNode) => {\n return childNode.y + childNode.ySize;\n })\n ) || 0;\n\n return [minX, maxX, minY, maxY];\n }\n\n function isNeverExecutedOri(node: Node): boolean {\n return planStatsOri.current && !!planStatsOri.current.executionTime && !node[NodeProp.ACTUAL_LOOPS];\n }\n\n function isNeverExecutedNew(node: Node): boolean {\n return planStatsNew.current && !!planStatsNew.current.executionTime && !node[NodeProp.ACTUAL_LOOPS];\n }\n\n const [sizeData, setSizeData] = useState<[number, number][]>([]);\n\n useEffect(() => {\n let newSizeData: [number, number][] = [];\n newSizeData = newSizeData.concat(\n treeOri.current.descendants().map((item: { data: { size: [number, number] } }) => item.data.size)\n );\n newSizeData = newSizeData.concat(\n treeNew.current.descendants().map((item: { data: { size: [number, number] } }) => item.data.size)\n );\n _.each(ctesOri.current, (tree) => {\n newSizeData = newSizeData.concat(tree.descendants().map((item) => item.data.size));\n });\n _.each(ctesNew.current, (tree) => {\n newSizeData = newSizeData.concat(tree.descendants().map((item) => item.data.size));\n });\n setSizeData(sizeData && newSizeData && arraysEqual(newSizeData, sizeData) ? sizeData : newSizeData);\n }, [treeOri, treeNew, ctesOri, ctesNew]);\n\n function arraysEqual(arr1: [number, number][], arr2: [number, number][]) {\n // 如果两个数组的长度不同,直接返回false\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n // 循环比较两个数组中的每一个元素\n for (let i = 0; i < arr1.length; i++) {\n if (arr1[i] && arr2[i]) {\n const [x1, y1] = arr1[i];\n const [x2, y2] = arr2[i];\n\n // 如果两个元素中的数字不相等,返回false\n if (x1 !== x2 || y1 !== y2) {\n return false;\n }\n } else {\n return false;\n }\n }\n\n // 所有元素都相等,返回true\n return true;\n }\n\n useEffect(() => {\n setTimeout(() => {\n doLayoutOri();\n doLayoutNew();\n toggleInit(true);\n }, 1);\n }, [sizeData, render]);\n\n function updateNodeSizeOri(node: Node, size: [number, number]) {\n node.size = [size[0] / scaleOri.current, size[1] / scaleOri.current];\n\n return node;\n }\n\n function updateNodeSizeNew(node: Node, size: [number, number]) {\n node.size = [size[0] / scaleNew.current, size[1] / scaleNew.current];\n\n return node;\n }\n\n const handleMouseDown = (e: React.MouseEvent) => {\n const initialPos = e.clientX;\n const target = e.target as HTMLDivElement;\n // const splitterSize = target.offsetWidth;\n const splitterRect = target.getBoundingClientRect();\n const parentRect = target.parentElement?.getBoundingClientRect();\n let splitterSize = (window.innerWidth - 80) * 0.8 + 80;\n if (parentRect?.left) {\n splitterSize = splitterRect.left - parentRect?.left;\n }\n const containerSize = target?.parentElement?.offsetWidth;\n\n const handleMouseMove = (e: MouseEvent) => {\n const currentPos = e.clientX;\n const delta = currentPos - initialPos;\n let newSize = 78;\n if (containerSize) {\n newSize = ((splitterSize + delta) / containerSize) * 100;\n }\n setDiagramWidth(newSize);\n };\n\n const handleMouseUp = () => {\n document.removeEventListener(\"mousemove\", handleMouseMove);\n document.removeEventListener(\"mouseup\", handleMouseUp);\n };\n\n document.addEventListener(\"mousemove\", handleMouseMove);\n document.addEventListener(\"mouseup\", handleMouseUp);\n };\n\n let planState: any[] = [];\n\n !!planOri.current?.planStats.executionTime &&\n planState.push(\n
    \n {`${planOri.current?.planStats.executionTime} vs ${planNew.current?.planStats.executionTime}`}\n {formatMessage({ id: \"pev2.plan.executionTime\" })}\n
    \n );\n !!planOri.current?.planStats.planningTime &&\n planState.push(\n
    \n {`${planOri.current?.planStats.planningTime} vs ${planNew.current?.planStats.planningTime}`}\n {formatMessage({ id: \"pev2.plan.planningTime\" })}\n
    \n );\n !!planOri.current?.planStats.planCost &&\n planState.push(\n
    \n {`${planOri.current?.planStats.planCost} vs ${planNew.current?.planStats.planCost}`}\n {formatMessage({ id: \"pev2.plan.planCost\" })}\n
    \n );\n !!planOri.current?.planStats.maxDuration &&\n planState.push(\n {\n selectNodeOri(planOri.current?.planStats.maxDurationNodeId || NaN, true);\n selectNodeNew(planNew.current?.planStats.maxDurationNodeId || NaN, true);\n }}\n >\n {`${planOri.current?.planStats.maxDuration} vs ${planNew.current?.planStats.maxDuration}`}\n {formatMessage({ id: \"pev2.plan.solwestNode\" })}\n \n );\n !!planOri.current?.planStats.maxRows &&\n planState.push(\n {\n selectNodeOri(planOri.current?.planStats.maxRowsNodeId || NaN, true);\n selectNodeNew(planNew.current?.planStats.maxRowsNodeId || NaN, true);\n }}\n >\n {`${planOri.current?.planStats.maxRows} vs ${\n planNew.current?.planStats.maxRows && !isNaN(planNew.current?.planStats.maxRows)\n ? planNew.current?.planStats.maxRows\n : 0\n }`}\n {formatMessage({ id: \"pev2.plan.largestNode\" })}\n \n );\n !!planOri.current?.planStats.maxCost &&\n planState.push(\n {\n selectNodeOri(planOri.current?.planStats.maxCostNodeId || NaN, true);\n selectNodeNew(planNew.current?.planStats.maxCostNodeId || NaN, true);\n }}\n >\n {`${planOri.current?.planStats.maxCost.toFixed(\n 3\n )} vs ${planNew.current?.planStats.maxCost.toFixed(3)}`}\n {formatMessage({ id: \"pev2.plan.costliestNode\" })}\n \n );\n planState = planState.length > 3 ? planState.slice(0, 3) : planState;\n\n return (\n
    \n
    \n {planOri.current && viewOptionsOri.showPlanStats && (\n
    \n {planState.map((item) => {\n return item;\n })}\n
    \n )}\n
    \n\n \n \n }\n onClick={() => {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.NONE,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.NONE,\n });\n }}\n icon={faBan}\n >\n }\n onClick={() => {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.DURATION,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.DURATION,\n });\n }}\n disable={!planOri.current?.isAnalyze || !planNew.current?.isAnalyze}\n icon={faClock}\n >\n }\n onClick={() => {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.ROWS,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.ROWS,\n });\n }}\n disable={\n !rootNodeOri.current ||\n rootNodeOri.current[NodeProp.ACTUAL_ROWS] === undefined ||\n !rootNodeNew.current ||\n rootNodeNew.current[NodeProp.ACTUAL_ROWS] === undefined\n }\n icon={faBarsStaggered}\n >\n }\n onClick={() => {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.COST,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.COST,\n });\n }}\n icon={faHourglass}\n >\n \n \n\n {/*
    \n \n
    \n
    \n {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.NONE,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.NONE,\n });\n }}\n >\n {formatMessage({ id: \"pev2.plan.viewoption.none\" })}\n \n {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.DURATION,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.DURATION,\n });\n }}\n disabled={!planOri.current?.isAnalyze || !planNew.current?.isAnalyze}\n >\n {formatMessage({ id: \"pev2.plan.viewoption.duration\" })}\n \n {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.ROWS,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.ROWS,\n });\n }}\n disabled={\n !rootNodeOri.current ||\n rootNodeOri.current[NodeProp.ACTUAL_ROWS] === undefined ||\n !rootNodeNew.current ||\n rootNodeNew.current[NodeProp.ACTUAL_ROWS] === undefined\n }\n >\n {formatMessage({ id: \"pev2.plan.viewoption.rows\" })}\n \n {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.COST,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.COST,\n });\n }}\n >\n {formatMessage({ id: \"pev2.plan.viewoption.cost\" })}\n \n
    \n
    \n
    */}\n
    \n
    \n {/* Plan tab */}\n
    \n
    \n
    \n
    \n {!validationMessageOri && (\n \n \n {validationMessageOri && (\n
    \n
    {validationMessageOri}
    \n
    \n )}\n \n \n {/* Links */}\n {toCteLinksOri.map((link, index) => (\n \n ))}\n {layoutRootNodeOri.current?.links().map((link, index) => {\n return (\n \n );\n })}\n {layoutRootNodeOri.current?.descendants().map((item, index) => {\n return (\n \n
    \n \n
    \n \n );\n })}\n {ctesOri.current.map((cte) => {\n const layoutExtent = getLayoutExtent(cte);\n return (\n \n \n {cte.links().map((link, index) => (\n \n ))}\n {cte.descendants().map((item, index) => (\n \n
    \n \n
    \n \n ))}\n
    \n );\n })}\n \n \n
    \n \n )}\n
    \n {!validationMessageNew && (\n \n \n {validationMessageNew && (\n
    \n
    {validationMessageNew}
    \n
    \n )}\n \n \n {/* Links */}\n {toCteLinksNew.map((link, index) => (\n \n ))}\n {layoutRootNodeNew.current?.links().map((link, index) => {\n return (\n \n );\n })}\n {layoutRootNodeNew.current?.descendants().map((item, index) => {\n return (\n \n
    \n \n
    \n \n );\n })}\n {ctesNew.current.map((cte) => {\n const layoutExtent = getLayoutExtent(cte);\n return (\n \n \n {cte.links().map((link, index) => (\n \n ))}\n {cte.descendants().map((item, index) => (\n \n
    \n \n
    \n \n ))}\n
    \n );\n })}\n \n \n
    \n \n )}\n
    \n
    \n
    \n {/* end Plan tab */}\n
    \n
    \n
    \n \n );\n};\n\nexport default SlowQueryPlanCompare;\n","import React from \"react\";\n\nimport StepsMenu from \"components/StepsMenu\";\n\nexport enum PlanStepsTypes {\n BEFORE = \"before\",\n AFTER = \"after\",\n COMPARE = \"compare\",\n}\ninterface IProps {\n currentStep: string;\n setCurrentStep: (step: string) => void;\n steps: {\n id: PlanStepsTypes;\n name: string;\n }[];\n}\n\nconst QueryExplainItemTabs: React.FC = ({ currentStep, setCurrentStep, steps }) => {\n return ;\n};\n\nexport default QueryExplainItemTabs;\n","import queryString from \"query-string\";\nimport React, { useEffect, useState } from \"react\";\nimport { useIntl } from \"react-intl\";\n// import { useNavigate } from \"react-router\";\nimport styled from \"styled-components\";\n\nimport { H3, PageTitle } from \"components\";\nimport HeadTitle from \"components/HeadTitle\";\nimport Plan from \"components/pev2/components/Plan\";\nimport SlowQueryPlanCompare from \"components/pev2/components/SlowQueryPlanCompare\";\n\nimport { useGetSlowQueryDetails } from \"hooks/services/useSlowQueryHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { isDefined, isNotBlank } from \"utils/common\";\n\nimport QueryExplainItemTabs, { PlanStepsTypes } from \"./component/QueryExplainItemTabs\";\n\nexport const Title = styled(H3)<{ light?: boolean; center?: boolean }>`\n padding: 0 7px 17px;\n font-weight: 600;\n letter-spacing: 0.008em;\n border-radius: 4px;\n`;\n\n// const hasShowAfterExplainBtn = (state: unknown): state is { showAfterExplainBtn: boolean } => {\n// return (\n// typeof state === \"object\" &&\n// state !== null &&\n// typeof (state as { showAfterExplainBtn?: boolean }).showAfterExplainBtn === \"boolean\"\n// );\n// };\n\nconst SlowQueryExplainPage: React.FC = () => {\n const { push, params, location } = useRouter<{ slowQueryId: string; \"*\": string }>();\n\n const showAfterExplainBtn = queryString.parse(location.search).showAfterExplainBtn;\n\n const [planPhase, setPlanPhase] = useState(\n showAfterExplainBtn ? PlanStepsTypes.COMPARE : PlanStepsTypes.BEFORE\n );\n\n const { formatMessage } = useIntl();\n\n // const navigate = useNavigate();\n\n // const handleGoBack = () => {\n // navigate(-1);\n // };\n\n const onSelectStep = (id: string) => {\n // push(\n // {},\n // {\n // state: {\n // ...(location.state as Record),\n // planStepsTypes: id,\n // },\n // }\n // );\n setPlanPhase(id as PlanStepsTypes);\n };\n\n const slowQueryId = params.slowQueryId || \"\";\n\n const { data: details } = useGetSlowQueryDetails(slowQueryId);\n\n useEffect(() => {\n if (!isDefined(slowQueryId) || !isDefined(details)) {\n push(\"..\");\n }\n }, [slowQueryId, details, push]);\n\n const steps = showAfterExplainBtn\n ? [\n {\n id: PlanStepsTypes.BEFORE,\n name: formatMessage({\n id: \"explain.before\",\n }),\n },\n {\n id: PlanStepsTypes.COMPARE,\n name: formatMessage({\n id: \"explain.compare\",\n }),\n },\n {\n id: PlanStepsTypes.AFTER,\n name: formatMessage({\n id: \"explain.after\",\n }),\n },\n ]\n : [\n {\n id: PlanStepsTypes.BEFORE,\n name: formatMessage({\n id: \"explain.before\",\n }),\n },\n ];\n\n let contentBefore = \"\";\n let contentAfter = \"\";\n contentBefore += details.stmtText;\n let sqls: string[] = [];\n details.rewrittenQuery.forEach((item) => {\n const temp = JSON.parse(item.rewrittenQueriesStr) as Array;\n sqls = sqls.concat(temp);\n });\n\n if (sqls && sqls.length > 0) {\n // todo 这里是否要把所有重写的sql都展示,因为有重复的\n // sqls.map((item, index) => {\n // contentBefore += \"-- original sql \\n\" + stmtText + \"\\n\\n\";\n // contentAfter += \"-- rewritten sql \" + (index + 1) + \"\\n\" + item + \"\\n\\n\";\n // });\n\n contentAfter += sqls[0];\n }\n\n return (\n <>\n \n \n // {formatMessage({ id: \"explains.analysis.link\" })}\n // \n <>\n }\n middleComponent={\n
    \n {`${details.analysisName}`}\n \n
    \n }\n />\n {planPhase === PlanStepsTypes.BEFORE && params.slowQueryId && (\n \n )}\n {planPhase === PlanStepsTypes.AFTER && params.slowQueryId && (\n \n )}\n {planPhase === PlanStepsTypes.COMPARE && params.slowQueryId && }\n \n );\n};\n\nexport default SlowQueryExplainPage;\n","import SlowQueryExplainPage from \"./SlowQueryExplainPage\";\n\nexport default SlowQueryExplainPage;\n","import { faBan, faBarsStaggered, faClock, faHourglass } from \"@fortawesome/free-solid-svg-icons\";\nimport * as d3 from \"d3\";\nimport { flextree, type FlexHierarchyPointLink, type FlexHierarchyPointNode } from \"d3-flextree\";\nimport _, { isNaN } from \"lodash\";\nimport { SetStateAction, useCallback, useEffect, useLayoutEffect, useRef, useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { useToggle } from \"react-use\";\nimport styled from \"styled-components\";\n\nimport { Cell, Row } from \"components\";\nimport { ToolTipButton } from \"components/base/Button/ToolTipButton\";\n\nimport { StatementDetail } from \"core/request/PawsqlClient\";\nimport { isNotBlank } from \"utils/common\";\n\nimport { HighlightType, NodeProp } from \"../enums\";\nimport { IPlan, IPlanContent, IPlanStats, Node, ViewOptions } from \"../interfaces\";\nimport { PlanService } from \"../services/plan-service\";\nimport \"./Plan.scss\";\nimport { getPlanState } from \"./Plan\";\nimport { PlanProvider } from \"./PlanContext\";\nimport PlanNode from \"./PlanNode\";\n\nconst ButtonCell = styled(Cell)`\n &:last-child {\n text-align: left;\n }\n padding-left: 11px;\n height: 9px;\n`;\n\ninterface Props {\n details: StatementDetail;\n}\n\nconst PlanCompare: React.FC = ({ details }) => {\n const { validationDetails, stmtText } = details;\n\n let contentBefore = \"\";\n let contentAfter = \"\";\n contentBefore += stmtText;\n let sqls: string[] = [];\n details.rewrittenQuery.forEach((item) => {\n const temp = JSON.parse(item.rewrittenQueriesStr) as Array;\n sqls = sqls.concat(temp);\n });\n\n if (sqls && sqls.length > 0) {\n // todo 这里是否要把所有重写的sql都展示,因为有重复的\n // sqls.map((item, index) => {\n // contentBefore += \"-- original sql \\n\" + stmtText + \"\\n\\n\";\n // contentAfter += \"-- rewritten sql \" + (index + 1) + \"\\n\" + item + \"\\n\\n\";\n // });\n\n contentAfter += sqls[0];\n }\n\n const { beforePlan, afterPlan } = validationDetails;\n\n const { formatMessage } = useIntl();\n const [init, toggleInit] = useToggle(false);\n const [render, toggleRender] = useToggle(false);\n\n const rootEl = useRef(null); // The root Element of this instance\n\n const [validationMessageOri, setValidationMessageOri] = useState(\"\");\n const [validationMessageNew, setValidationMessageNew] = useState(\"\");\n\n const [selectedNodeIdOri, setSelectedNodeIdOri] = useState(NaN);\n const [selectedNodeIdNew, setSelectedNodeIdNew] = useState(NaN);\n\n const [highlightedNodeIdOri, setHighlightedNodeIdOri] = useState();\n const [highlightedNodeIdNew, setHighlightedNodeIdNew] = useState();\n\n const [diagramWidth, setDiagramWidth] = useState(50);\n\n const [viewOptionsOri, setViewOptionsOri] = useState({\n menuHidden: true,\n showHighlightBar: false,\n showPlanStats: true,\n highlightType: HighlightType.DURATION,\n diagramWidth: 50,\n });\n\n const [viewOptionsNew, setViewOptionsNew] = useState({\n menuHidden: true,\n showHighlightBar: false,\n showPlanStats: true,\n highlightType: HighlightType.DURATION,\n diagramWidth: 50,\n });\n\n const planOri = useRef();\n const planNew = useRef();\n\n const planElOri = useRef(null);\n const planElNew = useRef(null);\n\n const planStatsOri = useRef({} as IPlanStats);\n const planStatsNew = useRef({} as IPlanStats);\n\n const rootNodeOri = useRef(new Node());\n const rootNodeNew = useRef(new Node());\n\n //3d的函数flextree\n\n const layout = flextree({\n nodeSize: (node: FlexHierarchyPointNode) => {\n if (node.data.size) {\n return [node.data.size[0], node.data.size[1] + padding];\n }\n return [0, 0];\n },\n spacing: (nodeA: FlexHierarchyPointNode, nodeB: FlexHierarchyPointNode) =>\n Math.pow(nodeA.path(nodeB).length, 1.5),\n });\n\n const treeOri = useRef(layout.hierarchy({}));\n const treeNew = useRef(layout.hierarchy({}));\n\n const planService = new PlanService();\n\n // Vertical padding between 2 nodes in the tree layout\n const padding = 40;\n\n const [transformOri, setTransformOri] = useState(\"\");\n const [transformNew, setTransformNew] = useState(\"\");\n\n const scaleOri = useRef(1);\n const scaleNew = useRef(1);\n\n const edgeWeightOri = d3\n .scaleLinear()\n .domain([0, planStatsOri.current.maxRows])\n .range([1, padding / 1.5]);\n\n const edgeWeightNew = d3\n .scaleLinear()\n .domain([0, planStatsNew.current.maxRows])\n .range([1, padding / 1.5]);\n\n const minScale = 0.2;\n\n const zoomListenerOri = d3\n .zoom()\n .scaleExtent([minScale, 3])\n .on(\"zoom\", (e) => {\n setTransformOri(e.transform);\n scaleOri.current = e.transform.k;\n });\n\n const zoomListenerNew = d3\n .zoom()\n .scaleExtent([minScale, 3])\n .on(\"zoom\", (e) => {\n setTransformNew(e.transform);\n scaleNew.current = e.transform.k;\n });\n\n const layoutRootNodeOri = useRef>(layout.hierarchy({}));\n const layoutRootNodeNew = useRef>(layout.hierarchy({}));\n\n const ctesOri = useRef[]>([]);\n const ctesNew = useRef[]>([]);\n const stagesOri = useRef[]>([]);\n const stagesNew = useRef[]>([]);\n\n const [toCteLinksOri, setToCteLinksOri] = useState[]>([]);\n const [toCteLinksNew, setToCteLinksNew] = useState[]>([]);\n const [toStageLinksOri, setToStageLinksOri] = useState[]>([]);\n const [toStageLinksNew, setToStageLinksNew] = useState[]>([]);\n\n const nodeArrayOri = useRef([]);\n const nodeArrayNew = useRef([]);\n\n //开始初始化操作\n useEffect(() => {\n let currentPlanOri: IPlan;\n let currentPlanNew: IPlan;\n\n let planJsonOri: IPlanContent;\n let planJsonNew: IPlanContent;\n\n try {\n planJsonOri = planService.fromSource(beforePlan, formatMessage({ id: \"plan.parse.error\" })) as IPlanContent;\n setValidationMessageOri(\"\");\n } catch (e) {\n setValidationMessageOri(formatMessage({ id: \"explain.parse.error\" }));\n planOri.current = undefined;\n return;\n }\n\n try {\n planJsonNew = planService.fromSource(afterPlan, formatMessage({ id: \"plan.parse.error\" })) as IPlanContent;\n setValidationMessageNew(\"\");\n } catch (e) {\n setValidationMessageNew(formatMessage({ id: \"explain.parse.error\" }));\n planNew.current = undefined;\n return;\n }\n\n //初始化rootNode为解析出来的对象中的值\n rootNodeOri.current = planJsonOri.Plan;\n rootNodeNew.current = planJsonNew.Plan;\n\n currentPlanOri = planService.createPlan(\"\", planJsonOri, contentBefore, formatMessage({ id: \"plan.parse.error\" }));\n currentPlanNew = planService.createPlan(\n \"\",\n planJsonNew,\n isNotBlank(contentAfter) ? contentAfter : contentBefore,\n formatMessage({ id: \"plan.parse.error\" })\n );\n\n const contentOri = currentPlanOri!.content;\n const contentNew = currentPlanNew!.content;\n\n //3d layout.hierarchy 初始化tree\n treeOri.current = layout.hierarchy(planJsonOri.Plan, (v: Node) => v.Plans);\n treeNew.current = layout.hierarchy(planJsonNew.Plan, (v: Node) => v.Plans);\n\n layoutRootNodeOri.current = layout(layout.hierarchy(planJsonOri.Plan, (v: Node) => v.Plans));\n layoutRootNodeNew.current = layout(layout.hierarchy(planJsonNew.Plan, (v: Node) => v.Plans));\n\n const descendantsOri = layoutRootNodeOri.current.descendants();\n const descendantsNew = layoutRootNodeNew.current.descendants();\n\n descendantsOri.forEach((node) => {\n const nodeId = node.data.nodeId;\n nodeArrayOri.current[nodeId - 1] = node.data;\n });\n descendantsNew.forEach((node) => {\n const nodeId = node.data.nodeId;\n nodeArrayNew.current[nodeId - 1] = node.data;\n });\n\n const currentPlanStatsOri = getPlanState(planJsonOri, planStatsOri.current, rootNodeOri.current, contentOri);\n const currentPlanStatsNew = getPlanState(planJsonNew, planStatsNew.current, rootNodeNew.current, contentNew);\n\n // const currentPlanStatsOri = {\n // ...planStatsOri.current,\n // executionTime:\n // rootNodeOri.current.databaseType === \"mysql\"\n // ? rootNodeOri.current[NodeProp.ACTUAL_TOTAL_TIME] || NaN\n // : (contentOri[\"Execution Time\"] as number) || (contentOri[\"Total Runtime\"] as number) || NaN,\n // planningTime: (contentOri[\"Planning Time\"] as number) || NaN,\n // planCost:\n // rootNodeOri.current.databaseType === \"mysql\"\n // ? rootNodeOri.current[NodeProp.TOTAL_COST] ||\n // (rootNodeOri.current.Plans\n // ? layoutRootNodeOri.current.descendants().find((item) => !!item.data[NodeProp.TOTAL_COST])?.data[\n // NodeProp.TOTAL_COST\n // ]\n // : NaN) ||\n // NaN\n // : NaN,\n // maxRows: contentOri.maxRows || NaN,\n // maxRowsNodeId: contentOri.maxRowsNodeId || NaN,\n // maxCost: contentOri.maxCost || NaN,\n // maxCostNodeId: contentOri.maxCostNodeId || NaN,\n // maxDuration: contentOri.maxDuration || NaN,\n // maxDurationNodeId: contentOri.maxDurationNodeId || NaN,\n // maxBlocks: contentOri.maxBlocks || ({} as IBlocksStats),\n // maxIo: contentOri.maxIo || NaN,\n // triggers: contentOri.Triggers || [],\n // jitTime: (contentOri.JIT && contentOri.JIT.Timing && contentOri.JIT.Timing.Total) || NaN,\n // settings: contentOri.Settings as Settings,\n // };\n\n // const currentPlanStatsNew = {\n // ...planStatsNew.current,\n // executionTime:\n // rootNodeNew.current.databaseType === \"mysql\"\n // ? rootNodeNew.current[NodeProp.ACTUAL_TOTAL_TIME] || NaN\n // : (contentNew[\"Execution Time\"] as number) || (contentNew[\"Total Runtime\"] as number) || NaN,\n // planningTime: (contentNew[\"Planning Time\"] as number) || NaN,\n // planCost:\n // rootNodeNew.current.databaseType === \"mysql\"\n // ? rootNodeNew.current[NodeProp.TOTAL_COST] ||\n // (rootNodeNew.current.Plans\n // ? layoutRootNodeNew.current.descendants().find((item) => !!item.data[NodeProp.TOTAL_COST])?.data[\n // NodeProp.TOTAL_COST\n // ]\n // : NaN) ||\n // NaN\n // : NaN,\n // maxRows: contentNew.maxRows || NaN,\n // maxRowsNodeId: contentNew.maxRowsNodeId || NaN,\n // maxCost: contentNew.maxCost || NaN,\n // maxCostNodeId: contentNew.maxCostNodeId || NaN,\n // maxDuration: contentNew.maxDuration || NaN,\n // maxDurationNodeId: contentNew.maxDurationNodeId || NaN,\n // maxBlocks: contentNew.maxBlocks || ({} as IBlocksStats),\n // maxIo: contentNew.maxIo || NaN,\n // triggers: contentNew.Triggers || [],\n // jitTime: (contentNew.JIT && contentNew.JIT.Timing && contentNew.JIT.Timing.Total) || NaN,\n // settings: contentNew.Settings as Settings,\n // };\n\n planStatsOri.current = currentPlanStatsOri;\n planStatsNew.current = currentPlanStatsNew;\n\n currentPlanOri = { ...currentPlanOri!, planStats: currentPlanStatsOri };\n currentPlanNew = { ...currentPlanNew!, planStats: currentPlanStatsNew };\n\n planOri.current = currentPlanOri;\n planNew.current = currentPlanNew;\n\n const currentCtesOri: FlexHierarchyPointNode[] = [];\n const currentCtesNew: FlexHierarchyPointNode[] = [];\n const currentStagesOri: FlexHierarchyPointNode[] = [];\n const currentStagesNew: FlexHierarchyPointNode[] = [];\n\n _.each(currentPlanOri!.ctes, (cte) => {\n const tree = layout.hierarchy(cte, (v: Node) => v.Plans);\n currentCtesOri.push(tree);\n });\n\n _.each(currentPlanNew!.ctes, (cte) => {\n const tree = layout.hierarchy(cte, (v: Node) => v.Plans);\n currentCtesNew.push(tree);\n });\n\n _.each(currentPlanOri!.stages, (stage) => {\n const tree = layout.hierarchy(stage, (v: Node) => v.Plans);\n currentStagesOri.push(tree);\n });\n\n _.each(currentPlanNew!.stages, (stage) => {\n const tree = layout.hierarchy(stage, (v: Node) => v.Plans);\n currentStagesNew.push(tree);\n });\n\n ctesOri.current = currentCtesOri;\n ctesNew.current = currentCtesNew;\n stagesOri.current = currentStagesOri;\n stagesNew.current = currentStagesNew;\n\n doLayoutOri();\n doLayoutNew();\n\n // return () => {\n // clearTimeout(timeout);\n // window.removeEventListener(\"hashchange\", onHashChange);\n // };\n }, []);\n\n const doLayoutOri = () => {\n layoutRootNodeOri.current = layout(treeOri.current);\n const mainLayoutExtent = getLayoutExtent(layoutRootNodeOri.current);\n const offset: [number, number] = [mainLayoutExtent[0], mainLayoutExtent[3] + padding];\n\n _.each(ctesOri.current, (tree) => {\n const cteRootNode = layout(tree);\n const currentCteExtent = getLayoutExtent(cteRootNode);\n const currentWidth = currentCteExtent[1] - currentCteExtent[0];\n cteRootNode.each((node) => {\n node.x += offset[0] - currentCteExtent[0];\n node.y += offset[1];\n });\n offset[0] += currentWidth + padding * 2;\n });\n\n const stageLevelOffsetMapOri = new Map();\n\n const stagePlans = planOri.current?.content.stagePlans;\n // const stagePlansMap = new Map((stagePlans ?? []).map((stage) => [stage.stageName, stage]));\n\n _.each(stagesOri.current, (tree) => {\n const currentStageName = tree.data[\"Subplan Name\"];\n const stagePlan = stagePlans?.find((item) => currentStageName?.endsWith(item.stageName));\n const stageRootNode = layout(tree);\n\n const currentStageExtent = getLayoutExtent(stageRootNode);\n const currentHeight = currentStageExtent[3] - currentStageExtent[2];\n const currentWidth = currentStageExtent[1] - currentStageExtent[0];\n stageRootNode.each((node) => {\n if (stagePlan?.level && stageLevelOffsetMapOri.has(stagePlan?.level)) {\n node.x += stageLevelOffsetMapOri.get(stagePlan?.level)![0] - currentStageExtent[0];\n node.y += stageLevelOffsetMapOri.get(stagePlan?.level)![1];\n } else {\n node.x += offset[0] - currentStageExtent[0];\n node.y += offset[1];\n }\n });\n\n if (stagePlan?.level && stageLevelOffsetMapOri.has(stagePlan?.level)) {\n stageLevelOffsetMapOri.set(stagePlan?.level, [\n stageLevelOffsetMapOri.get(stagePlan?.level)![0] + currentWidth + padding * 2,\n stageLevelOffsetMapOri.get(stagePlan?.level)![1],\n ]);\n } else {\n stageLevelOffsetMapOri.set(stagePlan?.level, [offset[0] + currentWidth + padding * 2, offset[1]]);\n offset[1] += currentHeight + padding * 2;\n }\n });\n\n // compute links from node to CTE\n const toCteLinksTemp: SetStateAction[]> = [];\n _.each(layoutRootNodeOri.current?.descendants(), (source) => {\n if (_.has(source.data, NodeProp.CTE_NAME)) {\n const cte = _.find(ctesOri.current, (cteNode) => {\n return cteNode.data[NodeProp.SUBPLAN_NAME] == \"CTE \" + source.data[NodeProp.CTE_NAME];\n });\n if (cte) {\n toCteLinksTemp.push({\n source: source,\n target: cte,\n });\n }\n }\n });\n // compute links from node in CTE to other CTE\n _.each(ctesOri.current, (cte) => {\n _.each(cte.descendants(), (sourceCte) => {\n if (_.has(sourceCte.data, NodeProp.CTE_NAME)) {\n const targetCte = _.find(ctesOri.current, (cteNode) => {\n return cteNode.data[NodeProp.SUBPLAN_NAME] == \"CTE \" + sourceCte.data[NodeProp.CTE_NAME];\n });\n if (targetCte) {\n toCteLinksTemp.push({\n source: sourceCte,\n target: targetCte,\n });\n }\n }\n });\n });\n setToCteLinksOri(toCteLinksTemp);\n const toStageLinksTempOri: SetStateAction[]> = [];\n _.each(stagesOri.current, (stage) => {\n const currentStagePlan = stagePlans?.find(\n (item) =>\n stage.data[NodeProp.SUBPLAN_NAME] &&\n item.parentStageList.length > 0 &&\n stage.data[NodeProp.SUBPLAN_NAME] === \"STAGE \" + item.stageName\n );\n\n currentStagePlan?.parentStageList.map((parentStageName) => {\n const parentStage = _.find(stagesOri.current, (stageNode) => {\n return stageNode.data[NodeProp.SUBPLAN_NAME] === \"STAGE \" + parentStageName;\n });\n\n if (parentStage) {\n toStageLinksTempOri.push({\n source: stage,\n target: parentStage,\n });\n }\n });\n });\n setToStageLinksOri(toStageLinksTempOri);\n };\n\n const doLayoutNew = () => {\n layoutRootNodeNew.current = layout(treeNew.current);\n const mainLayoutExtent = getLayoutExtent(layoutRootNodeNew.current);\n const offset: [number, number] = [mainLayoutExtent[0], mainLayoutExtent[3] + padding];\n\n _.each(ctesNew.current, (tree) => {\n const cteRootNode = layout(tree);\n const currentCteExtent = getLayoutExtent(cteRootNode);\n const currentWidth = currentCteExtent[1] - currentCteExtent[0];\n cteRootNode.each((node) => {\n node.x += offset[0] - currentCteExtent[0];\n node.y += offset[1];\n });\n offset[0] += currentWidth + padding * 2;\n });\n\n const stageLevelOffsetMapNew = new Map();\n\n const stagePlans = planNew.current?.content.stagePlans;\n // const stagePlansMap = new Map((stagePlans ?? []).map((stage) => [stage.stageName, stage]));\n\n _.each(stagesNew.current, (tree) => {\n const currentStageName = tree.data[\"Subplan Name\"];\n const stagePlan = stagePlans?.find((item) => currentStageName?.endsWith(item.stageName));\n const stageRootNode = layout(tree);\n\n const currentStageExtent = getLayoutExtent(stageRootNode);\n const currentHeight = currentStageExtent[3] - currentStageExtent[2];\n const currentWidth = currentStageExtent[1] - currentStageExtent[0];\n stageRootNode.each((node) => {\n if (stagePlan?.level && stageLevelOffsetMapNew.has(stagePlan?.level)) {\n node.x += stageLevelOffsetMapNew.get(stagePlan?.level)![0] - currentStageExtent[0];\n node.y += stageLevelOffsetMapNew.get(stagePlan?.level)![1];\n } else {\n node.x += offset[0] - currentStageExtent[0];\n node.y += offset[1];\n }\n });\n\n if (stagePlan?.level && stageLevelOffsetMapNew.has(stagePlan?.level)) {\n stageLevelOffsetMapNew.set(stagePlan?.level, [\n stageLevelOffsetMapNew.get(stagePlan?.level)![0] + currentWidth + padding * 2,\n stageLevelOffsetMapNew.get(stagePlan?.level)![1],\n ]);\n } else {\n stageLevelOffsetMapNew.set(stagePlan?.level, [offset[0] + currentWidth + padding * 2, offset[1]]);\n offset[1] += currentHeight + padding * 2;\n }\n });\n // compute links from node to CTE\n const toCteLinksTemp: SetStateAction[]> = [];\n _.each(layoutRootNodeNew.current?.descendants(), (source) => {\n if (_.has(source.data, NodeProp.CTE_NAME)) {\n const cte = _.find(ctesNew.current, (cteNode) => {\n return cteNode.data[NodeProp.SUBPLAN_NAME] == \"CTE \" + source.data[NodeProp.CTE_NAME];\n });\n if (cte) {\n toCteLinksTemp.push({\n source: source,\n target: cte,\n });\n }\n }\n });\n // compute links from node in CTE to other CTE\n _.each(ctesNew.current, (cte) => {\n _.each(cte.descendants(), (sourceCte) => {\n if (_.has(sourceCte.data, NodeProp.CTE_NAME)) {\n const targetCte = _.find(ctesNew.current, (cteNode) => {\n return cteNode.data[NodeProp.SUBPLAN_NAME] == \"CTE \" + sourceCte.data[NodeProp.CTE_NAME];\n });\n if (targetCte) {\n toCteLinksTemp.push({\n source: sourceCte,\n target: targetCte,\n });\n }\n }\n });\n });\n setToCteLinksNew(toCteLinksTemp);\n\n // compute links from node in STAGE to other STAGE\n const toStageLinksTempNew: SetStateAction[]> = [];\n _.each(stagesNew.current, (stage) => {\n const currentStagePlan = stagePlans?.find(\n (item) =>\n stage.data[NodeProp.SUBPLAN_NAME] &&\n item.parentStageList.length > 0 &&\n stage.data[NodeProp.SUBPLAN_NAME] === \"STAGE \" + item.stageName\n );\n\n currentStagePlan?.parentStageList.map((parentStageName) => {\n const parentStage = _.find(stagesNew.current, (stageNode) => {\n return stageNode.data[NodeProp.SUBPLAN_NAME] === \"STAGE \" + parentStageName;\n });\n\n if (parentStage) {\n toStageLinksTempNew.push({\n source: stage,\n target: parentStage,\n });\n }\n });\n });\n setToStageLinksNew(toStageLinksTempNew);\n };\n\n useLayoutEffect(() => {\n // 在组件渲染后调用d3.select和zoomListener\n let timeoutOri: string | number | NodeJS.Timeout | undefined;\n let timeoutNew: string | number | NodeJS.Timeout | undefined;\n if (planElOri.current) {\n d3.select(planElOri.current as unknown as Element)?.call(zoomListenerOri as any);\n timeoutOri = setTimeout(() => {\n if (layoutRootNodeOri.current) {\n const extent = getLayoutExtent(layoutRootNodeOri.current);\n const x0 = extent[0];\n const y0 = extent[2];\n const x1 = extent[1];\n const y1 = extent[3];\n const rect = (planElOri.current as unknown as HTMLDivElement)?.getBoundingClientRect();\n\n if (rect) {\n d3.select(planElOri.current as unknown as Element)\n .transition()\n .call(\n zoomListenerOri.transform,\n d3.zoomIdentity\n .translate(rect.width / 2, 10)\n .scale(\n Math.min(1, Math.max(minScale, 0.8 / Math.max((x1 - x0) / rect.width, (y1 - y0) / rect.height)))\n )\n .translate(-(x0 + x1) / 2, 10)\n );\n }\n }\n }, 0);\n }\n if (planElNew.current) {\n d3.select(planElNew.current as unknown as Element)?.call(zoomListenerNew as any);\n timeoutNew = setTimeout(() => {\n if (layoutRootNodeNew.current) {\n const extent = getLayoutExtent(layoutRootNodeNew.current);\n const x0 = extent[0];\n const y0 = extent[2];\n const x1 = extent[1];\n const y1 = extent[3];\n const rect = (planElNew.current as unknown as HTMLDivElement)?.getBoundingClientRect();\n\n if (rect) {\n d3.select(planElNew.current as unknown as Element)\n .transition()\n .call(\n zoomListenerNew.transform,\n d3.zoomIdentity\n .translate(rect.width / 2, 10)\n .scale(\n Math.min(1, Math.max(minScale, 0.8 / Math.max((x1 - x0) / rect.width, (y1 - y0) / rect.height)))\n )\n .translate(-(x0 + x1) / 2, 10)\n );\n }\n }\n }, 0);\n }\n return () => {\n clearTimeout(timeoutOri);\n clearTimeout(timeoutNew);\n };\n }, []);\n\n const lineGen = useCallback((link: FlexHierarchyPointLink) => {\n const source = link.source;\n const target = link.target;\n const k = Math.abs(target.y - (source.y + source.ySize) - padding);\n const path = d3.path();\n path.moveTo(source.x, source.y);\n path.lineTo(source.x, source.y + source.ySize - padding);\n path.bezierCurveTo(\n source.x,\n source.y + source.ySize - padding + k / 2,\n target.x,\n target.y - k / 2,\n target.x,\n target.y\n );\n\n return path.toString();\n }, []);\n const stageLineGen = useCallback((link: FlexHierarchyPointLink) => {\n const source = link.source;\n const target = link.target;\n\n // 获取目标节点所在 stage 的底部坐标\n const [, , , targetStageMaxY] = getLayoutExtent(target);\n\n // const k = Math.abs(target.x - source.x);\n const path = d3.path();\n\n path.moveTo(target.x, targetStageMaxY - padding / 2);\n path.bezierCurveTo(target.x, source.y - padding, target.x, source.y - padding, source.x, source.y - padding);\n path.lineTo(source.x, source.y);\n\n return path.toString();\n }, []);\n\n const selectNodeOri = (nodeId: number, center: boolean): void => {\n center = !!center;\n setSelectedNodeIdOri(nodeId);\n if (center) {\n centerNodeOri(nodeId);\n }\n //todo 选中对应的新节点\n const currentNode = nodeArrayOri.current[nodeId - 1];\n const node = nodeArrayNew.current.find(\n (item) => item.nodeId === nodeId && item[\"Node Type\"] === currentNode[\"Node Type\"]\n );\n if (node) {\n setSelectedNodeIdNew(node.nodeId);\n centerNodeNew(node.nodeId);\n }\n };\n\n const selectNodeNew = (nodeId: number, center: boolean): void => {\n center = !!center;\n setSelectedNodeIdNew(nodeId);\n if (center) {\n centerNodeNew(nodeId);\n }\n //todo 选中对应的老节点\n const currentNode = nodeArrayNew.current[nodeId - 1];\n const node = nodeArrayOri.current.find(\n (item) => item.nodeId === nodeId && item[\"Node Type\"] === currentNode[\"Node Type\"]\n );\n if (node) {\n setSelectedNodeIdOri(nodeId);\n centerNodeOri(nodeId);\n }\n };\n\n function centerNodeOri(nodeId: number): void {\n const rect = (planElOri.current as unknown as HTMLDivElement)?.getBoundingClientRect();\n const treeNode = findTreeNodeOri(nodeId);\n if (!treeNode) {\n return;\n }\n let x = -treeNode[\"x\"];\n let y = -treeNode[\"y\"];\n const k = scaleOri.current;\n x = x * k + rect.width / 2;\n y = y * k + rect.height / 2;\n\n d3.select(planElOri.current as unknown as Element)\n .transition()\n .duration(500)\n .call(zoomListenerOri.transform, d3.zoomIdentity.translate(x, y).scale(k));\n }\n\n function centerNodeNew(nodeId: number): void {\n const rect = (planElNew.current as unknown as HTMLDivElement)?.getBoundingClientRect();\n const treeNode = findTreeNodeNew(nodeId);\n if (!treeNode) {\n return;\n }\n let x = -treeNode[\"x\"];\n let y = -treeNode[\"y\"];\n const k = scaleNew.current;\n x = x * k + rect.width / 2;\n y = y * k + rect.height / 2;\n\n d3.select(planElNew.current as unknown as Element)\n .transition()\n .duration(500)\n .call(zoomListenerNew.transform, d3.zoomIdentity.translate(x, y).scale(k));\n }\n\n function findTreeNodeOri(nodeId: number) {\n const trees = [layoutRootNodeOri.current].concat(ctesOri.current).concat(stagesOri.current);\n let found: undefined | FlexHierarchyPointNode = undefined;\n _.each(trees, (tree) => {\n found = _.find(tree?.descendants(), (o) => o.data.nodeId == nodeId);\n return !found;\n });\n\n return found;\n }\n function findTreeNodeNew(nodeId: number) {\n const trees = [layoutRootNodeNew.current].concat(ctesNew.current).concat(stagesNew.current);\n let found: undefined | FlexHierarchyPointNode = undefined;\n _.each(trees, (tree) => {\n found = _.find(tree?.descendants(), (o) => o.data.nodeId == nodeId);\n return !found;\n });\n\n return found;\n }\n\n function getLayoutExtent(layoutRootNode: FlexHierarchyPointNode): [number, number, number, number] {\n const minX =\n _.min(\n _.map(layoutRootNode.descendants(), (childNode) => {\n return childNode.x - childNode.xSize / 2;\n })\n ) || 0;\n\n const maxX =\n _.max(\n _.map(layoutRootNode.descendants(), (childNode) => {\n return childNode.x + childNode.xSize / 2;\n })\n ) || 0;\n\n const minY =\n _.min(\n _.map(layoutRootNode.descendants(), (childNode) => {\n return childNode.y;\n })\n ) || 0;\n\n const maxY =\n _.max(\n _.map(layoutRootNode.descendants(), (childNode) => {\n return childNode.y + childNode.ySize;\n })\n ) || 0;\n\n return [minX, maxX, minY, maxY];\n }\n\n function isNeverExecutedOri(node: Node): boolean {\n return planStatsOri.current && !!planStatsOri.current.executionTime && !node[NodeProp.ACTUAL_LOOPS];\n }\n\n function isNeverExecutedNew(node: Node): boolean {\n return planStatsNew.current && !!planStatsNew.current.executionTime && !node[NodeProp.ACTUAL_LOOPS];\n }\n\n const [sizeData, setSizeData] = useState<[number, number][]>([]);\n\n useEffect(() => {\n let newSizeData: [number, number][] = [];\n newSizeData = newSizeData.concat(\n treeOri.current.descendants().map((item: { data: { size: [number, number] } }) => item.data.size)\n );\n newSizeData = newSizeData.concat(\n treeNew.current.descendants().map((item: { data: { size: [number, number] } }) => item.data.size)\n );\n _.each(ctesOri.current, (tree) => {\n newSizeData = newSizeData.concat(tree.descendants().map((item) => item.data.size));\n });\n _.each(ctesNew.current, (tree) => {\n newSizeData = newSizeData.concat(tree.descendants().map((item) => item.data.size));\n });\n _.each(stagesOri.current, (tree) => {\n newSizeData = newSizeData.concat(tree.descendants().map((item) => item.data.size));\n });\n _.each(stagesNew.current, (tree) => {\n newSizeData = newSizeData.concat(tree.descendants().map((item) => item.data.size));\n });\n setSizeData(sizeData && newSizeData && arraysEqual(newSizeData, sizeData) ? sizeData : newSizeData);\n }, [treeOri, treeNew, ctesOri, ctesNew, stagesOri, stagesNew]);\n\n function arraysEqual(arr1: [number, number][], arr2: [number, number][]) {\n // 如果两个数组的长度不同,直接返回false\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n // 循环比较两个数组中的每一个元素\n for (let i = 0; i < arr1.length; i++) {\n if (arr1[i] && arr2[i]) {\n const [x1, y1] = arr1[i];\n const [x2, y2] = arr2[i];\n\n // 如果两个元素中的数字不相等,返回false\n if (x1 !== x2 || y1 !== y2) {\n return false;\n }\n } else {\n return false;\n }\n }\n\n // 所有元素都相等,返回true\n return true;\n }\n\n useEffect(() => {\n setTimeout(() => {\n doLayoutOri();\n doLayoutNew();\n toggleInit(true);\n }, 1);\n }, [sizeData, render]);\n\n function updateNodeSizeOri(node: Node, size: [number, number]) {\n node.size = [size[0] / scaleOri.current, size[1] / scaleOri.current];\n\n return node;\n }\n\n function updateNodeSizeNew(node: Node, size: [number, number]) {\n node.size = [size[0] / scaleNew.current, size[1] / scaleNew.current];\n\n return node;\n }\n\n const handleMouseDown = (e: React.MouseEvent) => {\n const initialPos = e.clientX;\n const target = e.target as HTMLDivElement;\n // const splitterSize = target.offsetWidth;\n const splitterRect = target.getBoundingClientRect();\n const parentRect = target.parentElement?.getBoundingClientRect();\n let splitterSize = (window.innerWidth - 80) * 0.8 + 80;\n if (parentRect?.left) {\n splitterSize = splitterRect.left - parentRect?.left;\n }\n const containerSize = target?.parentElement?.offsetWidth;\n\n const handleMouseMove = (e: MouseEvent) => {\n const currentPos = e.clientX;\n const delta = currentPos - initialPos;\n let newSize = 78;\n if (containerSize) {\n newSize = ((splitterSize + delta) / containerSize) * 100;\n }\n setDiagramWidth(newSize);\n };\n\n const handleMouseUp = () => {\n document.removeEventListener(\"mousemove\", handleMouseMove);\n document.removeEventListener(\"mouseup\", handleMouseUp);\n };\n\n document.addEventListener(\"mousemove\", handleMouseMove);\n document.addEventListener(\"mouseup\", handleMouseUp);\n };\n\n let planState: any[] = [];\n\n !!planOri.current?.planStats.executionTime &&\n planState.push(\n
    \n {`${planOri.current?.planStats.executionTime} vs ${planNew.current?.planStats.executionTime}`}\n {formatMessage({ id: \"pev2.plan.executionTime\" })}\n
    \n );\n !!planOri.current?.planStats.planningTime &&\n planState.push(\n
    \n {`${planOri.current?.planStats.planningTime} vs ${planNew.current?.planStats.planningTime}`}\n {formatMessage({ id: \"pev2.plan.planningTime\" })}\n
    \n );\n !!planOri.current?.planStats.planCost &&\n planState.push(\n
    \n {`${planOri.current?.planStats.planCost} vs ${planNew.current?.planStats.planCost}`}\n {formatMessage({ id: \"pev2.plan.planCost\" })}\n
    \n );\n !!planOri.current?.planStats.maxDuration &&\n planState.push(\n {\n selectNodeOri(planOri.current?.planStats.maxDurationNodeId || NaN, true);\n selectNodeNew(planNew.current?.planStats.maxDurationNodeId || NaN, true);\n }}\n >\n {`${planOri.current?.planStats.maxDuration} vs ${planNew.current?.planStats.maxDuration}`}\n {formatMessage({ id: \"pev2.plan.solwestNode\" })}\n \n );\n !!planOri.current?.planStats.maxRows &&\n planState.push(\n {\n selectNodeOri(planOri.current?.planStats.maxRowsNodeId || NaN, true);\n selectNodeNew(planNew.current?.planStats.maxRowsNodeId || NaN, true);\n }}\n >\n {`${planOri.current?.planStats.maxRows} vs ${\n planNew.current?.planStats.maxRows && !isNaN(planNew.current?.planStats.maxRows)\n ? planNew.current?.planStats.maxRows\n : 0\n }`}\n {formatMessage({ id: \"pev2.plan.largestNode\" })}\n \n );\n !!planOri.current?.planStats.maxCost &&\n planState.push(\n {\n selectNodeOri(planOri.current?.planStats.maxCostNodeId || NaN, true);\n selectNodeNew(planNew.current?.planStats.maxCostNodeId || NaN, true);\n }}\n >\n {`${planOri.current?.planStats.maxCost.toFixed(\n 3\n )} vs ${planNew.current?.planStats.maxCost.toFixed(3)}`}\n {formatMessage({ id: \"pev2.plan.costliestNode\" })}\n \n );\n planState = planState.length > 3 ? planState.slice(0, 3) : planState;\n\n return (\n
    \n
    \n {planOri.current && viewOptionsOri.showPlanStats && (\n
    \n {planState.map((item) => {\n return item;\n })}\n
    \n )}\n
    \n\n \n \n }\n onClick={() => {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.NONE,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.NONE,\n });\n }}\n icon={faBan}\n >\n }\n onClick={() => {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.DURATION,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.DURATION,\n });\n }}\n disable={!planOri.current?.isAnalyze || !planNew.current?.isAnalyze}\n icon={faClock}\n >\n }\n onClick={() => {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.ROWS,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.ROWS,\n });\n }}\n disable={\n !rootNodeOri.current ||\n rootNodeOri.current[NodeProp.ACTUAL_ROWS] === undefined ||\n !rootNodeNew.current ||\n rootNodeNew.current[NodeProp.ACTUAL_ROWS] === undefined\n }\n icon={faBarsStaggered}\n >\n }\n onClick={() => {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.COST,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.COST,\n });\n }}\n icon={faHourglass}\n >\n \n \n\n {/*
    \n \n
    \n
    \n {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.NONE,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.NONE,\n });\n }}\n >\n {formatMessage({ id: \"pev2.plan.viewoption.none\" })}\n \n {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.DURATION,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.DURATION,\n });\n }}\n disabled={!planOri.current?.isAnalyze || !planNew.current?.isAnalyze}\n >\n {formatMessage({ id: \"pev2.plan.viewoption.duration\" })}\n \n {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.ROWS,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.ROWS,\n });\n }}\n disabled={\n !rootNodeOri.current ||\n rootNodeOri.current[NodeProp.ACTUAL_ROWS] === undefined ||\n !rootNodeNew.current ||\n rootNodeNew.current[NodeProp.ACTUAL_ROWS] === undefined\n }\n >\n {formatMessage({ id: \"pev2.plan.viewoption.rows\" })}\n \n {\n setViewOptionsOri({\n ...viewOptionsOri!,\n highlightType: HighlightType.COST,\n });\n setViewOptionsNew({\n ...viewOptionsNew!,\n highlightType: HighlightType.COST,\n });\n }}\n >\n {formatMessage({ id: \"pev2.plan.viewoption.cost\" })}\n \n
    \n
    \n
    */}\n
    \n
    \n {/* Plan tab */}\n
    \n
    \n
    \n
    \n {!validationMessageOri && (\n \n \n {validationMessageOri && (\n
    \n
    {validationMessageOri}
    \n
    \n )}\n \n \n {/* Links */}\n {toCteLinksOri.map((link, index) => (\n \n ))}\n {toStageLinksOri.map((link, index) => (\n \n ))}\n {layoutRootNodeOri.current?.links().map((link, index) => {\n return (\n \n );\n })}\n {layoutRootNodeOri.current\n ?.descendants()\n .filter((item) => !item.data[\"Node Type\"]?.includes(\"CUSTOMAPPEND\"))\n .map((item, index) => {\n return (\n \n
    \n \n
    \n \n );\n })}\n {ctesOri.current.map((cte) => {\n const layoutExtent = getLayoutExtent(cte);\n return (\n \n \n {cte.links().map((link, index) => (\n \n ))}\n {cte.descendants().map((item, index) => (\n \n
    \n \n
    \n \n ))}\n
    \n );\n })}\n {stagesOri.current.map((stage) => {\n const layoutExtent = getLayoutExtent(stage);\n return (\n \n \n {stage.links().map((link, index) => (\n \n ))}\n {stage\n .descendants()\n .filter(\n (item) =>\n !(\n item.data[\"Node Type\"]?.includes(\"STAGE Scan\") ||\n item.data[\"Node Type\"]?.includes(\"CUSTOMAPPEND\")\n )\n )\n .map((item, index) => (\n \n
    \n \n
    \n \n ))}\n
    \n );\n })}\n \n \n
    \n \n )}\n
    \n {!validationMessageNew && (\n \n \n {validationMessageNew && (\n
    \n
    {validationMessageNew}
    \n
    \n )}\n \n \n {/* Links */}\n {toCteLinksNew.map((link, index) => (\n \n ))}\n {toStageLinksNew.map((link, index) => (\n \n ))}\n {layoutRootNodeNew.current?.links().map((link, index) => {\n return (\n \n );\n })}\n {layoutRootNodeNew.current\n ?.descendants()\n .filter((item) => !item.data[\"Node Type\"]?.includes(\"CUSTOMAPPEND\"))\n .map((item, index) => {\n return (\n \n
    \n \n
    \n \n );\n })}\n {ctesNew.current.map((cte) => {\n const layoutExtent = getLayoutExtent(cte);\n return (\n \n \n {cte.links().map((link, index) => (\n \n ))}\n {cte.descendants().map((item, index) => (\n \n
    \n \n
    \n \n ))}\n
    \n );\n })}\n {stagesNew.current.map((stage) => {\n const layoutExtent = getLayoutExtent(stage);\n return (\n \n \n {stage.links().map((link, index) => (\n \n ))}\n {stage\n .descendants()\n .filter(\n (item) =>\n !(\n item.data[\"Node Type\"]?.includes(\"STAGE Scan\") ||\n item.data[\"Node Type\"]?.includes(\"CUSTOMAPPEND\")\n )\n )\n .map((item, index) => (\n \n
    \n \n
    \n \n ))}\n
    \n );\n })}\n \n \n
    \n \n )}\n
    \n
    \n
    \n {/* end Plan tab */}\n
    \n
    \n
    \n \n );\n};\n\nexport default PlanCompare;\n","import React, { useEffect, useState } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button, H3, PageTitle } from \"components\";\nimport HeadTitle from \"components/HeadTitle\";\nimport Plan from \"components/pev2/components/Plan\";\nimport PlanCompare from \"components/pev2/components/PlanCompare\";\n\nimport { useGetStatementDetail } from \"hooks/services/useAnalysisHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { isDefined, isNotBlank } from \"utils/common\";\n\nimport QueryExplainItemTabs, { PlanStepsTypes } from \"./component/QueryExplainItemTabs\";\n\nexport const Title = styled(H3)<{ light?: boolean; center?: boolean }>`\n padding: 0 7px 17px;\n font-weight: 600;\n letter-spacing: 0.008em;\n border-radius: 4px;\n`;\n\n// const hasShowAfterExplainBtn = (state: unknown): state is { showAfterExplainBtn: boolean } => {\n// return (\n// typeof state === \"object\" &&\n// state !== null &&\n// typeof (state as { showAfterExplainBtn?: boolean }).showAfterExplainBtn === \"boolean\"\n// );\n// };\n\nconst StatementExplainPage: React.FC = () => {\n const { push, params, pathname } = useRouter<{ statementId: string; \"*\": string }>();\n\n const { formatMessage } = useIntl();\n\n const statementId = params.statementId || \"\";\n\n const { data: details } = useGetStatementDetail(statementId);\n\n useEffect(() => {\n if (!isDefined(statementId) || !isDefined(details)) {\n push(\"..\");\n }\n }, [statementId, details, push]);\n\n const handleGoBack = () => {\n push(`${RoutePaths.App}/${RoutePaths.Analyses}/${details.analysisId}/${RoutePaths.Details}/${statementId}`);\n };\n\n const showAfterExplainBtn =\n !(\n (details.indexRecommended === null || (details.indexRecommended && details.indexRecommended.length === 0)) &&\n (details.rewrittenQuery === null || (details.rewrittenQuery && details.rewrittenQuery.length === 0))\n ) &&\n details.validationDetails.afterPlan &&\n !!details.validationDetails &&\n !!details.validationDetails.afterPlan &&\n !details.validationDetails.afterPlan.includes(\"Predicate Information (identified by plan id)\"); //暂时排除dws生成的执行计划\n\n const [planPhase, setPlanPhase] = useState(\n showAfterExplainBtn ? PlanStepsTypes.COMPARE : PlanStepsTypes.BEFORE\n );\n\n const onSelectStep = (id: string) => {\n // push(\n // {},\n // {\n // state: {\n // ...(location.state as Record),\n // planStepsTypes: id,\n // },\n // }\n // );\n setPlanPhase(id as PlanStepsTypes);\n };\n\n const steps = showAfterExplainBtn\n ? [\n {\n id: PlanStepsTypes.BEFORE,\n name: formatMessage({\n id: \"explain.before\",\n }),\n },\n {\n id: PlanStepsTypes.COMPARE,\n name: formatMessage({\n id: \"explain.compare\",\n }),\n },\n {\n id: PlanStepsTypes.AFTER,\n name: formatMessage({\n id: \"explain.after\",\n }),\n },\n ]\n : [\n {\n id: PlanStepsTypes.BEFORE,\n name: formatMessage({\n id: \"explain.before\",\n }),\n },\n ];\n\n let contentBefore = \"\";\n let contentAfter = \"\";\n contentBefore += details.stmtText;\n let sqls: string[] = [];\n details.rewrittenQuery.forEach((item) => {\n const temp = JSON.parse(item.rewrittenQueriesStr) as Array;\n sqls = sqls.concat(temp);\n });\n\n if (sqls && sqls.length > 0) {\n // todo 这里是否要把所有重写的sql都展示,因为有重复的\n // sqls.map((item, index) => {\n // contentBefore += \"-- original sql \\n\" + stmtText + \"\\n\\n\";\n // contentAfter += \"-- rewritten sql \" + (index + 1) + \"\\n\" + item + \"\\n\\n\";\n // });\n\n contentAfter += sqls[0];\n }\n\n return (\n <>\n \n \n {!pathname.startsWith(RoutePaths.Static) && (\n \n {formatMessage({ id: \"explains.analysis.link\" })}\n \n )}\n \n }\n middleComponent={\n
    \n {`${details.analysisName}`}\n \n
    \n }\n />\n {planPhase === PlanStepsTypes.BEFORE && params.statementId && (\n \n )}\n {planPhase === PlanStepsTypes.AFTER && params.statementId && (\n \n )}\n {planPhase === PlanStepsTypes.COMPARE && params.statementId && }\n \n );\n};\n\nexport default StatementExplainPage;\n","import StatementExplainPage from \"./StatementExplainPage\";\n\nexport default StatementExplainPage;\n","import { ExplainPage } from \"./ExplainPage\";\n\nexport default ExplainPage;\n","import React, { Suspense, useState } from \"react\";\nimport { Route, Routes } from \"react-router-dom\";\n\nimport { LoadingPage } from \"components\";\n\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\n\nimport AllExplainPage from \"./pages/AllExplainPage\";\nimport { ExplainProvider } from \"./pages/AllExplainPage/ExplainContext\";\nimport { Sample } from \"./pages/AllExplainPage/views/HomeView\";\n// import CreateExplainPage from \"./pages/CreateExplainPage\";\nimport CreateNewExplainPage from \"./pages/CreateExplainPage/CreateExplainPage\";\nimport ExplainItemPage from \"./pages/ExplainItemPage\";\nimport SlowQueryExplainPage from \"./pages/SlowQueryExplainPage\";\nimport StatementExplainPage from \"./pages/StatementExplainPage\";\n\nexport const ExplainPage: React.FC = () => {\n const [planData, setPlanData] = useState([\"\", \"\", \"\", \"\", \"\"]);\n\n const { user } = useMyAuthService();\n\n return (\n \n }>\n \n } />\n } />\n } />\n } />\n } />\n \n \n \n );\n};\n","import React, { Suspense, useState } from \"react\";\nimport { Route, Routes } from \"react-router-dom\";\n\nimport { LoadingPage } from \"components\";\n\nimport { RoutePaths } from \"pages/routePaths\";\n\nimport { ExplainProvider } from \"./pages/AllExplainPage/ExplainContext\";\nimport { Sample } from \"./pages/AllExplainPage/views/HomeView\";\n// import CreateExplainPage from \"./pages/CreateExplainPage\";\nimport CreateNewExplainPage from \"./pages/CreateExplainPage/CreateExplainPage\";\nimport ExplainItemPage from \"./pages/ExplainItemPage\";\n\nexport const NoLoggedExplainPage: React.FC = () => {\n const [planData, setPlanData] = useState([\"\", \"\", \"\", \"\", \"\"]);\n\n return (\n \n }>\n \n {/* } /> */}\n } />\n } />\n } />\n \n \n \n );\n};\n","import { TablePagination, tablePaginationClasses } from \"@mui/material\";\nimport queryString from \"query-string\";\nimport React, { memo, useEffect, useMemo } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport {\n Cell,\n Column,\n ColumnInstance,\n SortingRule,\n useSortBy,\n useTable,\n usePagination,\n useExpanded,\n} from \"react-table\";\nimport styled from \"styled-components\";\n\nimport { Card } from \"components\";\n\nimport { QueryRead } from \"core/request/PawsqlClient\";\nimport useRouter from \"hooks/useRouter\";\nimport { ExpandTable } from \"views/Connection/CatalogTree/ExpandTable\";\n\nimport { Arrow as ArrowBlock } from \"./components/Arrow\";\nimport styles from \"./PaginationTable.module.scss\";\n\ninterface PaddingProps {\n left?: number;\n right?: number;\n}\n\ntype IHeaderProps = {\n headerHighlighted?: boolean;\n collapse?: boolean;\n customWidth?: number;\n customPadding?: PaddingProps;\n} & ColumnInstance;\n\ntype ICellProps = {\n column: IHeaderProps;\n} & Cell;\n\ntype IThProps = {\n highlighted?: boolean;\n collapse?: boolean;\n customWidth?: number;\n customPadding?: PaddingProps;\n light?: boolean;\n} & React.ThHTMLAttributes;\n\nconst TableView = styled(Card).attrs({ as: \"table\" })<{ light?: boolean }>`\n margin: 0 -7px 0 7px;\n border-spacing: 0;\n width: 100%;\n max-width: 100%;\n border-radius: 10px;\n box-shadow: ${({ light, theme }) => (light ? \"none\" : `0 2px 4px ${theme.cardShadowColor}`)};\n};\n`;\n\nexport const Tr = styled.tr<{\n hasClick?: boolean;\n erroredRows?: boolean;\n}>`\n background: ${({ theme, erroredRows }) => (erroredRows ? theme.dangerTransparentColor : theme.whiteColor)};\n cursor: ${({ hasClick }) => (hasClick ? \"pointer\" : \"auto\")};\n &:hover {\n background: ${({ theme }) => theme.greyColor0};\n }\n`;\n\nconst Td = styled.td<{\n collapse?: boolean;\n customWidth?: number;\n customPadding?: PaddingProps;\n}>`\n padding: ${({ customPadding }) => `16px ${customPadding?.right ?? 13}px 16px ${customPadding?.left ?? 13}px`};\n font-size: 12px;\n line-height: 15px;\n font-weight: normal;\n color: ${({ theme }) => theme.darkPrimaryColor};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom: 1px solid ${({ theme }) => theme.greyColor20};\n width: ${({ collapse, customWidth }) => (customWidth ? `${customWidth}%` : collapse ? \"0.0000000001%\" : \"auto\")};\n\n tr:last-child > & {\n border-bottom: none;\n\n &:first-child {\n border-radius: 0 0 0 10px;\n }\n\n &:last-child {\n border-radius: 0 0 10px 0;\n }\n }\n`;\n\nconst Th = styled.th`\n background: ${({ theme, light }) => (light ? \"none\" : theme.textColor)};\n padding: ${({ customPadding }) => `9px ${customPadding?.right ?? 13}px 10px ${customPadding?.left ?? 13}px`};\n text-align: left;\n font-size: ${({ light }) => (light ? 11 : 10)}px;\n line-height: 12px;\n color: ${({ theme, highlighted }) => (highlighted ? theme.whiteColor : theme.lightTextColor)};\n border-bottom: ${({ theme, light }) => (light ? \"none\" : ` 1px solid ${theme.backgroundColor}`)};\n width: ${({ collapse, customWidth }) => (customWidth ? `${customWidth}%` : collapse ? \"0.0000000001%\" : \"auto\")};\n font-weight: ${({ light }) => (light ? 400 : 600)};\n text-transform: ${({ light }) => (light ? \"capitalize\" : \"uppercase\")};\n\n &:first-child {\n padding-left: ${({ light }) => (light ? 13 : 45)}px;\n border-radius: 10px 0 0;\n }\n\n &:last-child {\n // padding-left: 30px;\n border-radius: 0 10px 0 0;\n }\n`;\n\ninterface IProps {\n light?: boolean;\n defaultPagesize?: number;\n columns: Array>>;\n erroredRows?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: any[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClickRow?: (data: any) => void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n sortBy?: Array>;\n hasClickSort?: boolean;\n updateCurrentPageData?: React.Dispatch>;\n hoverTitle?: string;\n hideSearch?: boolean;\n useExpandedFunc?: boolean;\n expandedType?: \"slowQuery\";\n}\n\nconst PaginationTable: React.FC = ({\n columns,\n data,\n onClickRow,\n erroredRows,\n sortBy,\n light,\n updateCurrentPageData,\n hasClickSort,\n defaultPagesize,\n hoverTitle,\n hideSearch,\n useExpandedFunc,\n expandedType,\n}) => {\n const { query, push, location } = useRouter();\n\n const [plugins, config] = useMemo(() => {\n const pl = [];\n const plConfig: Record = {};\n\n if (sortBy) {\n pl.push(useSortBy);\n plConfig.initialState = { sortBy };\n }\n return [pl, plConfig];\n }, [sortBy]);\n\n const { formatMessage } = useIntl();\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n prepareRow,\n page,\n rows,\n gotoPage,\n setPageSize,\n state: { pageIndex, pageSize },\n toggleRowExpanded,\n } = useTable(\n {\n ...config,\n columns,\n data,\n initialState: { pageIndex: Number(query.page ?? 0), pageSize: defaultPagesize ? defaultPagesize : 10 },\n },\n ...plugins,\n useExpanded,\n usePagination\n );\n\n useEffect(() => {\n gotoPage(query.page);\n }, [query.page]);\n\n useEffect(() => {\n gotoPage(0);\n }, [gotoPage, data.length]);\n\n useEffect(() => {\n updateCurrentPageData &&\n updateCurrentPageData(\n (data as QueryRead[])\n .slice(pageIndex * pageSize, (pageIndex + 1) * pageSize)\n .map((item) => item.queryLogId as unknown as string)\n );\n }, [data, hasClickSort, pageIndex, pageSize, updateCurrentPageData]);\n\n return (\n <>\n \n \n {headerGroups.map((headerGroup, key) => (\n \n {useExpandedFunc && (\n \n {formatMessage({ id: \"slowQuery.expanded\" })}\n \n )}\n {headerGroup.headers.map((column: IHeaderProps, columnKey) => (\n \n {column.render(\"Header\")}\n \n ))}\n \n ))}\n \n \n {page.map((row) => {\n prepareRow(row);\n\n return (\n <>\n {\n onClickRow?.(row.original);\n }}\n erroredRows={erroredRows && !!row.original.error}\n >\n {useExpandedFunc && (\n \n {\n toggleRowExpanded([row.id])}\n isItemHasChildren={true}\n isItemOpen={row.isExpanded}\n />\n }\n {/* toggleRowExpanded([row.id])}>{row.isExpanded ? \"-\" : \"+\"} */}\n \n )}\n {\n // @ts-ignore needs to address proper types for table\n row.cells.map((cell: ICellProps, key) => {\n return (\n \n {cell.render(\"Cell\")}\n \n );\n })\n }\n \n {row.isExpanded && (\n \n \n
    \n {\n toggleRowExpanded([row.id]);\n }}\n content={expandedType === \"slowQuery\" ? (row.original.sqlText as string) + \"\\n\" : \"\"}\n />\n
    \n \n \n )}\n \n );\n })}\n \n | null, toPage: number) => {\n gotoPage(toPage);\n\n !hideSearch &&\n push({\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n page: toPage,\n },\n { skipNull: true }\n ),\n });\n\n updateCurrentPageData &&\n updateCurrentPageData(\n (data as QueryRead[])\n .slice(toPage * pageSize, (toPage + 1) * pageSize)\n .map((item) => item.queryLogId as unknown as string)\n );\n }}\n onRowsPerPageChange={(event: React.ChangeEvent) => {\n setPageSize(Number(event.target.value));\n\n updateCurrentPageData &&\n updateCurrentPageData(\n (data as QueryRead[])\n .slice(pageIndex * Number(event.target.value), (pageIndex + 1) * Number(event.target.value))\n .map((item) => item.queryLogId as unknown as string)\n );\n }}\n SelectProps={{\n MenuProps: {\n style: { zIndex: 10001 },\n },\n }}\n />\n \n \n
    \n \n );\n};\n\nexport default memo(PaginationTable);\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"InstanceName_container__dJusf\",\"textContainer\":\"InstanceName_textContainer__zCvp8\",\"nameContainer\":\"InstanceName_nameContainer__VXA8T InstanceName_textContainer__zCvp8\",\"icon\":\"InstanceName_icon__cd2td\",\"editingContainer\":\"InstanceName_editingContainer__8Wt12 InstanceName_textContainer__zCvp8\",\"inputContainer\":\"InstanceName_inputContainer__AyZnT\",\"input\":\"InstanceName_input__PV6LX\"};","import { faPenToSquare } from \"@fortawesome/free-regular-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React, { ChangeEvent, useEffect, useState } from \"react\";\n\nimport { Input } from \"components\";\n\nimport { InstanceRead } from \"core/request/PawsqlClient\";\nimport { useUpdateInstanceName } from \"hooks/services/useInstanceHook\";\nimport withKeystrokeHandler from \"utils/withKeystrokeHandler\";\n\nimport styles from \"./InstanceName.module.scss\";\nimport NameCell from \"components/EntityTable/components/NameCell\";\n\ninterface InstanceNameProps {\n instance: InstanceRead;\n}\n\nconst InputWithKeystroke = withKeystrokeHandler(Input);\n\nconst InstanceName: React.FC = ({ instance }) => {\n const { dbinstanceName: name } = instance;\n\n const [editingState, setEditingState] = useState(false);\n\n const [loading, setLoading] = useState(false);\n\n const [instanceName, setInstanceName] = useState(instance.dbinstanceName);\n\n useEffect(() => {\n setInstanceName(name);\n }, [name]);\n\n const [instanceNameBackup, setInstanceNameBackup] = useState(instanceName);\n\n const { mutateAsync: updateInstance } = useUpdateInstanceName();\n\n const inputChange = (event: ChangeEvent) => {\n event.stopPropagation();\n setInstanceName(event.target.value);\n };\n\n const onEscape: React.KeyboardEventHandler = (event) => {\n event.stopPropagation();\n setEditingState(false);\n setInstanceName(name);\n };\n\n const onEnter: React.KeyboardEventHandler = async (event) => {\n event.stopPropagation();\n await updateInstanceAsync();\n };\n\n const onBlur = async () => {\n await updateInstanceAsync();\n };\n\n const updateInstanceAsync = async () => {\n const instanceNameTrimmed = instanceName?.trim();\n if (!instanceNameTrimmed || instance.dbinstanceName === instanceNameTrimmed) {\n setInstanceName(instanceNameTrimmed);\n setEditingState(false);\n return;\n }\n try {\n setLoading(true);\n await updateInstance({ instanceId: instance.dbinstanceId, instanceName: instanceNameTrimmed });\n setInstanceName(instanceNameTrimmed);\n setInstanceNameBackup(instanceNameTrimmed);\n } catch (e) {\n console.error(e.message);\n setInstanceName(instanceNameBackup);\n } finally {\n setLoading(false);\n }\n\n setEditingState(false);\n };\n\n return (\n
    \n {editingState ? (\n {\n event.stopPropagation();\n }}\n className={styles.editingContainer}\n >\n
    \n \n
    \n
    \n ) : (\n {\n event.stopPropagation();\n setEditingState(true);\n }}\n >\n \n \n \n )}\n \n );\n};\n\nexport default InstanceName;\n","// import {\n// faCheck,\n// faCheckDouble,\n// faInfinity,\n// faTimes,\n// faTruckLoading,\n// IconDefinition,\n// } from \"@fortawesome/free-solid-svg-icons\";\n// import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { Bold } from \"@tremor/react\";\nimport React from \"react\";\nimport { useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\ninterface InstanceStatusIconProps {\n title: string;\n status: string;\n big?: boolean;\n value?: string | number;\n}\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: flex-start;\n gap: 10px;\n`;\n\n// const _iconByStatus: Partial> = {\n// 0: faInfinity,\n// 1: faTruckLoading,\n// 2: faCheck,\n// 3: faCheckDouble,\n// };\n\nconst _themeByStatus: Partial> = {\n uninitialized: \"greyColor30\",\n verified: \"successColor\",\n enabled: \"primaryColor\",\n};\nconst Container = styled.div`\n height: ${({ big }) => (big ? 40 : 20)}px;\n margin-right: 10px;\n font-size: ${({ big }) => (big ? 24 : 12)}px;\n text-align: center;\n align-items: center; /* 垂直居中对齐 */\n flex-direction: column; /* 垂直方向排列 */\n\n > span {\n width: 100%; /* 让文字宽度占满容器 */\n }\n`;\n\nconst Badge = styled(Container)`\n background: ${(props) => props.theme[_themeByStatus[props.status] || \"successColor\"]};\n border-radius: ${({ value }) => (value ? \"15px\" : \"10%\")};\n color: ${({ theme }) => theme.whiteColor};\n padding: 3px 3px;\n display: inline-block;\n > svg {\n height: 1em;\n vertical-align: -0.125em;\n margin-right: 5px; /* 为图标添加右边距,使其与文字有一定间距 */\n }\n`;\n\nconst InstanceStatusIcon: React.FC = ({ status, title, ...props }) => {\n const { formatMessage } = useIntl();\n return (\n <>\n \n {/* */}\n {formatMessage({ id: `instance.service.status.${status}.title` })}\n \n \n );\n};\n\nexport default InstanceStatusIcon;\n","import React from \"react\";\n// import { FormattedTime } from \"react-intl\";\n// import { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\ninterface CellProps {\n value: string;\n enabled?: boolean;\n}\n\n// export const EndBlock = styled.div`\n// flex: 0 1 0;\n// display: flex;\n// justify-content: center;\n// `;\n\nconst Content = styled.div<{ enabled?: boolean }>`\n font-weight: 500;\n text-overflow: ellipsis;\n color: ${({ theme, enabled }) => (!enabled ? theme.greyColor40 : \"inherit\")};\n`;\n\nconst StringCell: React.FC = ({ value, enabled }) => {value};\n\nexport default StringCell;\n","import React, { useCallback } from \"react\";\n\nimport { useIntl } from \"react-intl\";\n\nimport { useConfirmationModalService } from \"hooks/services/ConfirmationModal\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport { RiDeleteBinLine } from \"@remixicon/react\";\nimport { Button } from \"@tremor/react\";\n\ninterface IProps {\n type?: \"source\" | \"destination\" | \"connection\" | \"analysis\" | \"instance\" | \"workload\" | \"audit\" | \"ruleTemplate\";\n onDelete: () => void;\n}\n\nconst IconDeleteBlock: React.FC = ({ type, onDelete }) => {\n const { formatMessage } = useIntl();\n const { openConfirmationModal, closeConfirmationModal } = useConfirmationModalService();\n const { isDemo } = useMyAuthService();\n const onDeleteButtonClick = useCallback(() => {\n openConfirmationModal({\n text: type ? `tables.${type}DeleteModalText` : `tables.deleteModalText`,\n title: type ? `tables.${type}DeleteConfirm` : `tables.deleteConfirm`,\n submitButtonText: \"form.delete\",\n onSubmit: async () => {\n await onDelete();\n closeConfirmationModal();\n },\n submitButtonDataId: \"delete\",\n });\n }, [closeConfirmationModal, onDelete, openConfirmationModal, type]);\n\n return (\n {\n e.stopPropagation();\n onDeleteButtonClick();\n }}\n className=\"whitespace-nowrap rounded-tremor-small border-0 border-tremor-border px-1 py-1 text-tremor-default font-medium text-tremor-content shadow-tremor-input hover:bg-tremor-background-muted hover:text-tremor-content-emphasis dark:border-dark-tremor-border dark:text-dark-tremor-content dark:shadow-dark-tremor-input hover:dark:bg-dark-tremor-background-muted hover:dark:text-dark-tremor-content-emphasis\"\n size=\"xs\"\n variant=\"secondary\"\n tooltip={formatMessage({ id: type ? `tables.${type}Delete` : `tables.delete` })}\n icon={RiDeleteBinLine}\n />\n );\n};\n\nexport default IconDeleteBlock;\n","import React, { useState } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { useQueryClient } from \"react-query\";\n\nimport { InstanceRead } from \"core/request/PawsqlClient\";\nimport { instancesKeys, useCheckConnection } from \"hooks/services/useInstanceHook\";\nimport FeedbackBlock from \"pages/SettingsPage/components/FeedbackBlock\";\nimport NameCell from \"components/EntityTable/components/NameCell\";\nimport StringCell from \"components/EntityTable/components/StringCell\";\nimport { RiLoader4Line, RiRefreshLine } from \"@remixicon/react\";\nimport { Button } from \"@tremor/react\";\n\ninterface CheckConnectionButtonProps {\n instance: InstanceRead;\n hideIcon?: boolean;\n iconOnly?: boolean;\n}\n\nconst CheckConnectionButton: React.FC = ({ instance: row, hideIcon, iconOnly }) => {\n const { mutateAsync: checkConnection } = useCheckConnection();\n const [successMessage, setSuccessMessage] = useState(null);\n const [errorMessage, setErrorMessage] = useState(null);\n const { formatMessage } = useIntl();\n const [isLoading, setIsLoading] = useState(false);\n const queryClient = useQueryClient();\n\n return (\n
    \n {\n event.stopPropagation();\n setIsLoading(true);\n await checkConnection({ instanceId: row.dbinstanceId })\n .then(({ data }) => {\n setIsLoading(false);\n if (data) {\n queryClient.invalidateQueries(instancesKeys.lists());\n queryClient.invalidateQueries(instancesKeys.detail(row.dbinstanceId));\n\n setErrorMessage(null);\n setSuccessMessage(formatMessage({ id: \"instances.dbConnectStatus.success\" }));\n setTimeout(() => {\n setSuccessMessage(\"\");\n }, 2000);\n } else {\n queryClient.invalidateQueries(instancesKeys.lists());\n queryClient.invalidateQueries(instancesKeys.detail(row.dbinstanceId));\n setSuccessMessage(null);\n setErrorMessage(\n `${formatMessage({\n id: \"instances.dbConnectStatus.failed\",\n })}`\n );\n setTimeout(() => {\n setErrorMessage(\"\");\n }, 3000);\n }\n })\n .finally(() => {\n setIsLoading(false);\n });\n }}\n >\n {isLoading ? (\n \n ) : iconOnly ? (\n \n ) : hideIcon ? (\n \n ) : (\n \n )}\n {/* \n \n */}\n \n \n
    \n );\n};\n\nexport default CheckConnectionButton;\n","import React from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { InstanceRead } from \"core/request/PawsqlClient\";\nimport { RiEditLine } from \"@remixicon/react\";\nimport { Button } from \"@tremor/react\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\n\ninterface EditConfigButtonProps {\n instance: InstanceRead;\n}\n\nconst EditConfigButton: React.FC = ({ instance }) => {\n const { formatMessage } = useIntl();\n const { push, location } = useRouter();\n\n const handleOnClick = (event: any) => {\n event.stopPropagation();\n push(`${RoutePaths.Ppt}/${RoutePaths.Dashboard}/${RoutePaths.InstanceNew}/${instance.dbinstanceDefinitionId}`, {\n state: {\n ...(location.state as Record),\n stepOrder: 0 + \"\",\n dbinstanceId: instance.dbinstanceId,\n },\n });\n };\n\n return (\n
    \n \n \n \n
    \n );\n};\n\nexport default EditConfigButton;\n","import React, { useContext, useMemo, useState } from \"react\";\n\nimport { InstanceRead } from \"core/request/PawsqlClient\";\nimport { useCurrentUser } from \"services/users/UsersService\";\nimport { useInstanceList } from \"hooks/services/useInstanceHook\";\n\ninterface InstanceContextApi {\n instances: InstanceRead[];\n instanceId: string;\n setInstanceId: React.Dispatch>;\n}\n\nexport const InstanceContext = React.createContext(null);\n\nexport const InstanceProvider: React.FC = ({ children }) => {\n const { data: user } = useCurrentUser();\n const { instances } = useInstanceList(user.userId).data;\n\n const currentInstanceId = localStorage.getItem(\"current-instanceId\");\n\n const index = instances.findIndex((item) => currentInstanceId && item.dbinstanceId === currentInstanceId);\n\n const [instanceId, setInstanceId] = useState(\n index > 0 ? currentInstanceId ?? \"0\" : instances.length > 0 ? instances[0].dbinstanceId : \"0\"\n );\n const ctx: InstanceContextApi = useMemo(\n () => ({\n instanceId: instanceId,\n setInstanceId: setInstanceId,\n instances: instances,\n }),\n [instanceId, setInstanceId, instances]\n );\n\n return {children};\n};\n\nexport const useInstanceService = (): InstanceContextApi => {\n const authService = useContext(InstanceContext);\n if (!authService) {\n throw new Error(\"useInstanceService must be used within a InstanceService.\");\n }\n\n return authService;\n};\n","import IconDeleteBlock from \"components/DeleteBlock/IconDeleteBlock\";\r\nimport CheckConnectionButton from \"components/SlowQueriesStatusIcon/CheckConnectionButton\";\r\nimport EditConfigButton from \"components/SlowQueriesStatusIcon/EditConfigButton\";\r\nimport { InstanceRead } from \"core/request/PawsqlClient\";\r\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\r\nimport { useDeleteInstanceById } from \"hooks/services/useInstanceHook\";\r\nimport { useInstanceService } from \"pages/InstancesPage/pages/AllInstancesPage/components/InstanceContext\";\r\n\r\ninterface InstanceActionButtonProps {\r\n instance: InstanceRead;\r\n data: InstanceRead[];\r\n}\r\nexport const InstanceActionButton: React.FC = ({ instance, data }) => {\r\n const { instanceId, setInstanceId } = useInstanceService();\r\n const { mutateAsync: deleteInstanceById } = useDeleteInstanceById();\r\n\r\n const { user } = useMyAuthService();\r\n const onDelete = () => {\r\n deleteInstanceById({ dbinstanceId: instance.dbinstanceId });\r\n if (instance.dbinstanceId === instanceId) {\r\n const newId =\r\n data.filter((item) => item.dbinstanceId !== instance.dbinstanceId).length > 0\r\n ? data.filter((item) => item.dbinstanceId !== instance.dbinstanceId)[0].dbinstanceId\r\n : \"0\";\r\n setInstanceId(newId);\r\n localStorage.setItem(\"current-instanceId\", newId);\r\n }\r\n };\r\n return (\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n \r\n \r\n {instance.createUserId === user.userId && }\r\n \r\n );\r\n};\r\n","import React from \"react\";\n// import { FormattedTime } from \"react-intl\";\n// import { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\ninterface NumberCellProps {\n value: any;\n enabled?: boolean;\n maxWidth?: number;\n}\n\n// export const EndBlock = styled.div`\n// flex: 0 1 0;\n// display: flex;\n// justify-content: center;\n// `;\n\nconst Content = styled.div<{ maxWidth?: number; enabled?: boolean }>`\n font-weight: 500;\n text-overflow: ellipsis;\n color: ${({ theme, enabled }) => (!enabled ? theme.greyColor40 : \"inherit\")};\n max-width: ${({ maxWidth }) => (maxWidth ? `${maxWidth}px` : \"200px\")};\n overflow: hidden;\n white-space: nowrap;\n`;\n\nconst LongTextCell: React.FC = ({ maxWidth, value, enabled }) => (\n \n {value}\n \n);\n\nexport default LongTextCell;\n","import queryString from \"query-string\";\nimport React, { useCallback } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { CellProps } from \"react-table\";\nimport styled from \"styled-components\";\n\n// import MyDeleteBlock from \"components/DeleteBlock/MyDeleteBlock\";\n// import CheckConnectionButton from \"components/SlowQueriesStatusIcon/CheckConnectionButton\";\n// import CheckVariablesButton from \"components/SlowQueriesStatusIcon/CheckVariablesButton\";\nimport PaginationTable from \"components/Table/PaginationTable\";\n\nimport { calculateDatabaseUptime } from \"config/utils\";\nimport { InstanceRead } from \"core/request/PawsqlClient\";\nimport useRouter from \"hooks/useRouter\";\n\n// import CronExpressionCell from \"./components/CronExpressionCell\";\n// import SlowQueryActionCell from \"./components/SlowQueryActionCell\";\n// import SlowQueryActionMenu from \"./components/SlowQueryActionMenu\";\n// import SlowQueryServiceActionButton from \"./components/SlowQueryServiceActionButton\";\n// import SlowQueryServiceStatusCell from \"./components/SlowQueryServiceStatusCell\";\nimport SortButton from \"./components/SortButton\";\nimport TextCell from \"./components/TextCell\";\nimport { SortOrderEnum } from \"./types\";\nimport InstanceName from \"pages/InstancesPage/pages/AllInstancesPage/components/InstanceName\";\nimport InstanceStatusIcon from \"./components/InstanceStatusIcon\";\nimport StringCell from \"./components/StringCell\";\nimport { InstanceActionButton } from \"./InstanceActionButton\";\nimport LongTextCell from \"./components/LongTextCell\";\n\nconst Content = styled.div`\n margin: 0 32px 0 27px;\n`;\n\ninterface IProps {\n data: InstanceRead[];\n onClickRow?: (data: InstanceRead) => void;\n}\n\nconst MyImplementationTable: React.FC = ({ data, onClickRow }) => {\n const { query, push, location } = useRouter();\n const sortBy = query.sortBy || \"deleteFlag\";\n const sortOrder = query.order || SortOrderEnum.DESC;\n\n const onSortClick = useCallback(\n (field: string) => {\n const order =\n sortBy !== field ? SortOrderEnum.ASC : sortOrder === SortOrderEnum.ASC ? SortOrderEnum.DESC : SortOrderEnum.ASC;\n push({\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n sortBy: field,\n order: order,\n },\n { skipNull: true }\n ),\n });\n },\n [push, sortBy, sortOrder, location]\n );\n\n const sortData = useCallback(\n (a, b) => {\n let result;\n if (sortBy === \"lastSync\") {\n result = b[sortBy] - a[sortBy];\n } else if (sortBy === \"createTime\") {\n result = a[`createTime`]?.toLowerCase().localeCompare(b[`createTime`]?.toLowerCase());\n } else {\n result = a[`${sortBy}Name`]?.toLowerCase().localeCompare(b[`${sortBy}Name`]?.toLowerCase());\n }\n\n if (sortOrder === SortOrderEnum.DESC) {\n return -1 * result;\n }\n\n return result;\n },\n [sortBy, sortOrder]\n );\n\n const sortingData = React.useMemo(() => data.sort(sortData), [sortData, data]);\n\n const columns = React.useMemo(\n () => [\n {\n Header: (\n <>\n \n onSortClick(\"dbinstanceName\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"dbinstanceName\",\n // customWidth: 40,\n Cell: ({ row }: CellProps) => (\n <>\n \n \n ),\n },\n // {\n // Header: (\n // <>\n // \n // onSortClick(\"dbConnectStatus\")}\n // />\n // \n // ),\n // headerHighlighted: true,\n // accessor: \"dbConnectStatus\",\n // Cell: ({ row }: CellProps) => (\n // <>\n // \n // \n // ),\n // },\n {\n Header: (\n <>\n \n onSortClick(\"dbType\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"dbType\",\n Cell: ({ cell, row }: CellProps) => (\n \n ),\n },\n {\n Header: ,\n headerHighlighted: true,\n accessor: \"dbVersion\",\n Cell: ({ cell }: CellProps) => (\n
    \n {cell.value}\n
    \n ),\n },\n {\n Header: ,\n headerHighlighted: true,\n accessor: \"startTime\",\n Cell: ({ cell, row }: CellProps) => (\n \n ),\n },\n {\n Header: ,\n headerHighlighted: true,\n accessor: \"dbHost\",\n Cell: ({ cell, row }: CellProps) => (\n \n ),\n },\n {\n Header: ,\n headerHighlighted: true,\n accessor: \"dbPort\",\n Cell: ({ cell, row }: CellProps) => (\n \n ),\n },\n {\n Header: (\n <>\n \n onSortClick(\"defaultDb\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"defaultDb\",\n Cell: ({ cell, row }: CellProps) => (\n \n ),\n },\n {\n Header: (\n <>\n \n onSortClick(\"dbSchemas\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"dbSchemas\",\n // customWidth: 40,\n Cell: ({ cell, row }: CellProps) => (\n \n ),\n },\n // {\n // Header: (\n // <>\n // \n // onSortClick(\"createUserName\")}\n // />\n // \n // ),\n // headerHighlighted: true,\n // accessor: \"createUserName\",\n // // customWidth: 40,\n // Cell: ({ row }: CellProps) => (\n // \n // ),\n // },\n // {\n // Header: (\n // <>\n // \n // onSortClick(\"createTime\")}\n // />\n // \n // ),\n // headerHighlighted: true,\n // accessor: \"createTime\",\n // // customWidth: 40,\n // Cell: ({ cell, row }: CellProps) => (\n // \n // ),\n // },\n // {\n // Header: (\n // <>\n // \n // \n // ),\n // headerHighlighted: true,\n // accessor: \"lastSlowQueryCronTime\",\n // Cell: ({ cell, row }: CellProps) => (\n // \n // ),\n // },\n {\n Header: (\n <>\n \n \n ),\n headerHighlighted: true,\n accessor: \"slowQueryStatus\",\n Cell: ({ row }: CellProps) => (\n \n ),\n },\n {\n Header: (\n <>\n \n \n ),\n headerHighlighted: true,\n accessor: \"currentState\",\n Cell: ({ row }: CellProps) => (\n \n ),\n },\n {\n Header: (\n <>\n \n \n ),\n headerHighlighted: true,\n accessor: \"dbObjectStatus\",\n Cell: ({ row }: CellProps) => (\n \n ),\n },\n {\n Header: (\n <>\n \n \n ),\n headerHighlighted: true,\n accessor: \"createUserName\",\n Cell: ({ row }: CellProps) => row.original.createUserName,\n },\n {\n Header: ,\n headerHighlighted: true,\n accessor: \"dbinstanceId\",\n Cell: ({ row }: CellProps) => ,\n\n // row.original.createUserId === user.userId ? (\n // !row.original.deleteFlag ? (\n // {\n // deleteInstanceById({ dbinstanceId: row.original.dbinstanceId });\n // if (row.original.dbinstanceId === instanceId) {\n // const newId =\n // data.filter((item) => item.dbinstanceId !== row.original.dbinstanceId).length > 0\n // ? data.filter((item) => item.dbinstanceId !== row.original.dbinstanceId)[0].dbinstanceId\n // : \"0\";\n // setInstanceId(newId);\n // localStorage.setItem(\"current-instanceId\", newId);\n // }\n // }}\n // />\n // ) : (\n // \n // )\n // ) : (\n // <>\n // ),\n },\n ],\n [onSortClick, sortBy, sortOrder]\n );\n\n return (\n \n \n \n );\n};\n\nexport default MyImplementationTable;\n","import React from \"react\";\n\nimport ImplementationInstanceTable from \"components/EntityTable/ImplementationInstanceTable\";\n\nimport { EntityStatus, InstanceRead } from \"core/request/PawsqlClient\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useInstanceService } from \"./InstanceContext\";\nimport { useGetConfig } from \"hooks/services/useConfigHook\";\n\ninterface InstancesTableProps {\n instances: InstanceRead[];\n}\n\nconst InstanceTable: React.FC = ({ instances }) => {\n const { push } = useRouter();\n const { setInstanceId } = useInstanceService();\n const { data: adminConfig } = useGetConfig();\n\n const clickRow = (instance: InstanceRead) => {\n if (instance.status.includes(EntityStatus.success)) {\n setInstanceId(instance.dbinstanceId);\n localStorage.setItem(\"current-instanceId\", instance.dbinstanceId);\n\n if (adminConfig.openInstanceInNewTab) {\n window.open(`${RoutePaths.Ppt}/${RoutePaths.Dashboard}`, \"_blank\");\n } else {\n push(`${RoutePaths.Ppt}/${RoutePaths.Dashboard}`);\n }\n }\n };\n\n return ;\n};\n\nexport default InstanceTable;\n","import { faSearch } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport queryString from \"query-string\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button, MainPageWithScroll } from \"components\";\nimport { EmptyResourceListView } from \"components/EmptyResourceListView\";\nimport HeadTitle from \"components/HeadTitle\";\nimport PageTitle from \"components/PageTitle\";\nimport { EndBlock } from \"components/PageTitle/PageTitle\";\n\nimport { InstanceRead } from \"core/request/PawsqlClient\";\nimport useRouter from \"hooks/useRouter\";\nimport { naturalComparatorBy } from \"utils/objects\";\nimport Search from \"views/Connection/ConnectionForm/components/Search\";\n\nimport { RoutePaths } from \"../../../routePaths\";\nimport InstanceTable from \"./components/InstanceTable\";\nimport { useInstanceList } from \"hooks/services/useInstanceHook\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\n\nconst Content = styled.div`\n margin: 0 32px 10px 27px;\n`;\nexport const LeftFieldCol = styled.div`\n width: 45px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n`;\n\nconst Icon = styled.div<{ $small?: boolean }>`\n padding: 5px 0 0 5px;\n`;\n\nconst AllInstancesPage: React.FC = () => {\n const { user } = useMyAuthService();\n const { query, push, location } = useRouter();\n\n const currentUserId = query.currentUserId || \"\";\n const { instances } = useInstanceList(user.userId, currentUserId).data;\n\n const onCreateInstance = () => {\n push(`${RoutePaths.Ppt}/${RoutePaths.Dashboard}/${RoutePaths.InstanceType}`);\n };\n\n const [searchString, setSearchString] = useState(query.searchString);\n const [filteredStreams, setFilteredStreams] = useState(instances);\n const sortedSchema = useMemo(\n () => instances.sort(naturalComparatorBy((instance: any) => instance.createTime ?? \"\")).reverse(),\n [instances]\n );\n\n useEffect(() => {\n const filters: Array<(s: InstanceRead) => boolean> = [\n (_: InstanceRead) => true,\n searchString\n ? (stream: InstanceRead) =>\n stream.dbHost?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.dbPort?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.dbType?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.dbUser?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.defaultDb?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.dbinstanceName?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.createUserName?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.createOrgName?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.createTime?.toLowerCase().includes(searchString?.toLowerCase())\n : null,\n ].filter(Boolean) as Array<(s: InstanceRead) => boolean>;\n setFilteredStreams(sortedSchema.filter((stream: InstanceRead) => filters.every((f) => f(stream))));\n }, [searchString, sortedSchema]);\n\n return (\n \n \n \n }\n pageTitle={\n <>\n \n \n \n }\n />\n \n }\n >\n \n \n \n \n \n \n \n \n {\n setSearchString(value);\n push({\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n searchString: value,\n page: 0,\n },\n { skipNull: true }\n ),\n });\n }}\n />\n \n \n \n \n \n \n {instances.length > 0 ? (\n \n ) : (\n \n )}\n \n );\n};\n\nexport default AllInstancesPage;\n","import AllInstancesPage from \"./AllInstancesPage\";\n\nexport default AllInstancesPage;\n","// import { ArrowTrendingUpIcon } from \"@heroicons/react/24/solid\";\nimport { Grid, Card, Flex, Metric, Text, BadgeDelta, AreaChart } from \"@tremor/react\";\nimport React, { useEffect, useState } from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { decimalToPercentage } from \"config/utils\";\nimport { InstanceStatusRead, InstanceRead } from \"core/request/PawsqlClient\";\n\ninterface Props {\n instance: InstanceRead;\n data: InstanceStatusRead[];\n headerRef: React.RefObject;\n selectedIndex: number;\n setSelectedIndex: React.Dispatch>;\n}\n\nconst BasicInfoCard: React.FC = ({ data, headerRef, selectedIndex, setSelectedIndex }) => {\n const { formatMessage } = useIntl();\n\n const handleClickBedge = (key: number) => {\n if (selectedIndex === key) {\n headerRef.current?.click();\n }\n setSelectedIndex(key);\n // if (headerRef.current?.ariaExpanded === \"false\") {\n // }\n };\n data = data.length > 0 ? data : [];\n const currentRead = data.length > 0 ? data[data.length - 1] : null;\n\n const threads = data.slice(-5).map((item) => {\n return {\n statDt: item.statDt.substring(11),\n [formatMessage({ id: \"instance.dashboard.threads.threadsRunning\" })]: Number(item.threadsRunning),\n };\n });\n\n const dataQps = data.slice(-5).map((item) => {\n return {\n statDt: item.statDt.substring(11),\n qps: Number(item.qps),\n };\n });\n\n const dataTps = data.slice(-5).map((item) => {\n return {\n statDt: item.statDt.substring(11),\n tps: Number(item.tps),\n };\n });\n\n const bufferPool = data.slice(-5).map((item) => {\n return {\n statDt: item.statDt.substring(11),\n [formatMessage({ id: \"instance.dashboard.buffer.pool.hit.rate\" })]: Number(item.bufferPoolHitRate),\n };\n });\n\n const getDeltaType = (value: number) => {\n return value > 0 ? \"moderateIncrease\" : value < 0 ? \"moderateDecrease\" : \"moderateIncrease\";\n };\n\n const [threadsBadgeData, setThreadsBadgeData] = useState(\n threads.length > 1\n ? data[data.length - 2].threadsRunning - 0 === 0\n ? 0\n : ((currentRead?.threadsRunning ?? 0) - data[data.length - 2].threadsRunning) /\n data[data.length - 2].threadsRunning\n : 0\n );\n const [qpsBadgeData, setQpsBadgeData] = useState(\n dataQps.length > 1\n ? dataQps[dataQps.length - 2].qps - 0 === 0\n ? 0\n : ((currentRead?.qps ?? 0) - dataQps[dataQps.length - 2].qps) / dataQps[dataQps.length - 2].qps\n : 0\n );\n const [tpsBadgeData, setTpsBadgeData] = useState(\n dataTps.length > 1\n ? dataTps[dataTps.length - 2].tps - 0 === 0\n ? 0\n : ((currentRead?.tps ?? 0) - dataTps[dataTps.length - 2].tps) / dataTps[dataTps.length - 2].tps\n : 0\n );\n const [bufferBadgeData, setBufferBadgeData] = useState(\n bufferPool.length > 1\n ? data[data.length - 2].bufferPoolHitRate - 0 === 0\n ? 0\n : ((currentRead?.bufferPoolHitRate ?? 0) - data[data.length - 2].bufferPoolHitRate) /\n data[data.length - 2].bufferPoolHitRate\n : 0\n );\n\n useEffect(() => {\n setThreadsBadgeData(\n threads.length > 1\n ? data[data.length - 2].threadsRunning - 0 === 0\n ? 0\n : ((currentRead?.threadsRunning ?? 0) - data[data.length - 2].threadsRunning) /\n data[data.length - 2].threadsRunning\n : 0\n );\n setQpsBadgeData(\n dataQps.length > 1\n ? dataQps[dataQps.length - 2].qps - 0 === 0\n ? 0\n : ((currentRead?.qps ?? 0) - dataQps[dataQps.length - 2].qps) / dataQps[dataQps.length - 2].qps\n : 0\n );\n setTpsBadgeData(\n dataTps.length > 1\n ? dataTps[dataTps.length - 2].tps - 0 === 0\n ? 0\n : ((currentRead?.tps ?? 0) - dataTps[dataTps.length - 2].tps) / dataTps[dataTps.length - 2].tps\n : 0\n );\n setBufferBadgeData(\n bufferPool.length > 1\n ? data[data.length - 2].bufferPoolHitRate - 0 === 0\n ? 0\n : ((currentRead?.bufferPoolHitRate ?? 0) - data[data.length - 2].bufferPoolHitRate) /\n data[data.length - 2].bufferPoolHitRate\n : 0\n );\n }, [data, setQpsBadgeData, setTpsBadgeData, setBufferBadgeData]);\n\n return (\n \n \n \n
    \n {formatMessage({ id: \"instance.dashboard.connections\" })}\n {`${currentRead?.threadsRunning ?? 0}/${currentRead?.threadsConnected ?? 0}`}\n
    \n {currentRead?.threadsRunning && data.length > 0 && (\n {\n handleClickBedge(0);\n }}\n deltaType={getDeltaType(threadsBadgeData)}\n >\n {decimalToPercentage(threadsBadgeData)}\n \n )}\n
    \n {/* \n {`${decimalToPercentage(data.threadsRunning / data.threadsConnected)} (${\n data.threadsRunning\n })`}\n {data.threadsConnected}\n */}\n {/* */}\n \n \n {`${formatMessage({ id: \"instance.dashboard.connections.all\" })}: ${\n currentRead?.maxConnections ?? \"\"\n }`}\n \n
    \n \n \n
    \n {formatMessage({ id: \"instance.dashboard.QPS\" })}\n {`${(currentRead?.qps ?? 0) - 0 === 0 ? 0 : currentRead?.qps ?? 0}`}\n
    \n {currentRead?.qps && dataQps.length > 1 && (\n {\n handleClickBedge(1);\n }}\n deltaType={getDeltaType(qpsBadgeData)}\n >\n {decimalToPercentage(qpsBadgeData)}\n \n )}\n
    \n \n \n {`${formatMessage({ id: \"instance.dashboard.QPS.queries.number\" })}: ${Number(\n currentRead?.comSelect ?? 0\n )}`}\n \n
    \n \n \n
    \n {formatMessage({ id: \"instance.dashboard.TPS\" })}\n {`${(currentRead?.tps ?? 0) - 0 === 0 ? 0 : currentRead?.tps ?? 0}`}\n
    \n {currentRead?.tps && dataTps.length > 1 && (\n // \"increase\", \"moderateIncrease\", \"decrease\", \"moderateDecrease\", \"unchanged\"\n {\n handleClickBedge(2);\n }}\n deltaType={getDeltaType(tpsBadgeData)}\n >\n {decimalToPercentage(tpsBadgeData)}\n \n )}\n
    \n \n \n {`${formatMessage({ id: \"instance.dashboard.TPS.transaction.number\" })}: ${\n Number(currentRead?.comCommit ?? 0) + Number(currentRead?.comRollback ?? 0)\n }`}\n \n
    \n\n \n \n
    \n {formatMessage({ id: \"instance.dashboard.buffer.pool\" })}\n {`${decimalToPercentage(currentRead?.bufferPoolHitRate ?? 0)}`}\n
    \n {currentRead?.bufferPoolHitRate && (\n {\n handleClickBedge(3);\n }}\n deltaType={getDeltaType(bufferBadgeData)}\n >\n {decimalToPercentage(bufferBadgeData)}\n \n )}\n
    \n \n \n {`${formatMessage({ id: \"instance.dashboard.buffer.pool.size\" })}: ${\n ((currentRead?.bufferPoolSize ?? 0) * 8) / 1024\n } ${formatMessage({ id: \"instance.dashboard.buffer.pool.size.unit\" })}`}\n \n
    \n
    \n );\n};\n\nexport default BasicInfoCard;\n","import { Card, LineChart, Tab, TabGroup, TabList, Title } from \"@tremor/react\";\n\nimport { InstanceStatusRead, InstanceRead } from \"core/request/PawsqlClient\";\nimport { useIntl } from \"react-intl\";\n\ninterface Props {\n instance: InstanceRead;\n data: InstanceStatusRead[];\n selectedIndex: number;\n setSelectedIndex: React.Dispatch>;\n}\n\nexport const StatusLineChart: React.FC = ({ data, selectedIndex, setSelectedIndex }) => {\n const periodReads = data;\n const { formatMessage } = useIntl();\n const chartdata = periodReads.map((item) => {\n return {\n statDt: item.statDt.substring(11),\n [formatMessage({ id: \"instance.dashboard.threads.threadsRunning\" })]: Number(item.threadsRunning),\n [formatMessage({ id: \"instance.dashboard.QPS\" })]: Number(item.qps),\n [formatMessage({ id: \"instance.dashboard.TPS\" })]: Number(item.tps),\n [formatMessage({ id: \"instance.dashboard.buffer.pool.hit.rate\" })]: Number(item.bufferPoolHitRate),\n };\n });\n\n const indexMeta = [\n formatMessage({ id: \"instance.dashboard.threads.threadsRunning\" }),\n formatMessage({ id: \"instance.dashboard.QPS\" }),\n formatMessage({ id: \"instance.dashboard.TPS\" }),\n formatMessage({ id: \"instance.dashboard.buffer.pool.hit.rate\" }),\n ];\n\n const valueFormatter = (number: any) => `${number.toString()}`;\n\n return (\n \n \n <div className=\"ml-auto flex flex-wrap items-center\">\n {formatMessage({ id: \"instance.dashboard.status.details.title\" })}\n </div>\n \n \n \n {formatMessage({ id: \"instance.dashboard.threads.threadsRunning\" })}\n {formatMessage({ id: \"instance.dashboard.QPS\" })}\n {formatMessage({ id: \"instance.dashboard.TPS\" })}\n {formatMessage({ id: \"instance.dashboard.buffer.pool.hit.rate\" })}\n \n \n \n \n );\n};\n","import { Divider, Accordion, AccordionHeader, AccordionBody } from \"@tremor/react\";\nimport { useIntl } from \"react-intl\";\n// import { useToggle } from \"react-use\";\n\nimport { InstanceRead } from \"core/request/PawsqlClient\";\nimport { useGetInstanceStatus } from \"hooks/services/useInstanceHook\";\n\nimport BasicInfoCard from \"./BasicInfoCard\";\nimport { StatusLineChart } from \"./StatusLineChart\";\nimport { useRef, useState } from \"react\";\n\ninterface Props {\n instance: InstanceRead;\n}\nconst BasicInfoComponent: React.FC = ({ instance }) => {\n // const [showDetails, toggleShowDemo] = useToggle(false);\n const { formatMessage } = useIntl();\n\n const result = useGetInstanceStatus(instance.dbinstanceId);\n const headerRef = useRef(null);\n const [selectedIndex, setSelectedIndex] = useState(0);\n\n return (\n <>\n {result.data && (\n \n \n {\n console.log(headerRef.current?.ariaExpanded);\n }}\n ref={headerRef}\n >\n {formatMessage({ id: \"instance.dashboard.show.details\" })}\n \n \n \n \n \n )}\n \n );\n};\n\nexport default BasicInfoComponent;\n","import { Card, LineChart, Title, Button } from \"@tremor/react\";\nimport { useIntl } from \"react-intl\";\n\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { InstanceRead } from \"core/request/PawsqlClient\";\nimport { useGetPeriodData } from \"hooks/services/useSlowQueryHook\";\n\ninterface Props {\n instance: InstanceRead;\n}\n\nexport const SlowQueryBarChart: React.FC = ({ instance }) => {\n const { data } = useGetPeriodData(instance.dbinstanceId);\n\n const { formatMessage } = useIntl();\n // 获取当前日期\n const currentDate = new Date();\n\n // 生成近七天的日期列表\n const dateList = Array.from({ length: 7 }, (_, index) => {\n const date = new Date(currentDate);\n date.setDate(currentDate.getDate() - index);\n return date.toISOString().split(\"T\")[0]; // 取日期部分\n });\n\n // 创建一个包含七个元素的列表\n const resultList = dateList.map((statDt) => {\n const dataForDate = data.find((item) => item.statDt === statDt);\n\n // 如果数据不存在,可以提供默认值或空对象\n return dataForDate || { statDt, slowQueryNum: 0, slowQueryTemplateNum: 0 };\n });\n\n resultList.sort((a, b) => a.statDt.localeCompare(b.statDt));\n\n const chartdata = resultList.map((item) => {\n return {\n statDt: item.statDt.substring(5),\n [formatMessage({ id: \"instance.slowQuery.slowQueryNum\" })]: item.slowQueryNum,\n [formatMessage({ id: \"instance.slowQuery.slowQueryTemplateNum\" })]: item.slowQueryTemplateNum,\n };\n });\n\n const { push, location } = useRouter();\n\n return (\n \n \n <div className=\"ml-auto flex flex-wrap justify-end items-center\">\n {formatMessage({ id: \"instance.slowQuery.lineChart.title\" })}\n <Button\n disabled={instance.slowQueryStatus === \"uninitialized\" ? true : false}\n onClick={() => {\n push(`${RoutePaths.Ppt}/${RoutePaths.SlowQueries}`);\n }}\n className=\"ml-auto\"\n >\n {formatMessage({ id: \"instance.slowQuery.lineChart.details\" })}\n </Button>\n </div>\n \n {instance.slowQueryStatus !== \"uninitialized\" && resultList.length > 0 && (\n \n )}\n {instance.slowQueryStatus !== \"uninitialized\" && resultList.length === 0 && (\n
    \n
    \n

    \n {formatMessage({ id: \"instance.slowQuery.lineChart.no.data\" })}\n

    \n

    \n {formatMessage({ id: \"instance.slowQuery.lineChart.no.data.message\" })}\n

    \n {\n push(`${RoutePaths.Ppt}/${RoutePaths.SlowQueries}`);\n }}\n >\n {formatMessage({ id: \"instance.slowQuery.lineChart.collect\" })}\n \n
    \n
    \n )}\n {instance.slowQueryStatus === \"uninitialized\" && (\n
    \n
    \n

    \n {formatMessage({ id: \"instance.slowQuery.lineChart.not.init.data\" })}\n

    \n

    \n {formatMessage({ id: \"instance.slowQuery.lineChart.not.init.data.message\" })}\n

    \n {\n event.stopPropagation();\n push(\n `${RoutePaths.Ppt}/${RoutePaths.Dashboard}/${RoutePaths.InstanceNew}/${instance.dbinstanceDefinitionId}`,\n {\n state: {\n ...(location.state as Record),\n stepOrder: 1 + \"\",\n dbinstanceId: instance.dbinstanceId,\n },\n }\n );\n }}\n >\n {formatMessage({ id: \"instance.slowQuery.lineChart.init.config\" })}\n \n
    \n
    \n )}\n
    \n );\n};\n","import { InstanceRead } from \"core/request/PawsqlClient\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useIntl } from \"react-intl\";\nimport { BarList, Button, Card, Tab, TabGroup, TabList, Title } from \"@tremor/react\";\nimport { useEffect, useState } from \"react\";\nimport { useGetStatisticData } from \"hooks/services/useDbObjectHook\";\nimport { getRuleLevelConfig } from \"config/utils\";\n\ninterface Props {\n instance: InstanceRead;\n}\n\nexport const DbObjectBarList: React.FC = ({ instance }) => {\n const { push, location } = useRouter();\n\n const { formatMessage, locale } = useIntl();\n const [selectedIndex, setSelectedIndex] = useState(0);\n\n const summaryData = useGetStatisticData({ id: instance.dbinstanceId });\n\n const ruleRankData = JSON.parse(instance.ddlAdvisorRuleRankInfo) as {\n level: number;\n ruleCode: string;\n ruleNameCn: string;\n ruleNameEn: string;\n violateCount: number;\n }[];\n\n const objectList = summaryData.data.objectList\n ? summaryData.data.objectList.slice(0, 5).map((item) => {\n return {\n name: item.name,\n value: item.dataCount,\n icon: function CustomIcon() {\n return (\n {\n push(`${RoutePaths.Ppt}/${RoutePaths.DbObjects}`, {\n state: {\n ...(location.state as Record),\n dbObjectSchema: item.name.split(\".\")[0],\n dbObjectName: item.name.split(\".\")[1],\n },\n });\n }}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n strokeWidth={1.5}\n stroke=\"currentColor\"\n className=\"w-6 h-6 mr-2\"\n >\n \n \n );\n },\n };\n })\n : [];\n const schemaList = summaryData.data.schemaList\n ? summaryData.data.schemaList.slice(0, 5).map((item) => {\n return {\n name: item.name,\n value: item.dataCount,\n icon: function CustomIcon() {\n return (\n {\n push(`${RoutePaths.Ppt}/${RoutePaths.DbObjects}`, {\n state: {\n ...(location.state as Record),\n dbObjectSchema: item.name,\n },\n });\n }}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n strokeWidth={1.5}\n stroke=\"currentColor\"\n className=\"w-6 h-6 mr-2\"\n >\n \n \n );\n },\n };\n })\n : [];\n\n const ruleSummaryData = ruleRankData\n ? ruleRankData.map((item) => {\n return {\n name: locale === \"en\" ? item.ruleNameEn : item.ruleNameCn ?? \"\",\n value: item.violateCount ?? 0,\n color: getRuleLevelConfig(item.level)?.color ?? \"\",\n icon: function CustomIcon() {\n return (\n {\n push(`${RoutePaths.Ppt}/${RoutePaths.DbObjects}`, {\n state: {\n ...(location.state as Record),\n dbObjectRuleCode: item.ruleCode,\n },\n });\n }}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n strokeWidth={1.5}\n stroke=\"currentColor\"\n className=\"w-6 h-6 mr-2\"\n >\n \n \n );\n },\n };\n })\n : [];\n\n const [barData, setBarData] = useState([objectList, schemaList, ruleSummaryData]);\n\n useEffect(() => {\n setBarData([objectList, schemaList, ruleSummaryData]);\n }, [instance.dbinstanceId, summaryData]);\n\n // const handleClickOnRow = () => {\n // switch (selectedIndex) {\n // case 0:\n // break;\n // case 1:\n // break;\n // case 2:\n // break;\n // default:\n // }\n // };\n\n return (\n \n \n <div className=\"ml-auto flex flex-wrap justify-end items-center\">\n {formatMessage({ id: \"instance.dashboard.dbObject.title\" })}\n <Button\n className=\"ml-auto\"\n onClick={() => {\n push(`${RoutePaths.Ppt}/${RoutePaths.DbObjects}`);\n }}\n >\n {formatMessage({ id: \"instance.dashboard.dbObject.details\" })}\n </Button>\n </div>\n \n

    \n \n \n {formatMessage({ id: \"instance.dashboard.dbObject.details.object\" })}\n {formatMessage({ id: \"instance.dashboard.dbObject.details.schema\" })}\n {formatMessage({ id: \"instance.dashboard.dbObject.details.rule\" })}\n \n \n \n {formatMessage({ id: \"instance.dashboard.dbObject.details.issues.message\" })}\n \n

    \n\n
    \n \n
    \n
    \n );\n};\n","import { Grid, Flex } from \"@tremor/react\";\nimport React from \"react\";\n\nimport { InstanceRead } from \"core/request/PawsqlClient\";\n\nimport { SlowQueryBarChart } from \"./SlowQueryBarChart\";\nimport { DbObjectBarList } from \"./DbObjectBarList\";\ninterface Props {\n instance: InstanceRead;\n}\n\nconst ChartInfoCard: React.FC = ({ instance }) => {\n return (\n <>\n {instance.dbinstanceId && (\n \n \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n )}\n \n );\n};\n\nexport default ChartInfoCard;\n","import React from \"react\";\n\nimport { InstanceRead } from \"core/request/PawsqlClient\";\nimport EditConfigButton from \"./EditConfigButton\";\nimport CheckConnectionButton from \"./CheckConnectionButton\";\n\ninterface SmallCheckConnectionButtonProps {\n instance: InstanceRead;\n}\n\nconst SmallCheckConnectionButton: React.FC = ({ instance: row }) => {\n return (\n
    \n \n \n
    \n );\n};\n\nexport default SmallCheckConnectionButton;\n","// extracted by mini-css-extract-plugin\nexport default {\"custom_mutiselect\":\"CronConfigButton_custom_mutiselect__inpq4\",\"rw-multiselect-taglist\":\"CronConfigButton_rw-multiselect-taglist__rkIA2\",\"top_index\":\"CronConfigButton_top_index__-qy+5\",\"react_js_cron_field\":\"CronConfigButton_react_js_cron_field__4U6zZ\"};","export const FRENCH_LOCALE = {\n everyText: \"chaque\",\n emptyMonths: \"chaque mois\",\n emptyMonthDays: \"chaque jour du mois\",\n emptyMonthDaysShort: \"jour du mois\",\n emptyWeekDays: \"chaque jour de la semaine\",\n emptyWeekDaysShort: \"jour de la semaine\",\n emptyHours: \"chaque heure\",\n emptyMinutes: \"chaque minute\",\n emptyMinutesForHourPeriod: \"chaque\",\n yearOption: \"année\",\n monthOption: \"mois\",\n weekOption: \"semaine\",\n dayOption: \"jour\",\n hourOption: \"heure\",\n minuteOption: \"minute\",\n rebootOption: \"redémarrage\",\n prefixPeriod: \"Chaque\",\n prefixMonths: \"en\",\n prefixMonthDays: \"le\",\n prefixWeekDays: \"le\",\n prefixWeekDaysForMonthAndYearPeriod: \"et\",\n prefixHours: \"à\",\n prefixMinutes: \":\",\n prefixMinutesForHourPeriod: \"à\",\n suffixMinutesForHourPeriod: \"minute(s)\",\n errorInvalidCron: \"Expression cron invalide\",\n clearButtonText: \"Effacer\",\n // Order is important, the index will be used as value\n months: [\n \"janvier\",\n \"février\",\n \"mars\",\n \"avril\",\n \"mai\",\n \"juin\",\n \"juillet\",\n \"août\",\n \"septembre\",\n \"octobre\",\n \"novembre\",\n \"décembre\",\n ],\n // Order is important, the index will be used as value\n weekDays: [\"dimanche\", \"lundi\", \"mardi\", \"mercredi\", \"jeudi\", \"vendredi\", \"samedi\"],\n // cf: https://fr.wikipedia.org/wiki/Mois#Abr%C3%A9viations\n // Order is important, the index will be used as value\n altMonths: [\"JAN\", \"FÉV\", \"MAR\", \"AVR\", \"MAI\", \"JUN\", \"JUL\", \"AOÛ\", \"SEP\", \"OCT\", \"NOV\", \"DÉC\"],\n // cf: http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=3617\n // Order is important, the index will be used as value\n altWeekDays: [\"DIM\", \"LUN\", \"MAR\", \"MER\", \"JEU\", \"VEN\", \"SAM\"],\n};\n\nexport const CHINESE_LOCALE = {\n everyText: \"每\",\n emptyMonths: \"每月\",\n emptyMonthDays: \"每月的每天\",\n emptyMonthDaysShort: \"每天\",\n emptyWeekDays: \"每周的每天\",\n emptyWeekDaysShort: \"每天\",\n emptyHours: \"每小时\",\n emptyMinutes: \"每分钟\",\n emptyMinutesForHourPeriod: \"每\",\n yearOption: \"年\",\n monthOption: \"月\",\n weekOption: \"周\",\n dayOption: \"天\",\n hourOption: \"小时\",\n minuteOption: \"分钟\",\n rebootOption: \"重新启动\",\n prefixPeriod: \"每\",\n prefixMonths: \"在\",\n prefixMonthDays: \"每月的\",\n prefixWeekDays: \"每周的\",\n prefixWeekDaysForMonthAndYearPeriod: \"和\",\n prefixHours: \"在\",\n prefixMinutes: \":\",\n prefixMinutesForHourPeriod: \"在\",\n suffixMinutesForHourPeriod: \"分钟\",\n errorInvalidCron: \"无效的 Cron 表达式\",\n clearButtonText: \"清除\",\n // Order is important, the index will be used as value\n months: [\"一月\", \"二月\", \"三月\", \"四月\", \"五月\", \"六月\", \"七月\", \"八月\", \"九月\", \"十月\", \"十一月\", \"十二月\"],\n // Order is important, the index will be used as value\n weekDays: [\"星期日\", \"星期一\", \"星期二\", \"星期三\", \"星期四\", \"星期五\", \"星期六\"],\n // cf: https://fr.wikipedia.org/wiki/Mois#Abr%C3%A9viations\n // Order is important, the index will be used as value\n altMonths: [\"1月\", \"2月\", \"3月\", \"4月\", \"5月\", \"6月\", \"7月\", \"8月\", \"9月\", \"10月\", \"11月\", \"12月\"],\n // cf: http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=3617\n // Order is important, the index will be used as value\n altWeekDays: [\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"],\n};\n","import React, { useEffect, useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport Cron, { PeriodType } from \"react-js-cron\";\nimport { useAsyncFn } from \"react-use\";\n\nimport \"react-js-cron/dist/styles.css\";\n\nimport { LoadingButton } from \"components\";\n\nimport { convertReactCronToQuartz, modifyCronExpression } from \"config/utils\";\nimport { InstanceRead } from \"core/request/PawsqlClient\";\nimport { useGetInstanceJob } from \"hooks/services/usePptJobHook\";\nimport { useUpdateCronConfig } from \"hooks/services/useSlowQueryHook\";\nimport FeedbackBlock from \"pages/SettingsPage/components/FeedbackBlock\";\n\nimport styles from \"./CronConfigButton.module.scss\";\nimport { CHINESE_LOCALE } from \"./CronLocaleUtils\";\nimport classNames from \"classnames\";\nimport useRouter from \"hooks/useRouter\";\nimport { useConfig } from \"config\";\n\ninterface CronConfigProps {\n jobType: string;\n instance: InstanceRead;\n}\n\nconst CronConfigButton: React.FC = ({ jobType, instance }) => {\n const { isInternal } = useConfig();\n const allowedPeriods = isInternal\n ? ([\"day\", \"week\", \"month\", \"year\", \"hour\", \"minute\", \"reboot\"] as PeriodType[])\n : ([\"day\", \"week\", \"month\", \"year\"] as PeriodType[]);\n\n const { data: instanceJob } = useGetInstanceJob(instance.dbinstanceId, jobType);\n const { pathname } = useRouter();\n const [cronExpression, setCronExpression] = useState(\n instanceJob?.cronExpression ? instanceJob?.cronExpression?.slice(2) || \"0 1 * * *\" : \"0 1 * * *\"\n );\n\n useEffect(() => {\n setCronExpression(instanceJob?.cronExpression ? instanceJob?.cronExpression?.slice(2) || \"0 1 * * *\" : \"0 1 * * *\");\n }, [pathname, instance, instanceJob]);\n\n const [updateCronSuccessMessage, setUpdateCronSuccessMessage] = useState(\"\");\n const [updateCronFailedMessage, setUpdateCronFailedMessage] = useState(\"\");\n\n const { mutateAsync: updateCronConfig } = useUpdateCronConfig();\n const { formatMessage, locale } = useIntl();\n\n const isEn = locale === \"en\";\n\n const [{ loading: updateLoading }, onUpdateConfig] = useAsyncFn(async (event: React.SyntheticEvent, field, value) => {\n try {\n event.stopPropagation();\n\n await updateCronConfig({\n jobType: jobType,\n field: field,\n dbinstanceId: instanceJob?.dbinstanceId || \"\",\n value: value,\n }).then(({ data }) => {\n if (data) {\n setUpdateCronSuccessMessage(formatMessage({ id: \"form.config.update.completed\" }));\n setTimeout(() => {\n setUpdateCronSuccessMessage(\"\");\n }, 1000);\n } else {\n setUpdateCronFailedMessage(formatMessage({ id: \"form.config.update.failed\" }));\n setTimeout(() => {\n setUpdateCronFailedMessage(\"\");\n }, 1000);\n }\n });\n } catch (e) {\n console.log(e);\n }\n }, []);\n\n return (\n
    \n {\n item = modifyCronExpression(item, isInternal);\n setCronExpression(item);\n }}\n clearButton={false}\n mode=\"single\"\n allowEmpty=\"never\"\n allowClear={false}\n allowedPeriods={allowedPeriods}\n defaultPeriod=\"day\" // 默认显示“天”选项\n />\n {updateCronSuccessMessage === \"\" && (\n {\n onUpdateConfig(event, \"cronExpression\", convertReactCronToQuartz(cronExpression));\n }}\n >\n \n \n )}\n \n
    \n );\n};\n\nexport type { CronConfigProps };\nexport default CronConfigButton;\n","import { Switch } from \"@tremor/react\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\n\nimport { Text } from \"components/Text\";\n\nimport { useUpdateCronConfig } from \"hooks/services/useSlowQueryHook\";\nimport { ApiResult, PageContent, PptJobRead } from \"core/request/PawsqlClient\";\nimport { useQueryClient } from \"react-query\";\nimport { pptJobsKeys } from \"hooks/services/usePptJobHook\";\nimport { instancesKeys } from \"hooks/services/useInstanceHook\";\n\ninterface EnableTaskProps {\n jobType: string;\n instanceJob: PptJobRead;\n}\n\nconst EnableTaskButton: React.FC = ({ jobType, instanceJob }) => {\n const [enableCronTask, setEnableCronTask] = useState(instanceJob?.enableCronTask);\n\n const { mutateAsync: updateCronConfig } = useUpdateCronConfig();\n\n useEffect(() => {\n setEnableCronTask(instanceJob.enableCronTask);\n }, [instanceJob]);\n const queryClient = useQueryClient();\n const onSubmit = useCallback(\n async (field: string, value: any) => {\n try {\n await updateCronConfig({\n jobType: jobType,\n field: field,\n dbinstanceId: instanceJob?.dbinstanceId || \"\",\n value: value,\n }).then((data) => {\n if (data.data) {\n queryClient.setQueriesData(pptJobsKeys.lists(), (lst: ApiResult> | undefined) => {\n const result =\n lst !== undefined\n ? {\n ...lst,\n data: {\n ...lst.data,\n records: lst.data.records.map((item) => {\n if ((item as PptJobRead).jobId === instanceJob.jobId) {\n return { ...item, enableCronTask: value };\n } else {\n return item;\n }\n }),\n },\n }\n : {\n code: 200,\n data: {\n records: [],\n total: 0,\n size: 0,\n current: 0,\n },\n field: \"\",\n fieldData: \"\",\n message: \"\",\n };\n return result;\n });\n\n queryClient.invalidateQueries(instancesKeys.lists());\n }\n });\n } catch (e) {\n console.log(e);\n }\n },\n [updateCronConfig, instanceJob?.dbinstanceId, jobType]\n );\n\n return (\n
    \n \n \n \n {\n e.stopPropagation();\n }}\n onChange={(value: boolean) => {\n setEnableCronTask(value);\n onSubmit(\"enableCronTask\", value);\n }}\n checked={enableCronTask}\n />\n
    \n );\n};\n\nexport type { EnableTaskProps };\nexport default EnableTaskButton;\n","import React from \"react\";\n\nimport \"react-js-cron/dist/styles.css\";\n\nimport { InstanceRead } from \"core/request/PawsqlClient\";\n\nimport CronConfigButton from \"./CronConfigButton\";\nimport EnableTaskButton from \"./EnableTaskButton\";\nimport { useGetInstanceJob } from \"hooks/services/usePptJobHook\";\n\ninterface CronTaskFormProps {\n instance: InstanceRead;\n jobType: string;\n}\n\nconst CronConfigForm: React.FC = ({ instance, jobType }) => {\n const { data: instanceJob } = useGetInstanceJob(instance.dbinstanceId, jobType);\n\n return (\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n );\n};\n\nexport type { CronTaskFormProps };\nexport default CronConfigForm;\n","import { Bold, Card, Text, Flex } from \"@tremor/react\";\nimport React, { useEffect, useState } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { DropDown } from \"components\";\nimport SmallCheckConnectionButton from \"components/SlowQueriesStatusIcon/SmallCheckConnectionButton\";\n\nimport { calculateDatabaseUptime } from \"config/utils\";\nimport { useGetInstance } from \"hooks/services/useInstanceHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport CronConfigForm from \"views/Connection/ConnectionForm/CronConfigForm\";\nimport { InstanceRead } from \"core/request/PawsqlClient\";\nimport { useGetConfig } from \"hooks/services/useConfigHook\";\nimport { useInstanceService } from \"./InstanceContext\";\nimport { isBlank } from \"utils/common\";\n\nconst FixPosition = styled.div<{ hasBanner?: boolean }>`\n position: fixed;\n top: 48px;\n top: ${({ hasBanner }) => (hasBanner ? \"48px\" : \"0px\")};\n left: 93px;\n width: 95vw;\n z-index: 100; /* 可选,根据需要调整z-index的值 */\n`;\n\nconst InstancesInfoCard: React.FC = () => {\n const { pathname } = useRouter();\n const { setInstanceId, instanceId, instances } = useInstanceService();\n const { data: adminConfig } = useGetConfig();\n let instance: InstanceRead | undefined = useGetInstance(instanceId || \"0\").data;\n instance = instance?.dbinstanceId ? instance : undefined;\n\n const { formatMessage } = useIntl();\n const { push } = useRouter();\n const options = instances.map((item) => {\n return { label: item.dbinstanceName, value: item.dbinstanceId, title: item.dbinstanceName };\n });\n\n options.unshift({\n value: \"create-new-item\",\n label: formatMessage({\n id: `instances.newInstance`,\n }),\n title: formatMessage({\n id: `instances.newInstance`,\n }),\n });\n\n options.push({\n value: \"view-all-items\",\n label: formatMessage({\n id: `instances.view.all`,\n }),\n title: formatMessage({\n id: `instances.view.all`,\n }),\n });\n\n const onCreateInstance = () => {\n push(`${RoutePaths.Ppt}/${RoutePaths.Dashboard}/${RoutePaths.InstanceType}`);\n };\n\n const onViewAllInstance = () => {\n push(`${RoutePaths.Ppt}/${RoutePaths.InstanceList}`);\n };\n\n const [basicSummary2, setBasicSummary2] = useState(\n instance\n ? formatMessage(\n {\n id: isBlank(instance.startTime) ? \"instance.basicInfo.summary.two\" : \"instance.basicInfo.summary.three\",\n },\n {\n runningTime: {calculateDatabaseUptime(instance.startTime)},\n dbHost: {instance.dbHost},\n dbPort: {instance.dbPort},\n }\n )\n : \"\"\n );\n useEffect(() => {\n setBasicSummary2(\n instance\n ? formatMessage(\n {\n id: isBlank(instance.startTime) ? \"instance.basicInfo.summary.two\" : \"instance.basicInfo.summary.three\",\n },\n {\n runningTime: {calculateDatabaseUptime(instance.startTime)},\n dbHost: {instance.dbHost},\n dbPort: {instance.dbPort},\n }\n )\n : \"\"\n );\n }, [instance, formatMessage]);\n\n return (\n \n {instance && (\n <>\n \n \n {\n if (item.value === \"create-new-item\") {\n onCreateInstance();\n } else if (item.value === \"view-all-items\") {\n onViewAllInstance();\n } else {\n setInstanceId(item.value);\n localStorage.setItem(\"current-instanceId\", item.value);\n }\n }}\n />\n {instanceId && instanceId !== \"0\" && (\n <>\n {basicSummary2}\n \n \n )}\n
    \n {pathname.includes(RoutePaths.SlowQueries) ? (\n <>\n \n \n ) : pathname.includes(RoutePaths.DbObjects) ? (\n <>\n \n \n ) : (\n <>\n )}\n
    \n
    \n
    \n \n )}\n
    \n );\n};\n\nexport default InstancesInfoCard;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { MainPageWithScroll } from \"components\";\nimport HeadTitle from \"components/HeadTitle\";\n\nimport { useGetInstance } from \"hooks/services/useInstanceHook\";\n\nimport BasicInfoComponent from \"./BasicInfoComponent\";\nimport ChartInfoCard from \"./ChartInfoCard\";\nimport { EmptyResourceListView } from \"components/EmptyResourceListView\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useInstanceService } from \"./InstanceContext\";\nimport InstancesInfoCard from \"./InstancesInfoCard\";\n\nconst Content = styled.div`\n margin: 0 42px 10px 37px;\n`;\nexport const LeftFieldCol = styled.div`\n width: 45px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n`;\n\nconst DashBoardPage: React.FC = () => {\n const { instanceId, instances } = useInstanceService();\n\n const { push } = useRouter();\n\n const { data: instance } = useGetInstance(instanceId ?? \"0\");\n\n return (\n <>\n \n \n \n \n }\n pageTitle={<>}\n >\n {instance?.dbinstanceId && instances.length > 0 ? (\n \n \n \n \n ) : (\n {\n push(`./${RoutePaths.InstanceType}`);\n }}\n />\n )}\n \n \n );\n};\n\nexport default DashBoardPage;\n","import { getInstanceDefinition, getInstanceDefinitionSteps, listInstanceDefinitions } from \"core/request/PawsqlClient\";\nimport { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\n\n// import { getInstanceDefinitionById } from \"./constants\";\n\nexport class InstanceDefinitionService extends PawsqlRequestService {\n public get(instanceDefinitionId: string) {\n return getInstanceDefinition({ id: instanceDefinitionId }, this.requestOptions);\n }\n\n public getSteps(instanceDefinitionId: string) {\n return getInstanceDefinitionSteps({ id: instanceDefinitionId }, this.requestOptions);\n }\n\n public list() {\n // return INSTANCE_DEFINITIONS;\n return listInstanceDefinitions(this.requestOptions);\n }\n\n public listLatest() {\n return { instanceDefinitions: [] };\n }\n}\n","import { useCallback } from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { useConfig } from \"config\";\nimport { InstanceDefinitionService } from \"core/domain/workspace/InstanceDefinitionService\";\nimport { useDefaultRequestMiddlewares } from \"services/useDefaultRequestMiddlewares\";\nimport { useInitService } from \"services/useInitService\";\n\nimport { InstanceDefinitionRead } from \"../../core/request/PawsqlClient\";\nimport { SCOPE_USER } from \"../Scope\";\nimport { useSuspenseQuery } from \"./useSuspenseQuery\";\n\nexport const instanceDefinitionKeys = {\n all: [SCOPE_USER, \"instanceDefinition\"] as const,\n lists: () => [...instanceDefinitionKeys.all, \"list\"] as const,\n detail: (id: string) => [...instanceDefinitionKeys.all, \"details\", id] as const,\n};\n\nfunction useGetInstanceDefinitionService(): InstanceDefinitionService {\n const { apiUrl } = useConfig();\n\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n\n return useInitService(\n () => new InstanceDefinitionService(apiUrl, requestAuthMiddleware),\n [apiUrl, requestAuthMiddleware]\n );\n}\n\nexport interface InstanceDefinitionReadWithLatestTag extends InstanceDefinitionRead {\n latestDockerImageTag?: string;\n}\n\nconst useGetInstanceDefinitionSteps = (id: string) => {\n const { formatMessage, locale } = useIntl();\n\n const updateDescription = useCallback(\n (obj: { [x: string]: any }) => {\n for (const key in obj) {\n if (key === \"description\" || key === \"title\") {\n obj[key] = formatMessage({ id: obj[key] });\n } else if (typeof obj[key] === \"object\") {\n updateDescription(obj[key]); // 递归调用遍历子对象\n }\n }\n return obj;\n },\n [locale, formatMessage]\n );\n\n const service = useGetInstanceDefinitionService();\n\n return useSuspenseQuery(instanceDefinitionKeys.detail(id), async () => {\n const { data } = await service.getSteps(id);\n const newData = data.map((obj) => {\n obj = {\n ...obj,\n connectionSpecification: obj ? JSON.parse(obj.connectionSpecification + \"\") : null,\n };\n obj = updateDescription(obj) as InstanceDefinitionRead;\n return obj;\n });\n return newData;\n });\n};\n\nconst useGetInstanceDefinition = (id: string) => {\n const { formatMessage } = useIntl();\n\n const updateDescription = useCallback(\n (obj: { [x: string]: any }) => {\n for (const key in obj) {\n if (key === \"description\" || key === \"title\" || key === \"name\") {\n obj[key] = formatMessage({ id: obj[key] });\n } else if (typeof obj[key] === \"object\") {\n updateDescription(obj[key]); // 递归调用遍历子对象\n }\n }\n return obj;\n },\n [formatMessage]\n );\n\n const service = useGetInstanceDefinitionService();\n\n return useSuspenseQuery(instanceDefinitionKeys.detail(id), async () => {\n let { data: obj } = await service.get(id);\n obj = {\n ...obj,\n connectionSpecification: obj ? JSON.parse(obj.connectionSpecification + \"\") : null,\n };\n obj = updateDescription(obj) as InstanceDefinitionRead;\n return obj;\n });\n};\n\nconst useInstanceDefinitionList = (): {\n instanceDefinitions: InstanceDefinitionReadWithLatestTag[];\n} => {\n const { formatMessage } = useIntl();\n\n const updateDescription = useCallback(\n (obj: { [x: string]: any }) => {\n for (const key in obj) {\n if (key === \"description\" || key === \"title\" || key === \"name\") {\n obj[key] = formatMessage({ id: obj[key] });\n } else if (typeof obj[key] === \"object\") {\n updateDescription(obj[key]); // 递归调用遍历子对象\n }\n }\n return obj;\n },\n [formatMessage]\n );\n\n const service = useGetInstanceDefinitionService();\n\n return useSuspenseQuery(instanceDefinitionKeys.lists(), async () => {\n const { data } = await service.list();\n const newData = data.instanceDefinitions.map((obj) => {\n obj = {\n ...obj,\n connectionSpecification: obj ? JSON.parse(obj.connectionSpecification + \"\") : null,\n };\n obj = updateDescription(obj) as InstanceDefinitionRead;\n\n return obj;\n });\n\n return { instanceDefinitions: newData };\n });\n};\n\n// export const useGetInstanceDefinitionSpecification = (id: string): InstanceDefinitionRead[] => {\n// const service = useGetInstanceDefinitionService();\n// return useSuspenseQuery(instanceDefinitionKeys.detail(id), () => service.get(id));\n// };\n\nexport { useGetInstanceDefinition, useGetInstanceDefinitionSteps, useInstanceDefinitionList };\n","import { CommonRequestError } from \"./CommonRequestError\";\nimport { CheckConnectionReadStatus, SynchronousJobRead } from \"./PawsqlClient\";\n\nexport interface SynchronousJobReadWithStatus extends SynchronousJobRead {\n status: CheckConnectionReadStatus;\n}\n\nexport class LogsRequestError extends CommonRequestError {\n __type = \"common.errorWithLogs\";\n\n constructor(private jobInfo: SynchronousJobReadWithStatus, msg?: string) {\n super(undefined, msg);\n this._status = 400;\n }\n\n static extractJobInfo(error: unknown) {\n if (!error) {\n return null;\n }\n return isLogsRequestError(error) ? error.jobInfo : null;\n }\n}\n\nexport function isLogsRequestError(error: unknown): error is LogsRequestError {\n return (error as LogsRequestError).__type === \"common.errorWithLogs\";\n}\n","import { FormattedMessage } from \"react-intl\";\n\nimport { FieldError } from \"core/domain/errors/FieldError\";\n\nexport const createFormErrorMessage = (error: {\n status?: number;\n message?: string;\n data?: any;\n type?: string;\n}): FieldError | JSX.Element | string | null => {\n if (error.status === 413) {\n if (error.type?.includes(\"new-workspace\")) {\n return ;\n } else if (error.type?.includes(\"new-workload\")) {\n return ;\n }\n\n return ;\n }\n if (error.message === \"workload.has.too.much.query\") {\n return (\n \n );\n }\n\n if (error.message === \"server.timeout.message\") {\n return ;\n }\n\n if (error.message?.startsWith(\"workspace.has.no.ddl\") && error.message.length > \"workspace.has.no.ddl\".length) {\n const matches = error.message.match(/Line:(\\d+), Position:(\\d+)/);\n if (matches && matches.length === 3) {\n const line = matches[1];\n const position = matches[2];\n return ;\n } else {\n return ;\n }\n }\n\n if (error.message?.includes(\".\") && !error.message?.includes(\" \")) {\n return ;\n }\n\n if (error.message) {\n return error.message;\n }\n\n if (!error.status || error.status === 0) {\n return null;\n }\n\n return error.status === 400 ? (\n \n ) : (\n \n );\n};\n","import { useEffect } from \"react\";\nimport { usePrevious } from \"react-use\";\n\nimport { useFormChangeTrackerService, useUniqueFormId } from \"hooks/services/FormChangeTracker\";\n\ninterface Props {\n changed: boolean;\n formId?: string;\n}\n\nexport const FormChangeTracker: React.FC = ({ changed, formId }) => {\n const id = useUniqueFormId(formId);\n const prevChanged = usePrevious(changed);\n\n const { trackFormChange } = useFormChangeTrackerService();\n\n useEffect(() => {\n if (changed !== prevChanged) {\n trackFormChange(id, changed);\n }\n }, [id, changed, trackFormChange, prevChanged]);\n\n return null;\n};\n","import {\n WorkspaceDefinitionRead,\n WorkspaceDefinitionSpecificationRead,\n MyWorkspaceRead,\n InstanceDefinitionRead,\n InstanceDefinitionSpecificationRead,\n InstanceRead,\n} from \"../../request/PawsqlClient\";\nimport { MyInstanceDefinition, MyInstanceDefinitionSpecification, MyInstanceT } from \"./types\";\n\nexport function isWorkspace(workspace: MyInstanceT): workspace is MyWorkspaceRead {\n return \"workspaceId\" in workspace;\n}\n\nexport function isInstance(workspace: MyInstanceT): workspace is InstanceRead {\n return \"dbinstanceId\" in workspace;\n}\n\nexport function isWorkspaceDefinition(workspace: MyInstanceDefinition): workspace is WorkspaceDefinitionRead {\n return (workspace as WorkspaceDefinitionRead).workspaceDefinitionId !== undefined;\n}\n\nexport function isInstanceDefinition(workspace: MyInstanceDefinition): workspace is InstanceDefinitionRead {\n return (workspace as InstanceDefinitionRead).instanceDefinitionId !== undefined;\n}\n\nexport function isWorkspaceDefinitionSpecification(\n workspace: MyInstanceDefinitionSpecification\n): workspace is WorkspaceDefinitionSpecificationRead {\n return (workspace as WorkspaceDefinitionSpecificationRead).workspaceDefinitionId !== undefined;\n}\n\nexport function isInstanceDefinitionSpecification(\n workspace: MyInstanceDefinitionSpecification\n): workspace is InstanceDefinitionSpecificationRead {\n return (workspace as InstanceDefinitionSpecificationRead).instanceDefinitionId !== undefined;\n}\n\n// eslint-disable-next-line no-template-curly-in-string\nexport const WORKSPACE_NAMESPACE_TAG = \"${WORKSPACE_NAMESPACE}\";\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { Modal } from \"components\";\n\ninterface RequestInstanceModalProps {\n onClose: () => void;\n instanceType: \"workspace\" | \"workload\" | \"instance\";\n initialName?: string;\n}\nconst Content = styled.div`\n width: 492px;\n padding: 22px 34px 36px 32px;\n`;\n\nconst MyRequestInstanceModal: React.FC = ({ onClose }) => {\n return (\n \n \n \n );\n};\n\nexport default MyRequestInstanceModal;\n","import { useField } from \"formik\";\nimport React from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\n\nimport { Input, ControlLabels } from \"components\";\n\nimport { FormBaseItem } from \"core/form/types\";\n\ninterface ConnnectorNameControlProps {\n property: FormBaseItem;\n formType: \"workspace\" | \"workload\" | \"instance\";\n disabled?: boolean;\n}\n\nexport const MyWorkspaceNameControl: React.FC = ({ property, formType, disabled }) => {\n const { formatMessage } = useIntl();\n const [field, fieldMeta] = useField(property.path);\n\n return (\n }\n message={formatMessage({\n id: `form.${formType}Name.message`,\n })}\n >\n \n \n );\n};\n","import { DEV_IMAGE_TAG } from \"./constants\";\nimport { MyInstanceDefinition, MyInstanceT } from \"./types\";\nimport { isInstance, isInstanceDefinition, isWorkspace, isWorkspaceDefinition } from \"./Workspace\";\n\nexport class MyWorkspace {\n static id(workspace: MyInstanceDefinition): string {\n return isWorkspaceDefinition(workspace)\n ? workspace.workspaceDefinitionId\n : isInstanceDefinition(workspace)\n ? workspace.instanceDefinitionId || workspace.name\n : workspace.workloadDefinitionId;\n }\n\n static isDeprecated(workspace: MyInstanceDefinition): boolean {\n return !workspace.latestDockerImageTag;\n }\n\n static hasNewerVersion(workspace: MyInstanceDefinition): boolean {\n return (\n (!MyWorkspace.isDeprecated(workspace) && workspace.latestDockerImageTag !== workspace.dockerImageTag) ||\n workspace.dockerImageTag === DEV_IMAGE_TAG\n );\n }\n}\n\nexport class WorkspaceHelper {\n static id(instance: MyInstanceT): string {\n return isWorkspace(instance)\n ? instance.workspaceId\n : isInstance(instance)\n ? instance.dbinstanceId\n : instance.destinationId;\n }\n}\n","import { useField } from \"formik\";\nimport React, { useEffect } from \"react\";\n\nimport { MyInstanceDefinition } from \"core/domain/workspace\";\nimport { MyWorkspace } from \"core/domain/workspace/MyWorkspace\";\nimport { FormBaseItem } from \"core/form/types\";\nimport { ReleaseStage } from \"core/request/PawsqlClient\";\nimport { useDocumentationPanelContext } from \"views/Workspace/DocumentationLayout/DocumentationPanelContext\";\n\n// import { WarningMessage } from \"../WarningMessage\";\n\ninterface InstanceServiceTypeControlProps {\n property: FormBaseItem;\n formType: \"workspace\" | \"workload\" | \"instance\";\n availableServices: MyInstanceDefinition[];\n isEditMode?: boolean;\n documentationUrl?: string;\n onChangeServiceType?: (id: string) => void;\n onOpenRequestInstanceModal: (initialName: string) => void;\n disabled?: boolean;\n}\n\nconst PptInstanceServiceTypeControl: React.FC = ({\n property,\n availableServices,\n documentationUrl,\n}) => {\n const [field] = useField(property.path);\n\n const { setDocumentationUrl } = useDocumentationPanelContext();\n\n useEffect(() => setDocumentationUrl(documentationUrl ?? \"\"), [documentationUrl, setDocumentationUrl]);\n\n const selectedService = React.useMemo(\n () => availableServices.find((s) => MyWorkspace.id(s) === field.value),\n [field.value, availableServices]\n );\n\n return (\n <>\n {selectedService &&\n (selectedService.releaseStage === ReleaseStage.alpha || selectedService.releaseStage === ReleaseStage.beta) && (\n <>\n // \n )}\n \n );\n};\n\nexport { PptInstanceServiceTypeControl };\n","import ProgressBar from \"components/ProgressBar\";\nimport React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\nimport { Button } from \"components\";\n\nconst LoadingContainer = styled.div`\n margin: 34px 0 9px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst StyledButton = styled(Button)`\n margin-left: 10px;\n`;\n\n// Progress Bar runs 2min for checking connections\nconst PROGRESS_BAR_TIME = 60 * 2;\n\ninterface TestingConnectionSpinnerProps {\n isCancellable?: boolean;\n onCancelTesting?: () => void;\n}\n\nconst TestingConnectionSpinner: React.FC = (props) => {\n return (\n \n \n {props.isCancellable && (\n props.onCancelTesting?.()}>\n \n \n )}\n \n );\n};\n\nexport default TestingConnectionSpinner;\n","import React from \"react\";\n// import { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\n// import { StatusIcon } from \"components\";\n\nconst LoadingContainer = styled.div`\n font-weight: 600;\n font-size: 14px;\n line-height: 17px;\n color: ${({ theme }) => theme.darkPrimaryColor};\n margin-top: 34px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\n// const Success = styled(StatusIcon)`\n// width: 26px;\n// min-width: 26px;\n// height: 26px;\n// padding-top: 5px;\n// font-size: 17px;\n// `;\n\nconst TestingInstanceSuccess: React.FC<{ isFirstStep: boolean }> = () => (\n \n {/* */}\n {/* {isFirstStep ? (\n \n ) : (\n \n )} */}\n \n);\n\nexport default TestingInstanceSuccess;\n","import React, { useEffect, useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\n\nimport { TestingInstanceError, FetchingCreatorError } from \"./TestingConnectionError\";\nimport TestingConnectionSpinner from \"./TestingConnectionSpinner\";\nimport TestingInstanceSuccess from \"./TestingInstanceSuccess\";\n\ninterface IProps {\n formType: \"workspace\" | \"workload\" | \"instance\";\n isSubmitting: boolean;\n errorMessage?: React.ReactNode;\n hasSuccess?: boolean;\n isLoadSchema?: boolean;\n fetchingCreatorError?: Error | null;\n isFirstStep: boolean;\n isTestConnectionInProgress: boolean;\n onCancelTesting?: () => void;\n}\n\nconst ButtonContainer = styled.div`\n margin-top: 34px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nconst SubmitButton = styled(Button)`\n margin-left: auto;\n`;\n\nconst PptCreateControls: React.FC = ({\n isTestConnectionInProgress,\n isSubmitting,\n // formType,\n hasSuccess,\n errorMessage,\n fetchingCreatorError,\n isLoadSchema,\n onCancelTesting,\n isFirstStep,\n}) => {\n const { user, isDemo } = useMyAuthService();\n\n const [disableCreate, setDisableCreate] = useState(false);\n\n useEffect(() => {\n setDisableCreate(user ? user.expireDays <= 0 : true);\n }, [user, isDemo]);\n if (isSubmitting) {\n return ;\n }\n\n if (hasSuccess) {\n return ;\n }\n\n return (\n \n {errorMessage && }\n {isFirstStep && (\n <>\n {fetchingCreatorError && }\n \n \n \n \n )}\n \n );\n};\n\nexport default PptCreateControls;\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { StatusIcon } from \"components\";\n\nconst LoadingContainer = styled.div`\n font-weight: 600;\n font-size: 14px;\n line-height: 17px;\n color: ${({ theme }) => theme.darkPrimaryColor};\n margin-top: 34px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst Success = styled(StatusIcon)`\n width: 26px;\n min-width: 26px;\n height: 26px;\n padding-top: 5px;\n font-size: 17px;\n`;\n\nconst TestingConnectionSuccess: React.FC = () => (\n \n \n \n \n);\n\nexport default TestingConnectionSuccess;\n","import { FormBlock } from \"core/form/types\";\nimport { naturalComparator } from \"utils/objects\";\n\nimport { InstanceDefinitionSpecification, MyInstanceDefinitionSpecification } from \"../../../core/domain/workspace\";\n\nexport function makeConnectionConfigurationPath(path: string[]): string {\n return `connectionConfiguration.${path.join(\".\")}`;\n}\n\nexport interface OauthOutputSpec {\n client_id: {\n type: string;\n path_in_instance_config: [\"credentials\", \"client_id\"];\n };\n client_secret: {\n type: string;\n path_in_instance_config: [\"credentials\", \"client_secret\"];\n };\n}\n\ntype OAuthOutputSpec = { properties: Record } | undefined;\n\nexport function serverProvidedOauthPaths(creator?: InstanceDefinitionSpecification): {\n [key: string]: { path_in_instance_config: string[] };\n} {\n return {\n ...((creator?.advancedAuth?.oauthConfigSpecification?.completeOAuthOutputSpecification as OAuthOutputSpec)\n ?.properties ?? {}),\n ...((creator?.advancedAuth?.oauthConfigSpecification?.completeOAuthServerOutputSpecification as OAuthOutputSpec)\n ?.properties ?? {}),\n };\n}\n\nexport function myServerProvidedOauthPaths(creator?: MyInstanceDefinitionSpecification): {\n [key: string]: { path_in_instance_config: string[] };\n} {\n return {\n ...((creator?.advancedAuth?.oauthConfigSpecification?.completeOAuthOutputSpecification as OAuthOutputSpec)\n ?.properties ?? {}),\n ...((creator?.advancedAuth?.oauthConfigSpecification?.completeOAuthServerOutputSpecification as OAuthOutputSpec)\n ?.properties ?? {}),\n };\n}\n\nexport function OrderComparator(a: FormBlock, b: FormBlock): number {\n const aIsNumber = Number.isInteger(a.order);\n const bIsNumber = Number.isInteger(b.order);\n\n switch (true) {\n case aIsNumber && bIsNumber:\n return (a.order as number) - (b.order as number);\n case aIsNumber && !bIsNumber:\n return -1;\n case bIsNumber && !aIsNumber:\n return 1;\n default:\n return naturalComparator(a.fieldKey, b.fieldKey);\n }\n}\n","import { useFormikContext } from \"formik\";\nimport React, { useContext, useMemo } from \"react\";\n\nimport { MyInstanceDefinition, MyInstanceDefinitionSpecification } from \"core/domain/workspace\";\nimport { MyWorkspace } from \"core/domain/workspace/MyWorkspace\";\nimport { WidgetConfigMap } from \"core/form/types\";\n\nimport { ServiceFormValues } from \"./types\";\nimport { makeConnectionConfigurationPath, myServerProvidedOauthPaths } from \"./utils\";\n\ninterface Context {\n isFirstStep: boolean;\n formType: \"workspace\" | \"workload\" | \"instance\";\n getValues: (values: ServiceFormValues) => ServiceFormValues;\n widgetsInfo: WidgetConfigMap;\n setUiWidgetsInfo: (path: string, value: Record) => void;\n unfinishedFlows: Record;\n addUnfinishedFlow: (key: string, info?: Record) => void;\n removeUnfinishedFlow: (key: string) => void;\n resetUiFormProgress: () => void;\n selectedService?: MyInstanceDefinition;\n selectedInstance?: MyInstanceDefinitionSpecification;\n isLoadingSchema?: boolean;\n isEditMode?: boolean;\n readonly?: boolean;\n isAuthFlowSelected?: boolean;\n authFieldsToHide: string[];\n}\n\nconst FormWidgetContext = React.createContext(null);\n\nconst usePptServiceForm = (): Context => {\n const serviceFormHelpers = useContext(FormWidgetContext);\n if (!serviceFormHelpers) {\n throw new Error(\"useServiceForm should be used within ServiceFormContextProvider\");\n }\n return serviceFormHelpers;\n};\n\nconst PptServiceFormContextProvider: React.FC<{\n isFirstStep: boolean;\n widgetsInfo: WidgetConfigMap;\n setUiWidgetsInfo: (path: string, value: Record) => void;\n formType: \"workspace\" | \"workload\" | \"instance\";\n isLoadingSchema?: boolean;\n isEditMode?: boolean;\n readonly?: boolean;\n availableServices: MyInstanceDefinition[];\n getValues: (values: ServiceFormValues) => ServiceFormValues;\n selectedInstance?: MyInstanceDefinitionSpecification;\n}> = ({\n availableServices,\n children,\n widgetsInfo,\n setUiWidgetsInfo,\n selectedInstance,\n getValues,\n formType,\n isLoadingSchema,\n isEditMode,\n readonly,\n isFirstStep,\n}) => {\n const { values } = useFormikContext();\n\n const serviceType = values.serviceType;\n const selectedService = useMemo(\n () => availableServices.find((s) => MyWorkspace.id(s) === serviceType),\n [availableServices, serviceType]\n );\n\n const isAuthFlowSelected = false;\n\n const authFieldsToHide = useMemo(\n () =>\n Object.values(myServerProvidedOauthPaths(selectedInstance)).map((f) =>\n makeConnectionConfigurationPath(f.path_in_instance_config)\n ),\n [selectedInstance]\n );\n\n const ctx = useMemo(() => {\n const unfinishedFlows = widgetsInfo[\"_common.unfinishedFlows\"] ?? {};\n return {\n isFirstStep,\n widgetsInfo,\n isAuthFlowSelected,\n authFieldsToHide: isAuthFlowSelected ? authFieldsToHide : [],\n getValues,\n setUiWidgetsInfo,\n selectedService,\n selectedInstance: selectedInstance,\n formType,\n isLoadingSchema,\n isEditMode,\n readonly,\n unfinishedFlows,\n addUnfinishedFlow: (path, info) =>\n setUiWidgetsInfo(\"_common.unfinishedFlows\", {\n ...unfinishedFlows,\n [path]: info ?? {},\n }),\n removeUnfinishedFlow: (path: string) =>\n setUiWidgetsInfo(\n \"_common.unfinishedFlows\",\n Object.fromEntries(Object.entries(unfinishedFlows).filter(([key]) => key !== path))\n ),\n resetUiFormProgress: () => setUiWidgetsInfo(\"_common.unfinishedFlows\", {}),\n };\n }, [\n isFirstStep,\n widgetsInfo,\n isAuthFlowSelected,\n authFieldsToHide,\n getValues,\n setUiWidgetsInfo,\n selectedService,\n selectedInstance,\n formType,\n isLoadingSchema,\n isEditMode,\n readonly,\n ]);\n\n return {children};\n};\n\nexport { usePptServiceForm, PptServiceFormContextProvider };\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n\nimport { TestingConnectionError } from \"./TestingConnectionError\";\nimport TestingConnectionSpinner from \"./TestingConnectionSpinner\";\nimport TestingConnectionSuccess from \"./TestingConnectionSuccess\";\nimport { usePptServiceForm } from \"../PptServiceFormContext\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\n\nconst Controls = styled.div`\n margin-top: 34px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\n\nconst ButtonContainer = styled.span`\n margin-left: 10px;\n`;\n\ninterface IProps {\n formType: \"workspace\" | \"workload\" | \"instance\";\n isSubmitting: boolean;\n isValid: boolean;\n dirty: boolean;\n resetForm: () => void;\n onRetest?: () => void;\n onCancelTesting?: () => void;\n isTestConnectionInProgress?: boolean;\n successMessage?: React.ReactNode;\n errorMessage?: React.ReactNode;\n}\n\nconst PptEditControls: React.FC = ({\n isSubmitting,\n isTestConnectionInProgress,\n isValid,\n dirty,\n formType,\n onRetest,\n successMessage,\n errorMessage,\n onCancelTesting,\n}) => {\n const { unfinishedFlows } = usePptServiceForm();\n const { push } = useRouter();\n if (isSubmitting) {\n return ;\n }\n\n const showStatusMessage = () => {\n if (errorMessage) {\n return ;\n }\n if (successMessage) {\n return ;\n }\n return null;\n };\n\n return (\n <>\n {showStatusMessage()}\n \n
    \n 0}\n >\n \n \n \n {\n push(`${RoutePaths.Ppt}`);\n }}\n >\n \n \n \n
    \n {onRetest && (\n \n )}\n
    \n \n );\n};\n\nexport default PptEditControls;\n","import React, { useEffect, useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\n\nimport { Link } from \"components\";\n\nimport { useConfig } from \"config\";\n\ninterface ShowLoadingMessageProps {\n creator?: string;\n}\n\nconst TIMEOUT_MS = 10000;\n\nconst ShowLoadingMessage: React.FC = ({ creator }) => {\n const config = useConfig();\n const [longLoading, setLongLoading] = useState(false);\n\n useEffect(() => {\n setLongLoading(false);\n const timer = setTimeout(() => setLongLoading(true), TIMEOUT_MS);\n return () => clearTimeout(timer);\n }, [creator]);\n\n return longLoading ? (\n (\n \n {lnk}\n \n ),\n }}\n />\n ) : (\n \n );\n};\n\nexport default ShowLoadingMessage;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { Label, TextWithHTML } from \"components\";\n\nconst GroupTitle = styled.div`\n margin-top: -23px;\n background: ${({ theme }) => theme.whiteColor};\n padding: 0 5px;\n display: inline-block;\n vertical-align: middle;\n\n & > div {\n min-width: 180px;\n display: inline-block;\n }\n`;\n\nconst FormGroup = styled.div`\n margin: 41px 0 27px;\n border: 2px solid ${({ theme }) => theme.greyColor20};\n box-sizing: border-box;\n border-radius: 8px;\n padding: 0 20px;\n`;\n\ninterface GroupControlsProps {\n title: React.ReactNode;\n description?: string;\n name?: string;\n}\n\nconst GroupControls: React.FC = ({ title, description, children, name }) => {\n return (\n \n {title}\n {description && \n );\n};\n\nexport default GroupControls;\n","import GroupControls from \"./GroupControls\";\n\nexport default GroupControls;\n","import { useFormikContext } from \"formik\";\nimport React, { useContext, useMemo } from \"react\";\n\nimport { Workspace, InstanceDefinition, InstanceDefinitionSpecification } from \"core/domain/workspace\";\nimport { WidgetConfigMap } from \"core/form/types\";\n\nimport { ServiceFormValues } from \"./types\";\nimport { makeConnectionConfigurationPath, serverProvidedOauthPaths } from \"./utils\";\n\ninterface Context {\n formType: \"source\" | \"destination\";\n getValues: (values: ServiceFormValues) => ServiceFormValues;\n widgetsInfo: WidgetConfigMap;\n setUiWidgetsInfo: (path: string, value: Record) => void;\n unfinishedFlows: Record;\n addUnfinishedFlow: (key: string, info?: Record) => void;\n removeUnfinishedFlow: (key: string) => void;\n resetUiFormProgress: () => void;\n selectedService?: InstanceDefinition;\n selectedInstance?: InstanceDefinitionSpecification;\n isLoadingSchema?: boolean;\n isEditMode?: boolean;\n isAuthFlowSelected?: boolean;\n authFieldsToHide: string[];\n}\n\nconst FormWidgetContext = React.createContext(null);\n\nconst useServiceForm = (): Context => {\n const serviceFormHelpers = useContext(FormWidgetContext);\n if (!serviceFormHelpers) {\n throw new Error(\"useServiceForm should be used within ServiceFormContextProvider\");\n }\n return serviceFormHelpers;\n};\n\nconst ServiceFormContextProvider: React.FC<{\n widgetsInfo: WidgetConfigMap;\n setUiWidgetsInfo: (path: string, value: Record) => void;\n formType: \"source\" | \"destination\";\n isLoadingSchema?: boolean;\n isEditMode?: boolean;\n availableServices: InstanceDefinition[];\n getValues: (values: ServiceFormValues) => ServiceFormValues;\n selectedInstance?: InstanceDefinitionSpecification;\n}> = ({\n availableServices,\n children,\n widgetsInfo,\n setUiWidgetsInfo,\n selectedInstance,\n getValues,\n formType,\n isLoadingSchema,\n isEditMode,\n}) => {\n const { values } = useFormikContext();\n\n const serviceType = values.serviceType;\n const selectedService = useMemo(\n () => availableServices.find((s) => Workspace.id(s) === serviceType),\n [availableServices, serviceType]\n );\n\n const isAuthFlowSelected = false;\n\n const authFieldsToHide = useMemo(\n () =>\n Object.values(serverProvidedOauthPaths(selectedInstance)).map((f) =>\n makeConnectionConfigurationPath(f.path_in_instance_config)\n ),\n [selectedInstance]\n );\n\n const ctx = useMemo(() => {\n const unfinishedFlows = widgetsInfo[\"_common.unfinishedFlows\"] ?? {};\n return {\n widgetsInfo,\n isAuthFlowSelected,\n authFieldsToHide: isAuthFlowSelected ? authFieldsToHide : [],\n getValues,\n setUiWidgetsInfo,\n selectedService,\n selectedInstance: selectedInstance,\n formType,\n isLoadingSchema,\n isEditMode,\n unfinishedFlows,\n addUnfinishedFlow: (path, info) =>\n setUiWidgetsInfo(\"_common.unfinishedFlows\", {\n ...unfinishedFlows,\n [path]: info ?? {},\n }),\n removeUnfinishedFlow: (path: string) =>\n setUiWidgetsInfo(\n \"_common.unfinishedFlows\",\n Object.fromEntries(Object.entries(unfinishedFlows).filter(([key]) => key !== path))\n ),\n resetUiFormProgress: () => setUiWidgetsInfo(\"_common.unfinishedFlows\", {}),\n };\n }, [\n widgetsInfo,\n isAuthFlowSelected,\n authFieldsToHide,\n getValues,\n setUiWidgetsInfo,\n selectedService,\n selectedInstance,\n formType,\n isLoadingSchema,\n isEditMode,\n ]);\n\n return {children};\n};\n\nexport { useServiceForm, ServiceFormContextProvider };\n","import styled from \"styled-components\";\n\nexport const SectionContainer = styled.div`\n margin-bottom: 27px;\n`;\n","import { useFormikContext, setIn } from \"formik\";\nimport React, { useCallback, useMemo } from \"react\";\nimport styled from \"styled-components\";\n\nimport { Label, DropDown } from \"components\";\nimport { IDataItem } from \"components/base/DropDown/components/Option\";\nimport GroupControls from \"components/GroupControls\";\n\nimport { FormBlock, FormConditionItem } from \"core/form/types\";\nimport { isDefined } from \"utils/common\";\n\nimport { useServiceForm } from \"../../serviceFormContext\";\nimport { ServiceFormValues } from \"../../types\";\nimport { FormSection } from \"./FormSection\";\n\nconst GroupLabel = styled(Label)`\n width: auto;\n margin-right: 8px;\n padding-top: 8px;\n display: inline-block;\n padding-bottom: 0px;\n vertical-align: middle;\n`;\n\nconst ConditionControls = styled.div`\n padding-top: 25px;\n`;\n\ninterface ConditionSectionProps {\n formField: FormConditionItem;\n path?: string;\n disabled?: boolean;\n}\n\n/**\n * ConditionSection is responsible for handling oneOf sections of form\n */\nexport const ConditionSection: React.FC = ({ formField, path, disabled }) => {\n const { widgetsInfo, setUiWidgetsInfo } = useServiceForm();\n const { values, setValues } = useFormikContext();\n\n const currentlySelectedCondition = widgetsInfo[formField.path]?.selectedItem;\n\n const onOptionChange = useCallback(\n (selectedItem: IDataItem) => {\n const newSelectedPath = formField.conditions[selectedItem.value];\n\n const newValues =\n newSelectedPath._type === \"formGroup\"\n ? newSelectedPath.properties?.reduce(\n (acc: ServiceFormValues, property: FormBlock) =>\n property._type === \"formItem\" && isDefined(property.const)\n ? setIn(acc, property.path, property.const)\n : acc,\n values\n )\n : values;\n\n setUiWidgetsInfo(formField.path, {\n selectedItem: selectedItem.value,\n });\n setValues(newValues);\n },\n [values, formField.conditions, setValues, setUiWidgetsInfo, formField.path]\n );\n\n const options = useMemo(\n () =>\n Object.keys(formField.conditions).map((dataItem) => ({\n label: dataItem,\n value: dataItem,\n })),\n [formField.conditions]\n );\n const label = formField.title || formField.fieldKey;\n\n return (\n \n {label ? {label}: : null}\n \n \n }\n >\n \n \n \n \n );\n};\n","import { faFile } from \"@fortawesome/free-regular-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\nimport { DropzoneOptions, useDropzone } from \"react-dropzone\";\nimport styled from \"styled-components\";\n\nconst Content = styled.div<{ hasFiles: boolean }>`\n width: 100%;\n outline: none;\n padding: 12px 10px;\n border-radius: 4px;\n font-size: 14px;\n line-height: 20px;\n font-weight: normal;\n border: 1px solid ${({ theme, hasFiles }) => (hasFiles ? theme.primaryColor : theme.greyColor0)};\n background: ${({ theme, hasFiles }) => (hasFiles ? theme.primaryColor12 : theme.greyColor0)};\n color: ${({ theme }) => theme.greyColor40};\n cursor: pointer;\n min-height: 95px;\n text-align: center;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n\n &:hover {\n background: ${({ theme }) => theme.greyColor20};\n border-color: ${({ theme }) => theme.greyColor20};\n }\n\n &:active {\n border-color: ${({ theme }) => theme.primaryColor};\n }\n\n &:disabled {\n pointer-events: none;\n background: ${({ theme }) => theme.greyColor55};\n }\n`;\n\nconst FileView = styled.div`\n color: ${({ theme }) => theme.textColor};\n\n &:first-child {\n margin-top: 7px;\n }\n`;\n\nconst FileIcon = styled(FontAwesomeIcon)`\n font-size: 16px;\n margin-right: 8px;\n`;\n\ninterface IProps {\n className?: string;\n mainText?: React.ReactNode;\n options?: DropzoneOptions;\n}\n\nconst FileDropZone: React.FC = ({ className, mainText, options }) => {\n const { acceptedFiles, getRootProps, getInputProps } = useDropzone(options);\n\n return (\n \n \n {mainText}\n
    \n {acceptedFiles.map((file, index) => (\n \n \n {file.name}\n \n ))}\n
    \n
    \n );\n};\n\nexport default FileDropZone;\n","import FileDropZone from \"./FileDropZone\";\n\nexport default FileDropZone;\n","import React, { useRef } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n\nconst ComponentContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nconst SmallButton = styled(Button)`\n margin-left: 8px;\n padding: 6px 8px 7px;\n`;\n\ninterface ConfirmationControlProps {\n component: React.ReactElement;\n showButtons?: boolean;\n isEditInProgress?: boolean;\n onStart: () => void;\n onCancel: () => void;\n onDone: () => void;\n disabled?: boolean;\n}\n\nconst ConfirmationControl: React.FC = ({\n isEditInProgress,\n showButtons,\n // onStart,\n onCancel,\n onDone,\n component,\n disabled,\n}) => {\n const controlRef = useRef(null);\n\n if (!showButtons) {\n return <>{component};\n }\n\n // const handleStartEdit = () => {\n // if (controlRef && controlRef.current) {\n // controlRef.current?.removeAttribute?.(\"disabled\");\n // controlRef.current?.focus?.();\n // }\n // onStart();\n // };\n\n return (\n \n {React.cloneElement(component, {\n ref: controlRef,\n autoFocus: isEditInProgress,\n disabled: !isEditInProgress || disabled,\n })}\n {isEditInProgress ? (\n <>\n \n \n \n \n \n \n \n ) : (\n // \n // \n // \n <>\n )}\n \n );\n};\n\nexport default ConfirmationControl;\n","import { FieldArray, useField } from \"formik\";\nimport React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { DropDown, Input, Multiselect, TextArea, TagInput } from \"components\";\nimport FileDropZone from \"components/FileDropZone\";\n\nimport { FormBaseItem } from \"core/form/types\";\nimport { isDefined } from \"utils/common\";\n\nimport ConfirmationControl from \"./ConfirmationControl\";\n\ninterface ControlProps {\n property: FormBaseItem;\n name: string;\n unfinishedFlows: Record;\n addUnfinishedFlow: (key: string, info?: Record) => void;\n removeUnfinishedFlow: (key: string) => void;\n disabled?: boolean;\n}\n\nexport const Control: React.FC = ({\n property,\n name,\n addUnfinishedFlow,\n removeUnfinishedFlow,\n unfinishedFlows,\n disabled,\n}) => {\n const [field, meta, form] = useField(name);\n\n // TODO: think what to do with other cases\n let placeholder: string | undefined;\n\n switch (typeof property.examples) {\n case \"object\":\n if (Array.isArray(property.examples)) {\n placeholder = property.examples[0] + \"\";\n }\n break;\n case \"number\":\n placeholder = `${property.examples}`;\n break;\n case \"string\":\n placeholder = property.examples;\n break;\n }\n\n if (property.type === \"array\" && !property.enum) {\n return (\n (\n ({\n id,\n value,\n }))}\n onEnter={(newItem) => arrayHelpers.push(newItem)}\n onDelete={(item) => arrayHelpers.remove(Number.parseInt(item))}\n addOnBlur\n error={!!meta.error}\n disabled={disabled}\n />\n )}\n />\n );\n }\n\n if (property.type === \"array\" && property.enum) {\n const data =\n property.enum?.length && typeof property.enum[0] !== \"object\"\n ? (property.enum as string[] | number[])\n : undefined;\n return (\n form.setValue(dataItems)}\n value={field.value}\n disabled={disabled}\n />\n );\n }\n\n const value = field.value ?? property.default;\n\n if (property.type === \"file\") {\n // return ;\n const DropZoneSubtitle = styled.div`\n font-size: 11px;\n font-weight: bold;\n `;\n\n const DropZoneMainText = () => (\n
    \n \n \n {/* */}\n
    \n );\n return (\n }\n options={{\n onDrop: (files) => {\n form.setValue(files[0]);\n },\n maxFiles: 1,\n }}\n />\n );\n }\n if (property.enum) {\n return (\n ({\n label: dataItem?.toString() ?? \"\",\n value: dataItem?.toString() ?? \"\",\n }))}\n onChange={(selectedItem) => selectedItem && form.setValue(selectedItem.value)}\n value={value}\n isDisabled={disabled}\n />\n );\n } else if (property.multiline && !property.isSecret) {\n return (\n \n );\n } else if (property.isSecret) {\n const unfinishedSecret = unfinishedFlows[name];\n const isEditInProgress = !!unfinishedSecret;\n const isFormInEditMode = isDefined(meta.initialValue);\n return (\n \n ) : (\n \n )\n }\n showButtons={isFormInEditMode}\n isEditInProgress={isEditInProgress}\n onDone={() => removeUnfinishedFlow(name)}\n onStart={() => {\n addUnfinishedFlow(name, { startValue: field.value });\n form.setValue(\"\");\n }}\n onCancel={() => {\n removeUnfinishedFlow(name);\n if (unfinishedSecret && unfinishedSecret.hasOwnProperty(\"startValue\")) {\n form.setValue(unfinishedSecret.startValue);\n }\n }}\n disabled={disabled}\n />\n );\n } else {\n const inputType = property.type === \"integer\" ? \"number\" : \"text\";\n\n return (\n \n );\n }\n};\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\n\nimport { TextWithHTML } from \"components\";\n\nimport { FormBaseItem } from \"core/form/types\";\n\ninterface IProps {\n property: FormBaseItem;\n error: string | undefined;\n touched: boolean;\n}\n\nconst LabelMessage: React.FC = ({ property, error, touched }) => {\n const constructExamples = () => {\n if (!property.examples) {\n return null;\n }\n\n const exampleText = Array.isArray(property.examples) ? property.examples?.join(\", \") : property.examples;\n\n return ;\n };\n\n const displayError = !!error && touched;\n\n const errorMessage =\n displayError && error ? : null;\n\n const message = property.description ? : null;\n\n return (\n <>\n {message} {constructExamples()} {errorMessage}\n \n );\n};\n\nexport { LabelMessage };\n","import React from \"react\";\n\nimport { ControlLabels } from \"components/LabeledControl\";\n\nimport { FormBaseItem } from \"core/form/types\";\n\nimport { LabelMessage } from \"./LabelMessage\";\n\ninterface LabelMessageProps {\n property: FormBaseItem;\n error: string | undefined;\n touched: boolean;\n}\n\nconst Label: React.FC = ({ property, error, touched, children }) => {\n const labelText = property.title || property.fieldKey;\n const labelRequiredAppendix = property.isRequired ? \" *\" : \"\";\n const label = `${labelText}${labelRequiredAppendix}`;\n\n const displayError = !!error && touched;\n\n return (\n }\n >\n {children}\n \n );\n};\n\nexport { Label };\n","import { useField } from \"formik\";\nimport React from \"react\";\n\nimport { LabeledSwitch, TextWithHTML } from \"components\";\n\nimport { FormBaseItem } from \"core/form/types\";\n\nimport { useServiceForm } from \"../../serviceFormContext\";\nimport { Control } from \"../Property/Control\";\nimport { Label } from \"../Property/Label\";\n\ninterface PropertySectionProps {\n property: FormBaseItem;\n path?: string;\n disabled?: boolean;\n}\n\nconst PropertySection: React.FC = ({ property, path, disabled }) => {\n const propertyPath = path ?? property.path;\n const formikBag = useField(propertyPath);\n const [field, meta] = formikBag;\n const { addUnfinishedFlow, removeUnfinishedFlow, unfinishedFlows, widgetsInfo } = useServiceForm();\n\n const overriddenComponent = widgetsInfo[propertyPath]?.component;\n if (overriddenComponent) {\n return <>{overriddenComponent(property, { disabled })};\n }\n\n if (property.type === \"boolean\") {\n return (\n }\n value={field.value ?? property.default}\n disabled={disabled}\n />\n );\n }\n\n return (\n \n );\n};\n\nexport { PropertySection };\n","import React, { useMemo } from \"react\";\n\nimport { FormBlock } from \"core/form/types\";\n\nimport { useServiceForm } from \"../../serviceFormContext\";\nimport { OrderComparator } from \"../../utils\";\nimport { ArraySection } from \"./ArraySection\";\nimport { SectionContainer } from \"./common\";\nimport { ConditionSection } from \"./ConditionSection\";\nimport { PropertySection } from \"./PropertySection\";\n\ninterface FormNodeProps {\n sectionPath: string;\n formField: FormBlock;\n disabled?: boolean;\n}\n\nconst FormNode: React.FC = ({ sectionPath, formField, disabled }) => {\n if (formField._type === \"formGroup\") {\n return (\n \n );\n } else if (formField._type === \"formCondition\") {\n return ;\n } else if (formField._type === \"objectArray\") {\n return ;\n } else if (formField.const !== undefined) {\n return null;\n } else {\n return (\n \n \n \n );\n }\n};\n\ninterface FormSectionProps {\n blocks: FormBlock[] | FormBlock;\n path?: string;\n skipAppend?: boolean;\n hasOauth?: boolean;\n disabled?: boolean;\n}\n\nconst FormSection: React.FC = ({ blocks = [], path, skipAppend, disabled }) => {\n const sections = useMemo(() => {\n const flattenedBlocks = [blocks].flat();\n\n if (flattenedBlocks.some((b) => Number.isInteger(b.order))) {\n return flattenedBlocks.sort(OrderComparator);\n }\n\n return flattenedBlocks;\n }, [blocks]);\n\n const { isAuthFlowSelected, authFieldsToHide } = useServiceForm();\n\n return (\n <>\n {sections\n .filter(\n (formField) =>\n !formField.pawsql_hidden &&\n // TODO: check that it is a good idea to add authFieldsToHide\n (!isAuthFlowSelected || (isAuthFlowSelected && !authFieldsToHide.includes(formField.path)))\n )\n .map((formField) => {\n const sectionPath = path ? (skipAppend ? path : `${path}.${formField.fieldKey}`) : formField.fieldKey;\n\n return (\n \n \n \n );\n })}\n \n );\n};\n\nexport { FormSection };\n","import { FieldArray, useField } from \"formik\";\nimport React from \"react\";\n\nimport { ArrayOfObjectsEditor } from \"components\";\nimport GroupControls from \"components/GroupControls\";\n\nimport { FormObjectArrayItem } from \"core/form/types\";\n\nimport { useServiceForm } from \"../../serviceFormContext\";\nimport { SectionContainer } from \"./common\";\nimport { FormSection } from \"./FormSection\";\n\ninterface ArraySectionProps {\n formField: FormObjectArrayItem;\n path: string;\n disabled?: boolean;\n}\n\n/**\n * ArraySection is responsible for handling array of objects\n * @param formField\n * @param path\n * @constructor\n */\nexport const ArraySection: React.FC = ({ formField, path, disabled }) => {\n const { addUnfinishedFlow, removeUnfinishedFlow, unfinishedFlows } = useServiceForm();\n const [field, , form] = useField(path);\n\n const items = field.value ?? [];\n const flow = unfinishedFlows[path];\n\n return (\n \n \n (\n \n addUnfinishedFlow(path, {\n id: index,\n startValue: index < items.length ? items : null,\n })\n }\n onDone={() => removeUnfinishedFlow(path)}\n onCancelEdit={() => {\n removeUnfinishedFlow(path);\n\n if (flow.startValue) {\n form.setValue(flow.startValue);\n }\n }}\n onRemove={arrayHelpers.remove}\n items={items}\n disabled={disabled}\n >\n {() => (\n \n )}\n \n )}\n />\n \n \n );\n};\n","import { useFormikContext, setIn } from \"formik\";\nimport React, { useCallback, useMemo } from \"react\";\nimport styled from \"styled-components\";\n\nimport { Label, DropDown } from \"components\";\nimport { IDataItem } from \"components/base/DropDown/components/Option\";\nimport GroupControls from \"components/GroupControls\";\n\nimport { FormBlock, FormConditionItem } from \"core/form/types\";\nimport { isDefined } from \"utils/common\";\n\nimport { ServiceFormValues } from \"../../types\";\nimport { PptFormSection } from \"./PptFormSection\";\nimport { usePptServiceForm } from \"../../PptServiceFormContext\";\n\nconst GroupLabel = styled(Label)`\n width: auto;\n margin-right: 8px;\n padding-top: 8px;\n display: inline-block;\n padding-bottom: 0px;\n vertical-align: middle;\n`;\n\nconst ConditionControls = styled.div`\n padding-top: 25px;\n`;\n\ninterface ConditionSectionProps {\n formField: FormConditionItem;\n path?: string;\n disabled?: boolean;\n}\n\n/**\n * ConditionSection is responsible for handling oneOf sections of form\n */\nexport const PptConditionSection: React.FC = ({ formField, path, disabled }) => {\n const { widgetsInfo, setUiWidgetsInfo } = usePptServiceForm();\n const { values, setValues } = useFormikContext();\n\n const currentlySelectedCondition = widgetsInfo[formField.path]?.selectedItem;\n\n const onOptionChange = useCallback(\n (selectedItem: IDataItem) => {\n const newSelectedPath = formField.conditions[selectedItem.value];\n\n const newValues =\n newSelectedPath._type === \"formGroup\"\n ? newSelectedPath.properties?.reduce(\n (acc: ServiceFormValues, property: FormBlock) =>\n property._type === \"formItem\" && isDefined(property.const)\n ? setIn(acc, property.path, property.const)\n : acc,\n values\n )\n : values;\n\n setUiWidgetsInfo(formField.path, {\n selectedItem: selectedItem.value,\n });\n setValues(newValues);\n },\n [values, formField.conditions, setValues, setUiWidgetsInfo, formField.path]\n );\n\n const options = useMemo(\n () =>\n Object.keys(formField.conditions).map((dataItem) => ({\n label: dataItem,\n value: dataItem,\n })),\n [formField.conditions]\n );\n const label = formField.title || formField.fieldKey;\n\n return (\n \n {label ? {label}: : null}\n \n \n }\n >\n \n \n \n \n );\n};\n","import { Field, FieldInputProps, FieldProps, Form, Formik, useFormikContext } from \"formik\";\nimport { useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport Cron, { PeriodType } from \"react-js-cron\";\nimport { useToggle } from \"react-use\";\nimport styled from \"styled-components\";\nimport * as yup from \"yup\";\n\nimport { H6, Input, LabeledSwitch, LoadingButton, TextWithHTML } from \"components\";\nimport { ControlLabels } from \"components/LabeledControl\";\nimport { EndBlock } from \"components/PageTitle/PageTitle\";\n\nimport { FormBaseItem } from \"core/form/types\";\nimport { useCheckSlowQueryVariables } from \"hooks/services/useInstanceHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { hasDbinstanceId } from \"pages/InstancesPage/pages/CreateInstancePage/CreateInstancePage\";\nimport { Label } from \"views/Workspace/ServiceForm/components/Property/Label\";\n\nimport InformationToolTip from \"./components/InformationToolTip\";\nimport { CHINESE_LOCALE } from \"./CronLocaleUtils\";\nimport { useConfig } from \"config\";\nimport { modifyCronExpression } from \"config/utils\";\nimport { Callout } from \"@tremor/react\";\nimport { ExclamationCircleIcon } from \"@heroicons/react/24/solid\";\n\nconst FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: flex-start;\n gap: 10px;\n margin-top: 20px;\n`;\n\n// const Space = styled.div`\n// width: 30px;\n// opacity: 0;\n// `;\nconst StyledSection = styled.div`\n & > div:not(:last-child) {\n margin-bottom: 20px;\n }\n`;\n\nconst CustomControlLabels = styled(ControlLabels)`\n margin-top: 10px;\n`;\n\nconst SectionHeader = styled(H6)`\n margin-top: 16px;\n margin-bottom: 16px;\n`;\n\nconst requestRDSValidationSchema = yup.object().shape({\n accessKeyId: yup.string().required(\"form.empty.error\"),\n accessKeySecret: yup.string().required(\"form.empty.error\"),\n region: yup.string().required(\"form.empty.error\"),\n DBInstanceId: yup.string().required(\"form.empty.error\"),\n});\n\nconst Section: React.FC<{ title: React.ReactNode }> = (props) => (\n \n {props.title}\n {props.children}\n \n);\n\ninterface Props {\n outerField: FieldInputProps;\n setFieldValue: (field: string, value: any, shouldValidate?: boolean | undefined) => void;\n}\n\ninterface RDSFormProps {\n accessKeyId: string;\n accessKeySecret: string;\n region: string;\n DBInstanceId: string;\n endpoint: string;\n}\n\nconst RDSMySQLSlowQueryInitForm: React.FC = ({ outerField, setFieldValue }) => {\n const { isInternal } = useConfig();\n const allowedPeriods = isInternal\n ? ([\"day\", \"week\", \"month\", \"year\", \"hour\", \"minute\", \"reboot\"] as PeriodType[])\n : ([\"day\", \"week\", \"month\", \"year\"] as PeriodType[]);\n\n const [meetCondition, toggleMeetCondition] = useToggle(false);\n // const [isSlowQueryServiceOpen, toggleIsSlowQueryServiceOpen] = useToggle(false);\n const { formatMessage, locale } = useIntl();\n const { mutateAsync: checkVariables } = useCheckSlowQueryVariables();\n const isEn = locale === \"en\";\n const { location } = useRouter();\n const dbinstanceId = hasDbinstanceId(location.state) ? location.state.dbinstanceId : \"\";\n const [checkStatus, setCheckStatus] = useState(\"uncheck\");\n const [successMessage, setSuccessMessage] = useState(null);\n const [errorMessage, setErrorMessage] = useState(null);\n const [isLoading, toggleIsLoading] = useToggle(false);\n // const [isOpenServiceLoading, toggleIsOpenServiceLoading] = useToggle(false);\n const [checked, setChecked] = useState(\n formatMessage({ id: \"instance.slowQueryInit.enable.slowQuery.collect.check\" })\n );\n const { isSubmitting, submitForm } = useFormikContext();\n\n return (\n <>\n {\n console.log();\n }}\n >\n {({ values, isValid, isValidating }) => (\n
    \n \n {({ field, meta }: FieldProps) => (\n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n \n {!meetCondition && (\n <>\n submitForm()}>\n \n \n {\n toggleIsLoading(true);\n setFieldValue(outerField.name, {\n ...outerField.value,\n ...values,\n });\n checkVariables({ instanceId: dbinstanceId, configuration: values })\n .then(({ data }) => {\n setTimeout(() => {\n toggleIsLoading(false);\n }, 100);\n toggleMeetCondition(data.result);\n setCheckStatus(data.result ? \"success\" : \"failed\");\n if (data.result) {\n setErrorMessage(null);\n setSuccessMessage(data.successMessage);\n } else {\n setSuccessMessage(null);\n setErrorMessage(JSON.parse(data.errorMessage));\n }\n setChecked(formatMessage({ id: \"instance.slowQueryInit.enable.slowQuery.collect.recheck\" }));\n })\n .catch((e) => {\n toggleIsLoading(false);\n setSuccessMessage(null);\n setErrorMessage(\n formatMessage({\n id: \"instance.slowQueryInit.enable.slowQuery.collect.invalid\",\n })\n );\n console.log(e.message);\n });\n }}\n isLoading={isLoading}\n >\n {checked}\n \n \n )}\n \n
    \n )}\n \n {checkStatus === \"success\" && (\n \n

    {formatMessage({ id: \"instance.slowQueryInit.tips.success.message\" })}

    \n
    \n

    \n {successMessage\n ? (successMessage as string).split(\"\\n\").map((item) => {\n return (\n <>\n {item}
    \n \n );\n })\n : \"\"}\n

    \n \n )}\n {checkStatus === \"failed\" && (\n \n

    {errorMessage?.errorDescription ? formatMessage({ id: errorMessage.errorDescription }) : \"\"}

    \n
    \n

    \n {errorMessage?.errorMessage\n ? (errorMessage.errorMessage as string).split(\"\\n\").map((item) => {\n return (\n <>\n {item}
    \n \n );\n })\n : \"\"}\n

    \n \n )}\n {meetCondition && (\n
    \n \n {() => (\n }\n value={outerField.value?.enable}\n onChange={(item) => {\n setFieldValue(outerField.name, { ...outerField.value, enable: item.target.checked });\n }}\n >\n )}\n \n \n {({ meta }: FieldProps) => (\n \n {\n item = modifyCronExpression(item, isInternal);\n setFieldValue(outerField.name, {\n ...outerField.value,\n cronExpression: item,\n });\n }}\n />\n \n )}\n \n
    \n )}\n {meetCondition && (\n \n \n \n \n \n )}\n \n );\n};\n\nexport default RDSMySQLSlowQueryInitForm;\n","import { Field, FieldInputProps, useFormikContext } from \"formik\";\nimport { useEffect, useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport Cron, { PeriodType } from \"react-js-cron\";\nimport styled from \"styled-components\";\n\nimport { ControlLabels, H6, LoadingButton, Switch } from \"components\";\nimport { EndBlock } from \"components/PageTitle/PageTitle\";\n\nimport { instancesKeys, useCheckSlowQueryVariables } from \"hooks/services/useInstanceHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { hasDbinstanceId } from \"pages/InstancesPage/pages/CreateInstancePage/CreateInstancePage\";\nimport { Callout, Metric, Icon, Text, Select, SelectItem } from \"@tremor/react\";\nimport { ExclamationCircleIcon, CheckCircleIcon, ExclamationTriangleIcon } from \"@heroicons/react/24/solid\";\n\nimport { CHINESE_LOCALE } from \"./CronLocaleUtils\";\nimport { useQueryClient } from \"react-query\";\nimport { useConfig } from \"config\";\nimport { modifyCronExpression } from \"config/utils\";\n\nconst ConfigFlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: flex-start;\n gap: 10px;\n`;\n\nconst FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: flex-start;\n gap: 10px;\n margin-top: 10px;\n`;\n\nconst StyledSection = styled.div`\n & > div:not(:last-child) {\n margin-bottom: 20px;\n }\n`;\nconst SectionHeader = styled(H6)`\n margin-top: 16px;\n margin-bottom: 16px;\n`;\n\nconst Section: React.FC<{ title: React.ReactNode }> = (props) => (\n \n {props.title}\n {props.children}\n \n);\n\ninterface Props {\n outerField: FieldInputProps;\n setFieldValue: (field: string, value: any, shouldValidate?: boolean | undefined) => void;\n}\n\nconst iconMap: any = {\n uncheck: ,\n success: ,\n failed: ,\n};\n\nconst SlowQueryInitForm: React.FC = ({ outerField, setFieldValue }) => {\n const { isInternal } = useConfig();\n const allowedPeriods = isInternal\n ? ([\"day\", \"week\", \"month\", \"year\", \"hour\", \"minute\", \"reboot\"] as PeriodType[])\n : ([\"day\", \"week\", \"month\", \"year\"] as PeriodType[]);\n\n const { formatMessage, locale } = useIntl();\n\n const [checkStatus, setCheckStatus] = useState(\"uncheck\");\n // const [resultData, setResultData] = useState(\"\");\n const { mutateAsync: checkVariables, isLoading } = useCheckSlowQueryVariables();\n const isEn = locale === \"en\";\n const { location } = useRouter();\n const dbinstanceId = hasDbinstanceId(location.state) ? location.state.dbinstanceId : \"\";\n const [successMessage, setSuccessMessage] = useState(null);\n const [errorMessage, setErrorMessage] = useState(null);\n const queryClient = useQueryClient();\n const handleCheckConfig = () => {\n checkVariables({ instanceId: dbinstanceId, configuration: {} }).then(({ data }) => {\n if (data.result) {\n queryClient.invalidateQueries(instancesKeys.lists());\n }\n setCheckStatus(data.result ? \"success\" : \"failed\");\n setErrorMessage(JSON.parse(data.errorMessage));\n setSuccessMessage(data.successMessage);\n // setResultData(data.data);\n });\n };\n\n const { isSubmitting } = useFormikContext();\n\n const handleSkip = () => {\n setFieldValue(outerField.name, {\n ...outerField.value,\n skip: true,\n });\n };\n\n useEffect(() => {\n setFieldValue(outerField.name, {\n ...outerField.value,\n enableRegularlyDelete: true,\n frequency: \"30\",\n });\n }, []);\n\n const frequencyList = [\n { label: formatMessage({ id: \"instance.slowQueryInit.enableRegularlyDelete.week.message\" }), value: \"7\" },\n { label: formatMessage({ id: \"instance.slowQueryInit.enableRegularlyDelete.two.week.message\" }), value: \"14\" },\n { label: formatMessage({ id: \"instance.slowQueryInit.enableRegularlyDelete.month.message\" }), value: \"30\" },\n ];\n return (\n <>\n {formatMessage({ id: \"instance.slowQueryInit.init.status\" })}\n \n {\n <>\n {iconMap[checkStatus]}\n {formatMessage({\n id: `instance.slowQueryInit.init.status.${checkStatus}`,\n })}\n \n }\n \n \n {formatMessage({ id: \"instance.slowQueryInit.tips.details\" })}\n \n {checkStatus === \"success\" && (\n \n

    {formatMessage({ id: \"instance.slowQueryInit.tips.success.message\" })}

    \n
    \n

    \n {successMessage\n ? (successMessage as string).split(\"\\n\").map((item) => {\n return (\n <>\n {item}
    \n \n );\n })\n : \"\"}\n

    \n \n )}\n {checkStatus === \"failed\" && (\n \n

    {errorMessage?.errorDescription ? formatMessage({ id: errorMessage.errorDescription }) : \"\"}

    \n
    \n

    \n {errorMessage?.errorMessage\n ? (errorMessage.errorMessage as string).split(\"\\n\").map((item) => {\n return (\n <>\n {item}
    \n \n );\n })\n : \"\"}\n

    \n \n )}\n {checkStatus === \"success\" && (\n
    \n \n {() => (\n \n {\n setFieldValue(outerField.name, { ...outerField.value, enable: item.target.checked });\n }}\n />\n {\n item = modifyCronExpression(item, isInternal);\n setFieldValue(outerField.name, {\n ...outerField.value,\n cronExpression: item,\n });\n }}\n />\n \n )}\n \n \n {() => (\n \n {\n setFieldValue(outerField.name, {\n ...outerField.value,\n enableFullCollection: item.target.checked,\n });\n }}\n />\n \n \n )}\n \n \n {() => (\n \n {\n setFieldValue(outerField.name, {\n ...outerField.value,\n enableRegularlyDelete: item.target.checked,\n });\n }}\n />\n \n \n {outerField.value?.enableRegularlyDelete && (\n {\n setFieldValue(outerField.name, {\n ...outerField.value,\n frequency: value,\n });\n }}\n placeholder={formatMessage({ id: \"instance.slowQueryInit.enableRegularlyDelete\" })}\n >\n {frequencyList.map((item) => {\n return {item.label};\n })}\n \n )}\n \n \n )}\n \n
    \n )}\n {!isSubmitting && (\n \n {checkStatus === \"success\" ? (\n <>\n \n \n \n \n \n \n ) : (\n <>\n \n \n \n \n {formatMessage({\n id: `instance.slowQueryInit.enable.slowQuery.collect.${\n checkStatus === \"uncheck\" ? \"check\" : \"recheck\"\n }`,\n })}\n \n \n )}\n \n )}\n \n );\n};\n\nexport default SlowQueryInitForm;\n","import { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\n\nimport {\n RuleTemplateCreate,\n deleteRuleTemplate,\n listRuleTemplate,\n createRuleTemplate,\n RuleTemplateDetailUpdate,\n CommonRequestBody,\n RuleTemplateRequestDto,\n getRuleTemplate,\n RuleTemplateDeleteRequestBody,\n getDefaultRuleTemplate,\n updateTemplateRule,\n RuleTemplateNameUpdate,\n updateTemplateName,\n} from \"../../request/PawsqlClient\";\n\nexport class RuleTemplatesService extends PawsqlRequestService {\n public list(values: CommonRequestBody) {\n return listRuleTemplate(values, this.requestOptions);\n }\n\n public create(values: RuleTemplateCreate) {\n return createRuleTemplate(values, this.requestOptions);\n }\n\n public delete(values: RuleTemplateDeleteRequestBody) {\n return deleteRuleTemplate(values, this.requestOptions);\n }\n\n public updateRule(values: RuleTemplateDetailUpdate) {\n return updateTemplateRule(values, this.requestOptions);\n }\n public updateTemplateName(values: RuleTemplateNameUpdate) {\n return updateTemplateName(values, this.requestOptions);\n }\n\n public get(values: RuleTemplateRequestDto) {\n return getRuleTemplate(values, this.requestOptions);\n }\n public getDefault(values: RuleTemplateRequestDto) {\n return getDefaultRuleTemplate(values, this.requestOptions);\n }\n}\n","import { useConfig } from \"config\";\nimport { RuleTemplatesService } from \"core/domain/workspace/RuleTemplatesService\";\nimport { useInitService } from \"services/useInitService\";\nimport { useMutation, useQueryClient } from \"react-query\";\n\nimport {\n ApiResult,\n CommonRequestBody,\n RuleTemplateCreate,\n RuleTemplateDeleteRequestBody,\n RuleTemplateDetailUpdate,\n RuleTemplateNameUpdate,\n RuleTemplateRead,\n} from \"../../core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\n\nexport const ruleTemplatesKeys = {\n all: [SCOPE_USER, \"ruleTemplates\"] as const,\n lists: () => [...ruleTemplatesKeys.all, \"list\"] as const,\n list: (filters: string) => [...ruleTemplatesKeys.lists(), { filters }] as const,\n listsWithParamRoot: [SCOPE_USER, \"listsWithParamRoot\"] as const,\n listsWithParam: (values: CommonRequestBody) => [...ruleTemplatesKeys.listsWithParamRoot, { values }] as const,\n detail: (ruleTemplateId?: string) => [...ruleTemplatesKeys.all, \"details\", ruleTemplateId] as const,\n defaultDetail: () => [...ruleTemplatesKeys.all, \"defaultDetails\"] as const,\n};\n\nexport function useRuleTemplatesService() {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n return useInitService(() => new RuleTemplatesService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);\n}\n\nconst useRuleTemplateList = (values: CommonRequestBody) => {\n const service = useRuleTemplatesService();\n return useSuspenseQuery(ruleTemplatesKeys.listsWithParam(values), () => service.list(values));\n};\n\nconst useCreateRuleTemplate = () => {\n const service = useRuleTemplatesService();\n const queryClient = useQueryClient();\n\n return useMutation(\n (values: RuleTemplateCreate) => {\n return service.create(values);\n },\n {\n onSuccess: (data, ctx) => {\n if (data.data) {\n if (ctx.isGlobal) {\n queryClient.setQueryData(\n ruleTemplatesKeys.listsWithParam({ isGlobal: ctx.isGlobal, objectType: ctx.objectType }),\n (lst: ApiResult | undefined) =>\n lst\n ? {\n ...lst,\n data: [...lst.data, { ...data.data, ruleList: ctx.ruleList }],\n }\n : {\n data: [{ ...data.data, ruleList: ctx.ruleList }],\n field: \"\",\n code: 200,\n message: \"\",\n fieldData: \"\",\n }\n );\n queryClient.setQueryData(\n ruleTemplatesKeys.listsWithParam({ isGlobal: !ctx.isGlobal, objectType: ctx.objectType }),\n (lst: ApiResult | undefined) =>\n lst\n ? {\n ...lst,\n data: [...lst.data, { ...data.data, ruleList: ctx.ruleList }],\n }\n : {\n data: [{ ...data.data, ruleList: ctx.ruleList }],\n field: \"\",\n code: 200,\n message: \"\",\n fieldData: \"\",\n }\n );\n queryClient.setQueryData(\n ruleTemplatesKeys.listsWithParam({ objectType: ctx.objectType }),\n (lst: ApiResult | undefined) =>\n lst\n ? {\n ...lst,\n data: [...lst.data, { ...data.data, ruleList: ctx.ruleList }],\n }\n : {\n data: [{ ...data.data, ruleList: ctx.ruleList }],\n field: \"\",\n code: 200,\n message: \"\",\n fieldData: \"\",\n }\n );\n } else {\n queryClient.setQueryData(\n ruleTemplatesKeys.listsWithParam({ isGlobal: ctx.isGlobal, objectType: ctx.objectType }),\n (lst: ApiResult | undefined) =>\n lst\n ? {\n ...lst,\n data: [...lst.data, { ...data.data, ruleList: ctx.ruleList }],\n }\n : {\n data: [{ ...data.data, ruleList: ctx.ruleList }],\n field: \"\",\n code: 200,\n message: \"\",\n fieldData: \"\",\n }\n );\n queryClient.setQueryData(\n ruleTemplatesKeys.listsWithParam({ objectType: ctx.objectType }),\n (lst: ApiResult | undefined) =>\n lst\n ? {\n ...lst,\n data: [...lst.data, { ...data.data, ruleList: ctx.ruleList }],\n }\n : {\n data: [{ ...data.data, ruleList: ctx.ruleList }],\n field: \"\",\n code: 200,\n message: \"\",\n fieldData: \"\",\n }\n );\n }\n }\n },\n }\n );\n};\n\nconst useUpdateRuleTemplateName = () => {\n const service = useRuleTemplatesService();\n\n return useMutation((values: RuleTemplateNameUpdate) => {\n return service.updateTemplateName(values);\n });\n};\n\nconst useUpdateTemplateRule = () => {\n const service = useRuleTemplatesService();\n\n return useMutation((values: RuleTemplateDetailUpdate) => {\n return service.updateRule(values);\n });\n};\nconst useGetRuleTemplate = (objectType: string, ruleTemplateId?: string) => {\n const service = useRuleTemplatesService();\n return useSuspenseQuery(ruleTemplatesKeys.detail(ruleTemplateId), () =>\n service.get({ objectType: objectType, ruleTemplateId: ruleTemplateId })\n );\n};\n\nconst useGetDefaultRuleTemplate = (objectType: string) => {\n const service = useRuleTemplatesService();\n return useSuspenseQuery(ruleTemplatesKeys.defaultDetail(), () => service.getDefault({ objectType: objectType }));\n};\n\nconst useDeleteRuleTemplate = () => {\n const service = useRuleTemplatesService();\n\n const queryClient = useQueryClient();\n\n return useMutation(\n (values: RuleTemplateDeleteRequestBody) => {\n return service.delete(values);\n },\n {\n onSuccess: (data) => {\n if (data.data) {\n queryClient.invalidateQueries(ruleTemplatesKeys.listsWithParamRoot);\n }\n },\n }\n );\n};\n\nexport {\n useRuleTemplateList,\n useGetRuleTemplate,\n useDeleteRuleTemplate,\n useCreateRuleTemplate,\n useUpdateTemplateRule,\n useGetDefaultRuleTemplate,\n useUpdateRuleTemplateName,\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"custom_select_item\":\"DbObjectInitForm_custom_select_item__TqYZu\"};","import { Field, FieldInputProps, useFormikContext } from \"formik\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport Cron, { PeriodType } from \"react-js-cron\";\nimport styled from \"styled-components\";\n\nimport { H6, LoadingButton, Switch } from \"components\";\nimport { EndBlock } from \"components/PageTitle/PageTitle\";\nimport { Badge, Bold, Callout, Select, SelectItem, Text } from \"@tremor/react\";\n\nimport { CHINESE_LOCALE } from \"./CronLocaleUtils\";\nimport { useGetDefaultRuleTemplate, useRuleTemplateList } from \"hooks/services/useRuleTemplateHook\";\nimport useRouter from \"hooks/useRouter\";\nimport styles from \"./DbObjectInitForm.module.scss\";\nimport { useGetInstance } from \"hooks/services/useInstanceHook\";\nimport { useEffect } from \"react\";\nimport { hasDbinstanceId } from \"pages/InstancesPage/pages/CreateInstancePage/CreateInstancePage\";\nimport { useConfig } from \"config\";\nimport { modifyCronExpression } from \"config/utils\";\n\nconst FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: flex-start;\n gap: 10px;\n margin-top: 10px;\n`;\n\nconst StyledSection = styled.div`\n & > div:not(:last-child) {\n margin-bottom: 20px;\n }\n`;\nconst Space = styled.div`\n width: 30px;\n opacity: 0;\n`;\n\nconst SectionHeader = styled(H6)`\n margin-top: 16px;\n margin-bottom: 16px;\n`;\n\nconst Section: React.FC<{ title: React.ReactNode }> = (props) => (\n \n {props.title}\n {props.children}\n \n);\n\ninterface Props {\n outerField: FieldInputProps;\n setFieldValue: (field: string, value: any, shouldValidate?: boolean | undefined) => void;\n}\n\nconst DbObjectInitForm: React.FC = ({ outerField, setFieldValue }) => {\n const { isInternal } = useConfig();\n const allowedPeriods = isInternal\n ? ([\"day\", \"week\", \"month\", \"year\", \"hour\", \"minute\", \"reboot\"] as PeriodType[])\n : ([\"day\", \"week\", \"month\", \"year\"] as PeriodType[]);\n\n const { formatMessage, locale } = useIntl();\n\n const { location } = useRouter();\n const dbinstanceId = hasDbinstanceId(location.state) ? location.state.dbinstanceId : \"\";\n\n const { data: instance } = useGetInstance(dbinstanceId);\n\n const { data: defaultTemplate } = useGetDefaultRuleTemplate(\"db_object_rule\");\n const { data: ruleTemplateList } = useRuleTemplateList({\n isGlobal: undefined,\n objectType: \"db_object_rule\",\n });\n const { isSubmitting } = useFormikContext();\n const allTemplates = [defaultTemplate].concat(ruleTemplateList);\n\n const handleSkip = () => {\n setFieldValue(outerField.name, {\n ...outerField.value,\n skip: true,\n });\n };\n\n useEffect(() => {\n setFieldValue(outerField.name, {\n ...outerField.value,\n dbObjectRuleTemplateId:\n allTemplates.find((item) => item.dbType === instance.dbType)?.ruleTemplateId ?? defaultTemplate.ruleTemplateId,\n dbObjectRuleTemplateName:\n allTemplates.find((item) => item.dbType === instance.dbType)?.templateName ?? defaultTemplate.templateName,\n });\n }, []);\n\n const isEn = locale === \"en\";\n\n return (\n <>\n \n {formatMessage({ id: \"instance.dbObjectInit.title\" })}\n \n \n {formatMessage({ id: \"instance.dbObjectInit.tips.details\" })}\n \n
    \n \n \n {() => (\n {\n setFieldValue(outerField.name, {\n ...outerField.value,\n dbObjectRuleTemplateId: value,\n dbObjectRuleTemplateName:\n allTemplates.find((item) => item.ruleTemplateId === value)?.templateName ??\n defaultTemplate.templateName,\n });\n }}\n >\n {allTemplates.map((item) => {\n return (\n \n <>\n \n {item.templateName ??\n formatMessage({\n id: \"config.page.admin.config.rule.template.global.default\",\n })}\n \n {outerField.value?.dbObjectRuleTemplateId !== item.ruleTemplateId && (\n <>\n {\" \"}\n {item.dbType && (\n <>\n {item.dbType}{\" \"}\n \n )}\n \n {`${\n item.isGlobal\n ? formatMessage({ id: \"config.page.config.rule.template.type.global\" })\n : formatMessage({ id: \"config.page.config.rule.template.type.custom\" })\n }`}\n \n \n )}\n \n \n );\n })}\n \n )}\n \n \n
    \n
    \n \n \n {() => (\n
    \n {\n setFieldValue(outerField.name, { ...outerField.value, enable: item.target.checked });\n }}\n />\n
    \n )}\n
    \n \n {() => (\n {\n item = modifyCronExpression(item, isInternal);\n setFieldValue(outerField.name, {\n ...outerField.value,\n cronExpression: item,\n });\n }}\n />\n )}\n \n \n
    \n
    \n {!isSubmitting && (\n \n <>\n \n \n \n \n \n \n \n \n \n \n )}\n \n );\n};\n\nexport default DbObjectInitForm;\n","import { Field, FieldInputProps, FieldProps, Form, Formik, useFormikContext } from \"formik\";\nimport { useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport Cron, { PeriodType } from \"react-js-cron\";\nimport { useToggle } from \"react-use\";\nimport styled from \"styled-components\";\nimport * as yup from \"yup\";\n\nimport { H6, Input, LabeledSwitch, LoadingButton, TextWithHTML } from \"components\";\nimport { ControlLabels } from \"components/LabeledControl\";\nimport { EndBlock } from \"components/PageTitle/PageTitle\";\n\nimport { FormBaseItem } from \"core/form/types\";\nimport { useCheckSlowQueryVariables } from \"hooks/services/useInstanceHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { hasDbinstanceId } from \"pages/InstancesPage/pages/CreateInstancePage/CreateInstancePage\";\nimport { Label } from \"views/Workspace/ServiceForm/components/Property/Label\";\n\nimport InformationToolTip from \"./components/InformationToolTip\";\nimport { CHINESE_LOCALE } from \"./CronLocaleUtils\";\nimport { useConfig } from \"config\";\nimport { modifyCronExpression } from \"config/utils\";\nimport { ExclamationCircleIcon } from \"@heroicons/react/24/solid\";\nimport { Callout } from \"@tremor/react\";\n\nconst FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: flex-start;\n gap: 10px;\n margin-top: 20px;\n`;\n\nconst StyledSection = styled.div`\n & > div:not(:last-child) {\n margin-bottom: 20px;\n }\n`;\n\nconst CustomControlLabels = styled(ControlLabels)`\n margin-top: 10px;\n`;\n\nconst SectionHeader = styled(H6)`\n margin-top: 16px;\n margin-bottom: 16px;\n`;\n\nconst requestTDSQLValidationSchema = yup.object().shape({\n secretId: yup.string().required(\"form.empty.error\"),\n secretKey: yup.string().required(\"form.empty.error\"),\n region: yup.string().required(\"form.empty.error\"),\n instanceId: yup.string().required(\"form.empty.error\"),\n});\n\nconst Section: React.FC<{ title: React.ReactNode }> = (props) => (\n \n {props.title}\n {props.children}\n \n);\n\ninterface Props {\n outerField: FieldInputProps;\n setFieldValue: (field: string, value: any, shouldValidate?: boolean | undefined) => void;\n}\n\ninterface TDSQLFormProps {\n secretId: string;\n secretKey: string;\n region: string;\n instanceId: string;\n endpoint: string;\n}\n\nconst TDSQLMySQLSlowQueryInitForm: React.FC = ({ outerField, setFieldValue }) => {\n const { isInternal } = useConfig();\n const allowedPeriods = isInternal\n ? ([\"day\", \"week\", \"month\", \"year\", \"hour\", \"minute\", \"reboot\"] as PeriodType[])\n : ([\"day\", \"week\", \"month\", \"year\"] as PeriodType[]);\n\n const [meetCondition, toggleMeetCondition] = useToggle(false);\n const { formatMessage, locale } = useIntl();\n const { mutateAsync: checkVariables } = useCheckSlowQueryVariables();\n const isEn = locale === \"en\";\n const { location } = useRouter();\n const dbinstanceId = hasDbinstanceId(location.state) ? location.state.dbinstanceId : \"\";\n const [checkStatus, setCheckStatus] = useState(\"uncheck\");\n const [successMessage, setSuccessMessage] = useState(null);\n const [errorMessage, setErrorMessage] = useState(null);\n const [isLoading, toggleIsLoading] = useToggle(false);\n const [checked, setChecked] = useState(\n formatMessage({ id: \"instance.slowQueryInit.enable.slowQuery.collect.check\" })\n );\n const { isSubmitting, submitForm } = useFormikContext();\n\n return (\n <>\n {\n console.log();\n }}\n >\n {({ values, isValid, isValidating }) => (\n
    \n \n {({ field, meta }: FieldProps) => (\n \n \n *\n \n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n \n \n *\n \n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n \n \n *\n \n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n \n \n *\n \n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n \n {!meetCondition && (\n <>\n submitForm()}>\n \n \n {\n toggleIsLoading(true);\n setFieldValue(outerField.name, {\n ...outerField.value,\n ...values,\n });\n checkVariables({ instanceId: dbinstanceId, configuration: values })\n .then(({ data }) => {\n setTimeout(() => {\n toggleIsLoading(false);\n }, 100);\n toggleMeetCondition(data.result);\n setCheckStatus(data.result ? \"success\" : \"failed\");\n if (data.result) {\n setErrorMessage(null);\n setSuccessMessage(data.successMessage);\n } else {\n setSuccessMessage(null);\n setErrorMessage(JSON.parse(data.errorMessage));\n }\n setChecked(formatMessage({ id: \"instance.slowQueryInit.enable.slowQuery.collect.recheck\" }));\n })\n .catch((e) => {\n toggleIsLoading(false);\n setSuccessMessage(null);\n setErrorMessage(\n formatMessage({\n id: \"instance.slowQueryInit.enable.slowQuery.collect.invalid\",\n })\n );\n console.log(e.message);\n });\n }}\n isLoading={isLoading}\n >\n {checked}\n \n \n )}\n \n
    \n )}\n \n {checkStatus === \"success\" && (\n \n

    {formatMessage({ id: \"instance.slowQueryInit.tips.success.message\" })}

    \n
    \n

    \n {successMessage\n ? (successMessage as string).split(\"\\n\").map((item) => {\n return (\n <>\n {item}
    \n \n );\n })\n : \"\"}\n

    \n \n )}\n {checkStatus === \"failed\" && (\n \n

    {errorMessage?.errorDescription ? formatMessage({ id: errorMessage.errorDescription }) : \"\"}

    \n
    \n

    \n {errorMessage?.errorMessage\n ? (errorMessage.errorMessage as string).split(\"\\n\").map((item) => {\n return (\n <>\n {item}
    \n \n );\n })\n : \"\"}\n

    \n \n )}\n {meetCondition && (\n
    \n \n {() => (\n }\n value={outerField.value?.enable}\n onChange={(item) => {\n setFieldValue(outerField.name, { ...outerField.value, enable: item.target.checked });\n }}\n >\n )}\n \n \n {({ meta }: FieldProps) => (\n \n {\n setFieldValue(outerField.name, {\n ...outerField.value,\n cronExpression: modifyCronExpression(value, isInternal),\n });\n }}\n />\n \n )}\n \n
    \n )}\n {meetCondition && (\n \n \n \n \n \n )}\n \n );\n};\n\nexport default TDSQLMySQLSlowQueryInitForm;\n","import { Field, FieldInputProps, FieldProps, Form, Formik, useFormikContext } from \"formik\";\nimport { useEffect, useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport Cron, { PeriodType } from \"react-js-cron\";\nimport { useToggle } from \"react-use\";\nimport styled from \"styled-components\";\nimport * as yup from \"yup\";\n\nimport { H6, Input, LoadingButton, Switch } from \"components\";\nimport { ControlLabels } from \"components/LabeledControl\";\nimport { EndBlock } from \"components/PageTitle/PageTitle\";\n\nimport { useCheckSlowQueryVariables } from \"hooks/services/useInstanceHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { hasDbinstanceId } from \"pages/InstancesPage/pages/CreateInstancePage/CreateInstancePage\";\n\nimport InformationToolTip from \"./components/InformationToolTip\";\nimport { CHINESE_LOCALE } from \"./CronLocaleUtils\";\nimport { useConfig } from \"config\";\nimport { modifyCronExpression } from \"config/utils\";\nimport { ExclamationCircleIcon } from \"@heroicons/react/24/solid\";\nimport { Callout, Select, SelectItem } from \"@tremor/react\";\n\nconst Space = styled.div`\n width: 30px;\n opacity: 0;\n`;\n\nconst ConfigFlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: flex-start;\n gap: 10px;\n`;\n\nconst FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: flex-start;\n gap: 10px;\n margin-top: 20px;\n`;\n\nconst StyledSection = styled.div`\n & > div:not(:last-child) {\n margin-bottom: 20px;\n }\n`;\n\nconst CustomControlLabels = styled(ControlLabels)`\n margin-top: 10px;\n`;\n\nconst SectionHeader = styled(H6)`\n margin-top: 16px;\n margin-bottom: 16px;\n`;\n\nconst requestTDSQLXValidationSchema = yup.object().shape({\n host: yup.string().required(\"form.empty.error\"),\n port: yup.string().required(\"form.empty.error\"),\n database: yup.string().required(\"form.empty.error\"),\n username: yup.string().required(\"form.empty.error\"),\n password: yup.string().required(\"form.empty.error\"),\n});\n\nconst Section: React.FC<{ title: React.ReactNode }> = (props) => (\n \n {props.title}\n {props.children}\n \n);\n\ninterface Props {\n outerField: FieldInputProps;\n setFieldValue: (field: string, value: any, shouldValidate?: boolean | undefined) => void;\n}\n\ninterface TDSQLXFormProps {\n host: string;\n port: string;\n database: string;\n username: string;\n password: string;\n}\n\nconst TDSQLMySQLPrivateSlowQueryInitForm: React.FC = ({ outerField, setFieldValue }) => {\n const { isInternal } = useConfig();\n const allowedPeriods = isInternal\n ? ([\"day\", \"week\", \"month\", \"year\", \"hour\", \"minute\", \"reboot\"] as PeriodType[])\n : ([\"day\", \"week\", \"month\", \"year\"] as PeriodType[]);\n\n const [meetCondition, toggleMeetCondition] = useToggle(false);\n const { formatMessage, locale } = useIntl();\n const { mutateAsync: checkVariables } = useCheckSlowQueryVariables();\n const isEn = locale === \"en\";\n const { location } = useRouter();\n const dbinstanceId = hasDbinstanceId(location.state) ? location.state.dbinstanceId : \"\";\n const [checkStatus, setCheckStatus] = useState(\"uncheck\");\n const [successMessage, setSuccessMessage] = useState(null);\n const [errorMessage, setErrorMessage] = useState(null);\n const [isLoading, toggleIsLoading] = useToggle(false);\n const [checked, setChecked] = useState(\n formatMessage({ id: \"instance.slowQueryInit.enable.slowQuery.collect.check\" })\n );\n const { isSubmitting, submitForm } = useFormikContext();\n\n useEffect(() => {\n setFieldValue(outerField.name, {\n ...outerField.value,\n enableRegularlyDelete: true,\n frequency: \"30\",\n });\n }, []);\n\n const frequencyList = [\n { label: formatMessage({ id: \"instance.slowQueryInit.enableRegularlyDelete.week.message\" }), value: \"7\" },\n { label: formatMessage({ id: \"instance.slowQueryInit.enableRegularlyDelete.two.week.message\" }), value: \"14\" },\n { label: formatMessage({ id: \"instance.slowQueryInit.enableRegularlyDelete.month.message\" }), value: \"30\" },\n ];\n return (\n <>\n {\n console.log();\n }}\n >\n {({ values, isValid, isValidating }) => (\n
    \n \n {({ field, meta }: FieldProps) => (\n \n \n *\n \n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n\n \n {({ field, meta }: FieldProps) => (\n \n \n *\n \n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n\n \n {({ field, meta }: FieldProps) => (\n \n \n *\n \n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n\n \n {({ field, meta }: FieldProps) => (\n \n \n *\n \n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n\n \n {({ field, meta }: FieldProps) => (\n \n \n *\n \n }\n message={\n <>\n \n \n \n {!!meta.error && meta.touched && }\n \n }\n >\n \n \n )}\n \n\n \n {!meetCondition && (\n <>\n submitForm()}>\n \n \n {\n toggleIsLoading(true);\n setFieldValue(outerField.name, {\n ...outerField.value,\n ...values,\n });\n checkVariables({ instanceId: dbinstanceId, configuration: values })\n .then(({ data }) => {\n setTimeout(() => {\n toggleIsLoading(false);\n }, 100);\n toggleMeetCondition(data.result);\n setCheckStatus(data.result ? \"success\" : \"failed\");\n if (data.result) {\n setErrorMessage(null);\n setSuccessMessage(data.successMessage);\n } else {\n setSuccessMessage(null);\n setErrorMessage(JSON.parse(data.errorMessage));\n }\n setChecked(formatMessage({ id: \"instance.slowQueryInit.enable.slowQuery.collect.recheck\" }));\n })\n .catch((e) => {\n toggleIsLoading(false);\n setSuccessMessage(null);\n setErrorMessage(\n formatMessage({\n id: \"instance.slowQueryInit.enable.slowQuery.collect.invalid\",\n })\n );\n console.log(e.message);\n });\n }}\n isLoading={isLoading}\n >\n {checked}\n \n \n )}\n \n
    \n )}\n \n\n {checkStatus === \"success\" && (\n \n

    {formatMessage({ id: \"instance.slowQueryInit.tips.success.message\" })}

    \n
    \n

    \n {successMessage\n ? (successMessage as string).split(\"\\n\").map((item, index) => (\n \n {item}\n
    \n
    \n ))\n : \"\"}\n

    \n \n )}\n {checkStatus === \"failed\" && (\n \n

    {errorMessage?.errorDescription ? formatMessage({ id: errorMessage.errorDescription }) : \"\"}

    \n
    \n

    \n {errorMessage?.errorMessage\n ? (errorMessage.errorMessage as string).split(\"\\n\").map((item, index) => (\n \n {item}\n
    \n
    \n ))\n : \"\"}\n

    \n \n )}\n {meetCondition && (\n
    \n \n {() => (\n \n {\n setFieldValue(outerField.name, { ...outerField.value, enable: item.target.checked });\n }}\n />\n {\n item = modifyCronExpression(item, isInternal);\n setFieldValue(outerField.name, {\n ...outerField.value,\n cronExpression: item,\n });\n }}\n />\n \n )}\n \n\n \n\n \n {() => (\n \n {\n setFieldValue(outerField.name, {\n ...outerField.value,\n enableFullCollection: item.target.checked,\n });\n }}\n />\n \n \n )}\n \n \n {() => (\n \n {\n setFieldValue(outerField.name, {\n ...outerField.value,\n enableRegularlyDelete: item.target.checked,\n });\n }}\n />\n \n \n {outerField.value?.enableRegularlyDelete && (\n {\n setFieldValue(outerField.name, {\n ...outerField.value,\n frequency: value,\n });\n }}\n placeholder={formatMessage({ id: \"instance.slowQueryInit.enableRegularlyDelete\" })}\n >\n {frequencyList.map((item) => {\n return {item.label};\n })}\n \n )}\n \n \n )}\n \n
    \n )}\n {meetCondition && (\n \n \n \n \n \n )}\n \n );\n};\n\nexport default TDSQLMySQLPrivateSlowQueryInitForm;\n","import { useField, useFormikContext } from \"formik\";\nimport React from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport Cron, { PeriodType } from \"react-js-cron\";\n\nimport { LabeledSwitch, LoadingButton, TextWithHTML } from \"components\";\nimport { EndBlock } from \"components/PageTitle/PageTitle\";\n\nimport { FormBaseItem } from \"core/form/types\";\nimport { CHINESE_LOCALE } from \"views/Connection/ConnectionForm/CronLocaleUtils\";\nimport RDSMySQLSlowQueryInitForm from \"views/Connection/ConnectionForm/RDSMySQLSlowQueryInitForm\";\n\nimport { Control } from \"../Property/Control\";\nimport { Label } from \"../Property/Label\";\nimport SlowQueryInitForm from \"views/Connection/ConnectionForm/SlowQueryInitForm\";\nimport DbObjectInitForm from \"views/Connection/ConnectionForm/DbObjectInitForm\";\nimport { usePptServiceForm } from \"../../PptServiceFormContext\";\nimport { useConfig } from \"config\";\nimport { modifyCronExpression } from \"config/utils\";\nimport TDSQLMySQLSlowQueryInitForm from \"views/Connection/ConnectionForm/TDSQLMySQLSlowQueryInitForm\";\nimport TDSQLMySQLPrivateSlowQueryInitForm from \"views/Connection/ConnectionForm/TDSQLMySQLPrivateSlowQueryInitForm\";\n\ninterface PropertySectionProps {\n property: FormBaseItem;\n path?: string;\n disabled?: boolean;\n}\n\nconst PptPropertySection: React.FC = ({ property, path, disabled }) => {\n const { isInternal } = useConfig();\n const allowedPeriods = isInternal\n ? ([\"day\", \"week\", \"month\", \"year\", \"hour\", \"minute\", \"reboot\"] as PeriodType[])\n : ([\"day\", \"week\", \"month\", \"year\"] as PeriodType[]);\n\n const propertyPath = path ?? property.path;\n const formikBag = useField(propertyPath);\n const [field, meta] = formikBag;\n const { setFieldValue } = useFormikContext();\n\n const { addUnfinishedFlow, removeUnfinishedFlow, unfinishedFlows, widgetsInfo } = usePptServiceForm();\n\n const { locale } = useIntl();\n\n const isEn = locale === \"en\";\n\n const overriddenComponent = widgetsInfo[propertyPath]?.component;\n if (overriddenComponent) {\n return <>{overriddenComponent(property, { disabled })};\n }\n\n if (property.type === \"boolean\") {\n return (\n }\n value={field.value ?? property.default}\n disabled={disabled}\n />\n );\n }\n\n if ((property.type as string) === \"slowQueryInitForm\") {\n return ;\n }\n\n if ((property.type as string) === \"dbObjectInitForm\") {\n return ;\n }\n\n if ((property.type as string) === \"rdsMysqlConfigForm\") {\n return ;\n }\n\n if ((property.type as string) === \"tdsqlMysqlConfigForm\") {\n return ;\n }\n if ((property.type as string) === \"tdsqlMysqlPrivateConfigForm\") {\n return ;\n }\n\n if ((property.type as string) === \"skip\") {\n return (\n \n \n \n \n \n );\n }\n\n if ((property.type as string) === \"cron\") {\n return (\n \n );\n }\n\n return (\n \n );\n};\n\nexport { PptPropertySection };\n","import React, { useMemo } from \"react\";\n\nimport { FormBlock } from \"core/form/types\";\n\nimport { OrderComparator } from \"../../utils\";\nimport { ArraySection } from \"./ArraySection\";\nimport { SectionContainer } from \"./common\";\nimport { PptConditionSection } from \"./PptConditionSection\";\nimport { PptPropertySection } from \"./PptPropertySection\";\nimport { usePptServiceForm } from \"../../PptServiceFormContext\";\n\ninterface FormNodeProps {\n sectionPath: string;\n formField: FormBlock;\n disabled?: boolean;\n}\n\nconst FormNode: React.FC = ({ sectionPath, formField, disabled }) => {\n if (formField._type === \"formGroup\") {\n return (\n \n );\n } else if (formField._type === \"formCondition\") {\n return ;\n } else if (formField._type === \"objectArray\") {\n return ;\n } else if (formField.const !== undefined) {\n return null;\n } else {\n return (\n \n \n \n );\n }\n};\n\ninterface FormSectionProps {\n blocks: FormBlock[] | FormBlock;\n path?: string;\n skipAppend?: boolean;\n hasOauth?: boolean;\n disabled?: boolean;\n}\n\nconst PptFormSection: React.FC = ({ blocks = [], path, skipAppend, disabled }) => {\n const sections = useMemo(() => {\n const flattenedBlocks = [blocks].flat();\n\n if (flattenedBlocks.some((b) => Number.isInteger(b.order))) {\n return flattenedBlocks.sort(OrderComparator);\n }\n\n return flattenedBlocks;\n }, [blocks]);\n\n const { isAuthFlowSelected, authFieldsToHide } = usePptServiceForm();\n\n return (\n <>\n {sections\n .filter(\n (formField) =>\n !formField.pawsql_hidden &&\n // TODO: check that it is a good idea to add authFieldsToHide\n (!isAuthFlowSelected || (isAuthFlowSelected && !authFieldsToHide.includes(formField.path)))\n )\n .map((formField) => {\n const sectionPath = path ? (skipAppend ? path : `${path}.${formField.fieldKey}`) : formField.fieldKey;\n\n return (\n \n \n \n );\n })}\n \n );\n};\n\nexport { PptFormSection };\n","import { Form, useFormikContext } from \"formik\";\nimport React from \"react\";\nimport styled from \"styled-components\";\n\nimport { Spinner } from \"components\";\n\nimport { FormBlock } from \"core/form/types\";\n\nimport PptCreateControls from \"./components/PptCreateControls\";\nimport PptEditControls from \"./components/PptEditControls\";\nimport ShowLoadingMessage from \"./components/ShowLoadingMessage\";\nimport { usePptServiceForm } from \"./PptServiceFormContext\";\nimport { ServiceFormValues } from \"./types\";\nimport { PptFormSection } from \"./components/Sections/PptFormSection\";\n\nconst FormContainer = styled(Form)`\n padding: 22px 27px 23px 24px;\n`;\n\nconst LoaderContainer = styled.div`\n text-align: center;\n padding: 22px 0 23px;\n`;\n\nconst LoadingMessage = styled.div`\n margin-top: 10px;\n`;\n\ninterface FormRootProps {\n formFields: FormBlock;\n hasSuccess?: boolean;\n isTestConnectionInProgress?: boolean;\n errorMessage?: React.ReactNode;\n fetchingIstanceError?: Error | null;\n successMessage?: React.ReactNode;\n onRetest?: () => void;\n onStopTestingInstance?: () => void;\n}\n\nconst PptFormRoot: React.FC = ({\n isTestConnectionInProgress = false,\n onRetest,\n formFields,\n successMessage,\n errorMessage,\n fetchingIstanceError: fetchingInstanceError,\n hasSuccess,\n onStopTestingInstance: onStopTestingInstance,\n}) => {\n const { resetForm, dirty, isSubmitting, isValid } = useFormikContext();\n\n const { resetUiFormProgress, isLoadingSchema, selectedService, isEditMode, readonly, formType, isFirstStep } =\n usePptServiceForm();\n\n return (\n \n \n {isLoadingSchema && (\n \n \n \n \n \n \n )}\n\n {isEditMode ? (\n {\n resetForm();\n resetUiFormProgress();\n }}\n successMessage={successMessage}\n />\n ) : (\n \n )}\n \n );\n};\n\nexport { PptFormRoot };\n","import { JSONSchema7 } from \"json-schema\";\nimport * as yup from \"yup\";\n\nimport { WidgetConfigMap } from \"core/form/types\";\nimport { isDefined } from \"utils/common\";\n\n/**\n * Returns yup.schema for validation\n *\n * This method builds yup schema based on jsonSchema ${@link JSONSchema7} and widgetConfig ${@link WidgetConfigMap}.\n * Every property is walked through recursively in case it is condition | object | array.\n *\n * uiConfig is used to select currently selected oneOf conditions to build proper schema\n * As uiConfig widget paths are .dot based (key1.innerModule1.innerModule2) propertyKey is provided recursively\n * @param jsonSchema\n * @param uiConfig uiConfig of widget currently selected in form\n * @param parentSchema used in recursive schema building as required fields can be described in parentSchema\n * @param propertyKey used in recursive schema building for building path for uiConfig\n * @param propertyPath constructs path of property\n */\nexport const buildYupFormForJsonSchema = (\n jsonSchema: JSONSchema7,\n uiConfig?: WidgetConfigMap,\n parentSchema?: JSONSchema7,\n propertyKey?: string,\n propertyPath: string | undefined = propertyKey\n): yup.AnySchema => {\n let schema:\n | yup.NumberSchema\n | yup.StringSchema\n | yup.AnyObjectSchema\n | yup.ArraySchema\n | yup.BooleanSchema\n | null = null;\n\n if (jsonSchema.oneOf && uiConfig && propertyPath) {\n let selectedSchema = jsonSchema.oneOf.find(\n (condition) => typeof condition !== \"boolean\" && uiConfig[propertyPath]?.selectedItem === condition.title\n );\n\n // Select first oneOf path if no item selected\n selectedSchema = selectedSchema ?? jsonSchema.oneOf[0];\n\n if (selectedSchema && typeof selectedSchema !== \"boolean\") {\n return buildYupFormForJsonSchema(\n { type: jsonSchema.type, ...selectedSchema },\n uiConfig,\n jsonSchema,\n propertyKey,\n propertyPath\n );\n }\n }\n\n switch (jsonSchema.type) {\n case \"string\":\n schema = yup.string().trim();\n\n if (jsonSchema?.pattern !== undefined) {\n schema = schema.matches(new RegExp(jsonSchema.pattern), \"form.pattern.error\");\n }\n\n break;\n case \"boolean\":\n schema = yup.boolean();\n break;\n case \"integer\":\n schema = yup.number();\n\n if (jsonSchema?.minimum !== undefined) {\n schema = schema.min(jsonSchema?.minimum);\n }\n\n if (jsonSchema?.maximum !== undefined) {\n schema = schema.max(jsonSchema?.maximum);\n }\n break;\n case \"array\":\n if (typeof jsonSchema.items === \"object\" && !Array.isArray(jsonSchema.items)) {\n schema = yup\n .array()\n .of(\n buildYupFormForJsonSchema(\n jsonSchema.items,\n uiConfig,\n jsonSchema,\n propertyKey,\n propertyPath ? `${propertyPath}.${propertyKey}` : propertyKey\n )\n );\n }\n break;\n case \"object\":\n let objectSchema = yup.object();\n\n const keyEntries = Object.entries(jsonSchema.properties || {}).map(([propertyKey, condition]) => [\n propertyKey,\n typeof condition !== \"boolean\"\n ? buildYupFormForJsonSchema(\n condition,\n uiConfig,\n jsonSchema,\n propertyKey,\n propertyPath ? `${propertyPath}.${propertyKey}` : propertyKey\n )\n : yup.mixed(),\n ]);\n\n if (keyEntries.length) {\n objectSchema = objectSchema.shape(Object.fromEntries(keyEntries));\n } else {\n objectSchema = objectSchema.default({});\n }\n\n schema = objectSchema;\n }\n\n if (schema) {\n const hasDefault = isDefined(jsonSchema.default);\n\n if (hasDefault) {\n // @ts-ignore can't infer correct type here so lets just use default from json_schema\n schema = schema.default(jsonSchema.default);\n }\n\n if (!hasDefault && jsonSchema.const) {\n // @ts-ignore can't infer correct type here so lets just use default from json_schema\n schema = schema.oneOf([jsonSchema.const]).default(jsonSchema.const);\n }\n\n if (jsonSchema.enum) {\n // @ts-ignore as enum is array we are going to use it as oneOf for yup\n schema = schema.oneOf(jsonSchema.enum);\n }\n\n const isRequired =\n !hasDefault &&\n parentSchema &&\n Array.isArray(parentSchema?.required) &&\n parentSchema.required.find((item) => item === propertyKey);\n\n if (schema && isRequired) {\n schema = schema.required(\"form.empty.error\");\n }\n }\n\n return schema || yup.mixed();\n};\n","import get from \"lodash/get\";\n\nimport { buildYupFormForJsonSchema } from \"core/jsonSchema/schemaToYup\";\nimport { isDefined } from \"utils/common\";\n\nimport { FormBlock, WidgetConfigMap } from \"./types\";\n\nexport const buildPathInitialState = (\n formBlock: FormBlock[],\n formValues: { [key: string]: unknown },\n widgetState: WidgetConfigMap = {}\n): { [key: string]: WidgetConfigMap } =>\n formBlock.reduce((widgetStateBuilder, formItem) => {\n switch (formItem._type) {\n case \"formGroup\":\n return buildPathInitialState(formItem.properties, formValues, widgetStateBuilder);\n case \"formItem\": {\n const resultObject: Record = {};\n\n if (isDefined(formItem.const)) {\n resultObject.const = formItem.const;\n }\n\n if (isDefined(formItem.default)) {\n resultObject.default = formItem.default;\n }\n\n widgetStateBuilder[formItem.path] = resultObject;\n return widgetStateBuilder;\n }\n case \"formCondition\": {\n const defaultCondition = Object.entries(formItem.conditions).find(([key, subConditionItems]) => {\n switch (subConditionItems._type) {\n case \"formGroup\": {\n const selectedValues = get(formValues, subConditionItems.path);\n\n const subPathSchema = buildYupFormForJsonSchema({\n type: \"object\",\n ...subConditionItems.jsonSchema,\n });\n\n if (subPathSchema.isValidSync(selectedValues)) {\n return key;\n }\n return null;\n }\n case \"formItem\":\n return key;\n }\n\n return null;\n })?.[0];\n\n const selectedPath = defaultCondition ?? Object.keys(formItem.conditions)?.[0];\n\n widgetStateBuilder[formItem.path] = {\n selectedItem: selectedPath,\n };\n\n if (formItem.conditions[selectedPath]) {\n return buildPathInitialState([formItem.conditions[selectedPath]], formValues, widgetStateBuilder);\n }\n }\n }\n\n return widgetStateBuilder;\n }, widgetState);\n","import { FormBlock } from \"core/form/types\";\nimport { isDefined } from \"utils/common\";\n\nimport { PawsqlJSONSchemaDefinition, PawsqlJSONSchema } from \"./types\";\n\n/**\n * Returns {@link FormBlock} representation of jsonSchema\n *\n * Builds internal {@link FormBlock} from jsonSchema recursively.\n * Allows to walk through and validate schema in a more convenient way\n *\n * @param jsonSchema\n * @param key\n * @param path\n * @param parentSchema\n */\nexport const jsonSchemaToUiWidget = (\n jsonSchema: PawsqlJSONSchemaDefinition,\n key = \"\",\n path: string = key,\n parentSchema?: PawsqlJSONSchemaDefinition\n): FormBlock => {\n const isRequired = isKeyRequired(key, parentSchema);\n\n // TODO: decide what to do with boolean case\n if (typeof jsonSchema === \"boolean\") {\n return {\n _type: \"formItem\",\n path: key,\n fieldKey: key,\n type: \"null\",\n isRequired,\n isSecret: false,\n };\n }\n\n if (jsonSchema.oneOf?.length && jsonSchema.oneOf.length > 0) {\n const conditions = Object.fromEntries(\n jsonSchema.oneOf.map((condition) => {\n if (typeof condition === \"boolean\") {\n return [];\n }\n return [condition.title, jsonSchemaToUiWidget({ ...condition, type: jsonSchema.type }, key, path)];\n })\n );\n\n return {\n ...pickDefaultFields(jsonSchema),\n _type: \"formCondition\",\n path: path || key,\n fieldKey: key,\n conditions,\n isRequired,\n };\n }\n\n if (\n jsonSchema.type === \"array\" &&\n typeof jsonSchema.items === \"object\" &&\n !Array.isArray(jsonSchema.items) &&\n jsonSchema.items.type === \"object\"\n ) {\n return {\n ...pickDefaultFields(jsonSchema),\n _type: \"objectArray\",\n path: path || key,\n fieldKey: key,\n properties: jsonSchemaToUiWidget(jsonSchema.items, key, path),\n isRequired,\n };\n }\n\n if (jsonSchema.type === \"object\") {\n const properties = Object.entries(jsonSchema.properties || []).map(([k, schema]) =>\n jsonSchemaToUiWidget(schema, k, path ? `${path}.${k}` : k, jsonSchema)\n );\n\n return {\n ...pickDefaultFields(jsonSchema),\n _type: \"formGroup\",\n jsonSchema,\n path: path || key,\n fieldKey: key,\n hasOauth: jsonSchema.is_auth,\n properties,\n isRequired,\n };\n }\n\n return {\n ...pickDefaultFields(jsonSchema),\n _type: \"formItem\",\n path: path || key,\n fieldKey: key,\n isRequired,\n isSecret: !!jsonSchema.pawsql_secret,\n multiline: !!jsonSchema.multiline,\n type: (Array.isArray(jsonSchema.type) ? jsonSchema.type[0] : jsonSchema.type) ?? \"null\",\n };\n};\n\nfunction isKeyRequired(key: string, parentSchema?: PawsqlJSONSchemaDefinition): boolean {\n const isRequired =\n (typeof parentSchema !== \"boolean\" &&\n Array.isArray(parentSchema?.required) &&\n parentSchema?.required.includes(key)) ||\n false;\n\n return isRequired;\n}\n\nconst defaultFields: Array = [\n \"default\",\n \"examples\",\n \"description\",\n \"pattern\",\n \"order\",\n \"const\",\n \"title\",\n\n // pawsql specific fields\n \"pawsql_hidden\",\n];\n\nconst pickDefaultFields = (schema: PawsqlJSONSchema): Partial => {\n const partialSchema: Partial = {\n ...Object.fromEntries(Object.entries(schema).filter(([k]) => defaultFields.includes(k as keyof PawsqlJSONSchema))),\n };\n\n if (typeof schema.items === \"object\" && !Array.isArray(schema.items) && schema.items.enum) {\n partialSchema.enum = schema.items.enum;\n } else if (schema.enum) {\n if (schema.enum?.length === 1 && isDefined(schema.default)) {\n partialSchema.const = schema.default;\n } else {\n partialSchema.enum = schema.enum;\n }\n }\n\n return partialSchema;\n};\n","import flatten from \"flat\";\nimport { useFormikContext } from \"formik\";\nimport { JSONSchema7, JSONSchema7Definition } from \"json-schema\";\nimport merge from \"lodash/merge\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { AnySchema } from \"yup\";\n\nimport { MyInstanceDefinitionSpecification } from \"core/domain/workspace\";\nimport { FormBlock, WidgetConfig, WidgetConfigMap } from \"core/form/types\";\nimport { buildPathInitialState } from \"core/form/uiWidget\";\nimport { jsonSchemaToUiWidget } from \"core/jsonSchema/schemaToUiWidget\";\nimport { buildYupFormForJsonSchema } from \"core/jsonSchema/schemaToYup\";\nimport { useFeatureService } from \"hooks/services/Feature\";\n\nimport { ServiceFormValues } from \"./types\";\n\nfunction useBuildInitialSchema(\n instanceSpecification?: MyInstanceDefinitionSpecification\n): JSONSchema7Definition | undefined {\n const { hasFeature } = useFeatureService();\n\n return useMemo(() => {\n return instanceSpecification?.connectionSpecification as JSONSchema7Definition | undefined;\n }, [hasFeature, instanceSpecification]);\n}\n\nfunction useBuildForm(\n jsonSchema: JSONSchema7,\n initialValues?: Partial\n): {\n initialValues: ServiceFormValues;\n formFields: FormBlock;\n} {\n const startValues = useMemo(\n () => ({\n name: \"\",\n serviceType: \"\",\n connectionConfiguration: {},\n ...initialValues,\n }),\n [initialValues]\n );\n\n const formFields = useMemo(() => jsonSchemaToUiWidget(jsonSchema), [jsonSchema]);\n\n return {\n initialValues: startValues,\n formFields,\n };\n}\n\nconst useBuildUiWidgetsContext = (\n formFields: FormBlock[] | FormBlock,\n formValues: ServiceFormValues,\n uiOverrides?: WidgetConfigMap\n): {\n uiWidgetsInfo: WidgetConfigMap;\n setUiWidgetsInfo: (widgetId: string, updatedValues: WidgetConfig) => void;\n} => {\n const [overriddenWidgetState, setUiWidgetsInfo] = useState(uiOverrides ?? {});\n\n // As schema is dynamic, it is possible, that new updated values, will differ from one stored.\n const mergedState = useMemo(\n () =>\n merge(\n buildPathInitialState(Array.isArray(formFields) ? formFields : [formFields], formValues),\n merge(overriddenWidgetState, uiOverrides)\n ),\n [formFields, formValues, overriddenWidgetState, uiOverrides]\n );\n\n const setUiWidgetsInfoSubState = useCallback(\n (widgetId: string, updatedValues: WidgetConfig) => setUiWidgetsInfo({ ...mergedState, [widgetId]: updatedValues }),\n [mergedState, setUiWidgetsInfo]\n );\n\n return {\n uiWidgetsInfo: mergedState,\n setUiWidgetsInfo: setUiWidgetsInfoSubState,\n };\n};\n\n// As validation schema depends on what path of oneOf is currently selected in jsonschema\nconst useConstructValidationSchema = (jsonSchema: JSONSchema7, uiWidgetsInfo: WidgetConfigMap): AnySchema =>\n useMemo(() => buildYupFormForJsonSchema(jsonSchema, uiWidgetsInfo), [uiWidgetsInfo, jsonSchema]);\n\nconst usePatchFormik = (): void => {\n const { setFieldTouched, isSubmitting, isValidating, validationSchema, validateForm, errors } = useFormikContext();\n // Formik doesn't validate values again, when validationSchema was changed on the fly.\n useEffect(() => {\n validateForm();\n }, [validateForm, validationSchema]);\n\n /* Fixes issue https://github.com/pawsqlhq/pawsql/issues/1978\n Problem described here https://github.com/formium/formik/issues/445\n The problem is next:\n\n When we touch the field, it would be set as touched field correctly.\n If validation fails on submit - Formik detects touched object mapping based\n either on initialValues passed to Formik or on current value set.\n So in case of creation, if we touch an input, don't change value and\n press submit - our touched map will be cleared.\n\n This hack just touches all fields on submit.\n */\n useEffect(() => {\n if (isSubmitting && !isValidating) {\n for (const path of Object.keys(flatten(errors))) {\n setFieldTouched(path, true, false);\n }\n }\n }, [errors, isSubmitting, isValidating, setFieldTouched]);\n};\n\nexport { useBuildForm, useBuildInitialSchema, useBuildUiWidgetsContext, useConstructValidationSchema, usePatchFormik };\n","import { Formik, getIn, setIn, useFormikContext } from \"formik\";\nimport { JSONSchema7 } from \"json-schema\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { useToggle } from \"react-use\";\n\nimport { FormChangeTracker } from \"components/FormChangeTracker\";\n\nimport { MyInstanceDefinition, MyInstanceDefinitionSpecification } from \"core/domain/workspace\";\nimport { isMyDestinationDefinitionSpecification } from \"core/domain/workspace/destination\";\nimport {\n isInstanceDefinition,\n isInstanceDefinitionSpecification,\n isWorkspaceDefinition,\n isWorkspaceDefinitionSpecification,\n} from \"core/domain/workspace/Workspace\";\nimport { FormBaseItem, FormComponentOverrideProps } from \"core/form/types\";\nimport { useFormChangeTrackerService, useUniqueFormId } from \"hooks/services/FormChangeTracker\";\nimport useRouter from \"hooks/useRouter\";\nimport { hasStepOrder } from \"pages/InstancesPage/pages/CreateInstancePage/CreateInstancePage\";\nimport { InstanceDefinitionReadWithLatestTag } from \"services/workspace/InstanceDefinitionService\";\nimport { isDefined } from \"utils/common\";\nimport { getNowFormattedDate } from \"utils/myDateUtils\";\n\nimport { ConnectionConfiguration } from \"../../../core/domain/analysis\";\nimport { CheckConnectionRead } from \"../../../core/request/PawsqlClient\";\nimport { useDocumentationPanelContext } from \"../DocumentationLayout/DocumentationPanelContext\";\nimport MyRequestInstanceModal from \"../RequestWorkspaceModal/MyRequestWorkspaceModal\";\nimport { MyWorkspaceNameControl } from \"./components/Controls/MyWorkspaceNameControl\";\nimport { PptInstanceServiceTypeControl } from \"./components/Controls/PptInstanceServiceTypeControl\";\nimport { PptFormRoot } from \"./PptFormRoot\";\nimport { PptServiceFormContextProvider, usePptServiceForm } from \"./PptServiceFormContext\";\nimport { ServiceFormValues } from \"./types\";\nimport {\n useBuildForm,\n useBuildInitialSchema,\n useBuildUiWidgetsContext,\n useConstructValidationSchema,\n usePatchFormik,\n} from \"./useMyBuildForm\";\n\nconst FormikPatch: React.FC = () => {\n usePatchFormik();\n return null;\n};\n\n/***\n * This function sets all initial const values in the form to current values\n * @param schema\n * @constructor\n */\nconst PatchInitialValuesWithWidgetConfig: React.FC<{\n schema: JSONSchema7;\n}> = ({ schema }) => {\n const { widgetsInfo } = usePptServiceForm();\n const { values, resetForm } = useFormikContext();\n\n const valueRef = useRef();\n valueRef.current = values.connectionConfiguration;\n\n useEffect(() => {\n // set all const fields to form field values, so we could send form\n const constPatchedValues = Object.entries(widgetsInfo)\n .filter(([_, v]) => isDefined(v.const))\n .reduce((acc, [k, v]) => setIn(acc, k, v.const), valueRef.current);\n\n // set default fields as current values, so values could be populated correctly\n // fix for https://github.com/pawsqlhq/pawsql/issues/6791\n const defaultPatchedValues = Object.entries(widgetsInfo)\n .filter(([k, v]) => isDefined(v.default) && !isDefined(getIn(constPatchedValues, k)))\n .reduce((acc, [k, v]) => setIn(acc, k, v.default), constPatchedValues);\n\n resetForm({\n values: {\n ...values,\n connectionConfiguration: defaultPatchedValues,\n },\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [schema]);\n\n return null;\n};\n\n/**\n * A component that will observe whenever the serviceType (selected instance)\n * changes and set the name of the instance to match the instance definition name.\n */\n\nconst hasInstanceDefinitionId = (selectedService: MyInstanceDefinition | undefined): boolean => {\n if (selectedService && (selectedService as unknown as InstanceDefinitionReadWithLatestTag).instanceDefinitionId) {\n return true;\n }\n return false;\n};\nconst SetDefaultName: React.FC = () => {\n const { setFieldValue } = useFormikContext();\n const { selectedService } = usePptServiceForm();\n const { formatMessage } = useIntl();\n useEffect(() => {\n if (selectedService) {\n const dateTime = getNowFormattedDate();\n const timeout = setTimeout(() => {\n // We need to push this out one execution slot, so the form isn't still in its\n // initialization status and won't react to this call but would just take the initialValues instead.\n const isInstance = hasInstanceDefinitionId(selectedService);\n setFieldValue(\n \"name\",\n isInstance\n ? \"IN_\" + formatMessage({ id: selectedService.name }) + \"_\" + dateTime\n : \"WS_\" + selectedService.name + \"_\" + dateTime\n );\n });\n return () => clearTimeout(timeout);\n }\n return;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedService]);\n\n return null;\n};\n\nexport interface PptServiceFormProps {\n formType: \"workspace\" | \"workload\" | \"instance\";\n availableServices: MyInstanceDefinition[];\n selectedInstanceDefinitionSpecification?: MyInstanceDefinitionSpecification;\n onServiceSelect?: (id: string) => void;\n onSubmit: (values: ServiceFormValues) => void;\n isLoading?: boolean;\n isEditMode?: boolean;\n readonly?: boolean;\n formValues?: Partial;\n hasSuccess?: boolean;\n fetchingInstanceError?: Error | null;\n errorMessage?: React.ReactNode;\n successMessage?: React.ReactNode;\n isTestConnectionInProgress?: boolean;\n onStopTesting?: () => void;\n testInstance?: (v?: ServiceFormValues) => Promise;\n}\n\nconst PptServiceForm: React.FC = (props) => {\n const { location } = useRouter();\n const isFirstStep = hasStepOrder(location.state) && (!location.state.stepOrder || location.state.stepOrder === \"0\");\n\n const formId = useUniqueFormId();\n const { clearFormChange } = useFormChangeTrackerService();\n\n const [isOpenRequestModal, toggleOpenRequestModal] = useToggle(false);\n const [initialRequestName, setInitialRequestName] = useState();\n const {\n formType,\n formValues,\n onSubmit,\n isLoading,\n isTestConnectionInProgress,\n onStopTesting,\n selectedInstanceDefinitionSpecification,\n availableServices,\n } = props;\n\n const specifications = useBuildInitialSchema(selectedInstanceDefinitionSpecification);\n\n const jsonSchema: JSONSchema7 = useMemo(\n () => ({\n type: \"object\",\n properties: {\n serviceType: { type: \"string\" },\n ...(selectedInstanceDefinitionSpecification && isFirstStep ? { name: { type: \"string\" } } : {}),\n ...Object.fromEntries(\n Object.entries({\n connectionConfiguration: isLoading ? null : specifications,\n }).filter(([, v]) => !!v)\n ),\n },\n required: [\"name\", \"serviceType\"],\n }),\n [isFirstStep, isLoading, selectedInstanceDefinitionSpecification, specifications]\n );\n\n const { formFields, initialValues } = useBuildForm(jsonSchema, formValues);\n\n const { setDocumentationUrl, setDocumentationPanelOpen, setDocumentTitle } = useDocumentationPanelContext();\n useEffect(() => {\n if (selectedInstanceDefinitionSpecification) {\n const selectedServiceDefinition = availableServices.find((service) => {\n if (isWorkspaceDefinition(service)) {\n const serviceDefinitionId = service.workspaceDefinitionId;\n return (\n isWorkspaceDefinitionSpecification(selectedInstanceDefinitionSpecification) &&\n serviceDefinitionId === selectedInstanceDefinitionSpecification.workspaceDefinitionId\n );\n } else if (isInstanceDefinition(service)) {\n const instanceDefinitionId = service.instanceDefinitionId;\n return (\n isInstanceDefinitionSpecification(selectedInstanceDefinitionSpecification) &&\n instanceDefinitionId === selectedInstanceDefinitionSpecification.instanceDefinitionId\n );\n } else {\n const serviceDefinitionId = service.workloadDefinitionId;\n return (\n isMyDestinationDefinitionSpecification(selectedInstanceDefinitionSpecification) &&\n serviceDefinitionId === selectedInstanceDefinitionSpecification.workloadDefinitionId\n );\n }\n });\n setDocumentTitle(\n formType === \"workspace\" ? (\n \n ) : (\n \n )\n );\n setDocumentationUrl(selectedServiceDefinition?.documentationUrl ?? \"\");\n setDocumentationPanelOpen(true);\n }\n }, [\n setDocumentTitle,\n availableServices,\n selectedInstanceDefinitionSpecification,\n setDocumentationPanelOpen,\n setDocumentationUrl,\n formType,\n ]);\n\n const uiOverrides = useMemo(\n () => ({\n name: {\n component: (property: FormBaseItem, componentProps: FormComponentOverrideProps) => (\n \n ),\n },\n serviceType: {\n component: (property: FormBaseItem, componentProps: FormComponentOverrideProps) => (\n {\n setInitialRequestName(name);\n toggleOpenRequestModal();\n }}\n {...componentProps}\n />\n ),\n },\n }),\n [formType, props.onServiceSelect, props.availableServices, props.isEditMode, toggleOpenRequestModal]\n );\n\n const { uiWidgetsInfo, setUiWidgetsInfo } = useBuildUiWidgetsContext(formFields, initialValues, uiOverrides);\n\n const validationSchema = useConstructValidationSchema(jsonSchema, uiWidgetsInfo);\n\n const getValues = useCallback(\n (values: ServiceFormValues) =>\n validationSchema.cast(values, {\n stripUnknown: true,\n }),\n [validationSchema]\n );\n\n const onFormSubmit = useCallback(\n async (values: ServiceFormValues) => {\n if (isDefined((values.connectionConfiguration as { url: Blob }).url)) {\n // const valuesToSend = getValues(values);\n await onSubmit(values);\n } else {\n const valuesToSend = getValues(values);\n await onSubmit(valuesToSend);\n }\n clearFormChange(formId);\n },\n [clearFormChange, formId, getValues, onSubmit]\n );\n\n return (\n \n {({ dirty }) => (\n \n {isFirstStep && !props.isEditMode && }\n \n \n \n onStopTesting() : undefined}\n onRetest={undefined}\n formFields={formFields}\n />\n {isOpenRequestModal && (\n \n )}\n \n )}\n \n );\n};\n\nexport { PptServiceForm };\n","import { WorkloadDefinitionSpecificationRead } from \"core/request/PawsqlClient\";\n\nimport { MyInstanceDefinitionSpecification } from \"./types\";\n\nexport function isMyDestinationDefinitionSpecification(\n instance: MyInstanceDefinitionSpecification\n): instance is WorkloadDefinitionSpecificationRead {\n return (instance as WorkloadDefinitionSpecificationRead).workloadDefinitionId !== undefined;\n}\n","import type { Experiments } from \"./experiments\";\n\nimport { createContext, useContext, useMemo } from \"react\";\nimport { useObservable } from \"react-use\";\nimport { EMPTY, Observable } from \"rxjs\";\n\nconst experimentContext = createContext(null);\n\n/**\n * An ExperimentService must be able to give us a value for a given key of an experiment\n * as well as update us about changes in the experiment.\n */\nexport interface ExperimentService {\n getExperiment(key: K, defaultValue: Experiments[K]): Experiments[K];\n getExperimentChanges$(key: K): Observable;\n}\n\nexport function useExperiment(key: K, defaultValue: Experiments[K]): Experiments[K] {\n const experimentService = useContext(experimentContext);\n // Get the observable for the changes of the experiment or an empty (never emitting) observable in case the\n // experiment service doesn't exist (e.g. we're running in OSS or it failed to initialize)\n const onChanges$ = useMemo(() => experimentService?.getExperimentChanges$(key) ?? EMPTY, [experimentService, key]);\n // Listen to changes on that observable and use the current value (if the service exist) or the defaultValue otherwise\n // as the starting value.\n return useObservable(onChanges$, experimentService?.getExperiment(key, defaultValue) ?? defaultValue);\n}\n\nexport const ExperimentProvider = experimentContext.Provider;\n","import { useField, useFormikContext } from \"formik\";\nimport React, { useCallback, useEffect, useMemo } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { components } from \"react-select\";\nimport { MenuListComponentProps } from \"react-select/src/components/Menu\";\nimport styled from \"styled-components\";\n\nimport { ControlLabels, DropDown, DropDownRow } from \"components\";\nimport { IDataItem, IProps as OptionProps, OptionView } from \"components/base/DropDown/components/Option\";\nimport {\n Icon as SingleValueIcon,\n IProps as SingleValueProps,\n ItemView as SingleValueView,\n} from \"components/base/DropDown/components/SingleValue\";\nimport { WorkspaceIcon } from \"components/WorkspaceIcon\";\nimport { GAIcon } from \"components/icons/GAIcon\";\n\nimport { MyInstanceDefinition } from \"core/domain/workspace\";\nimport { MyWorkspace } from \"core/domain/workspace/MyWorkspace\";\nimport { FormBaseItem } from \"core/form/types\";\nimport { ReleaseStage } from \"core/request/PawsqlClient\";\nimport { useAnalyticsService } from \"hooks/services/Analytics\";\nimport { useExperiment } from \"hooks/services/Experiment\";\nimport { useDocumentationPanelContext } from \"views/Workspace/DocumentationLayout/DocumentationPanelContext\";\nimport { ServiceFormValues } from \"../../types\";\n\nconst Text = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nconst Label = styled.div`\n margin-left: 13px;\n font-weight: 500;\n font-size: 14px;\n line-height: 17px;\n`;\n\nconst Stage = styled.div`\n padding: 2px 6px;\n height: 14px;\n background: ${({ theme }) => theme.greyColor20};\n border-radius: 25px;\n text-transform: uppercase;\n font-weight: 500;\n font-size: 8px;\n line-height: 10px;\n color: ${({ theme }) => theme.textColor};\n`;\n\nconst SingleValueContent = styled(components.SingleValue)`\n width: 100%;\n padding-right: 38px;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n`;\n\ntype MenuWithRequestButtonProps = MenuListComponentProps;\n\n/**\n * Returns the order for a specific release stage label. This will define\n * in what order the different release stages are shown inside the select.\n * They will be shown in an increasing order (i.e. 0 on top), unless not overwritten\n * by ORDER_OVERWRITE above.\n */\nexport function getOrderForReleaseStage(stage?: ReleaseStage): number {\n switch (stage) {\n case ReleaseStage.beta:\n return 1;\n case ReleaseStage.alpha:\n return 2;\n default:\n return 0;\n }\n}\nconst CreatorList: React.FC = ({ children, ...props }) => (\n <>\n {children}\n \n);\n\nconst StageLabel: React.FC<{ releaseStage?: ReleaseStage }> = ({ releaseStage }) => {\n if (!releaseStage) {\n return null;\n }\n\n if (releaseStage === ReleaseStage.generally_available) {\n return ;\n }\n\n return (\n \n \n \n );\n};\n\nconst Option: React.FC = (props) => {\n return (\n \n \n \n {props.data.img || null}\n \n \n \n \n \n );\n};\n\nconst SingleValue: React.FC = (props) => {\n return (\n \n {props.data.img && {props.data.img}}\n
    \n \n {props.data.label}\n \n \n
    \n
    \n );\n};\n\ninterface WorkspaceServiceTypeControlProps {\n property: FormBaseItem;\n formType: \"workspace\" | \"workload\";\n availableServices: MyInstanceDefinition[];\n isEditMode?: boolean;\n documentationUrl?: string;\n onChangeServiceType?: (id: string) => void;\n onOpenRequestCreatorModal: (initialName: string) => void;\n disabled?: boolean;\n}\n\nconst MyWorkspaceServiceTypeControl: React.FC = ({\n property,\n formType,\n isEditMode,\n onChangeServiceType,\n availableServices,\n documentationUrl,\n onOpenRequestCreatorModal,\n disabled,\n}) => {\n const { formatMessage } = useIntl();\n const { resetForm, setFieldValue } = useFormikContext();\n\n const orderOverwrite = useExperiment(\"creator.orderOverwrite\", {});\n const [field, fieldMeta, { setValue }] = useField(property.path);\n const analytics = useAnalyticsService();\n const sortedDropDownData = useMemo(\n () =>\n availableServices.map((item) => ({\n label: item.name,\n value: MyWorkspace.id(item),\n img: ,\n releaseStage: item.releaseStage,\n })),\n // .sort((a, b) => {\n // const priorityA = orderOverwrite[a.value] ?? 0;\n // const priorityB = orderOverwrite[b.value] ?? 0;\n // // If they have different priority use the higher priority first, otherwise use the label\n // if (priorityA !== priorityB) {\n // return priorityB - priorityA;\n // } else if (a.releaseStage !== b.releaseStage) {\n // return getOrderForReleaseStage(a.releaseStage) - getOrderForReleaseStage(b.releaseStage);\n // } else {\n // return naturalComparator(a.label, b.label);\n // }\n // })\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [availableServices, orderOverwrite]\n );\n\n const { setDocumentationUrl } = useDocumentationPanelContext();\n\n useEffect(() => setDocumentationUrl(documentationUrl ?? \"\"), [documentationUrl, setDocumentationUrl]);\n\n const getNoOptionsMessage = useCallback(\n ({}: { inputValue: string }) => {\n return formatMessage({ id: \"form.noWorkspaceFound\" });\n },\n [analytics, formType, formatMessage]\n );\n\n const selectedService = React.useMemo(\n () => availableServices.find((s) => MyWorkspace.id(s) === field.value),\n [field.value, availableServices]\n );\n\n const handleSelect = useCallback(\n (item: DropDownRow.IDataItem | null) => {\n if (item) {\n setValue(item.value);\n if (onChangeServiceType) {\n onChangeServiceType(item.value);\n }\n resetForm();\n setFieldValue(\"serviceType\", item.value);\n }\n },\n [setValue, onChangeServiceType]\n );\n\n const onMenuOpen = () => {\n const eventName =\n formType === \"workspace\" ? \"Pawsql.UI.NewWorkspace.SelectionOpened\" : \"Pawsql.UI.NewInstance.SelectionOpened\";\n analytics.track(eventName, {});\n };\n\n return (\n <>\n \n \n \n {selectedService &&\n (selectedService.releaseStage === ReleaseStage.alpha || selectedService.releaseStage === ReleaseStage.beta) && (\n <>\n // \n )}\n \n );\n};\n\nexport { MyWorkspaceServiceTypeControl };\n","// extracted by mini-css-extract-plugin\nexport default {\"text\":\"Text_text__Jcjnz\",\"inverse\":\"Text_inverse__QfG8N\",\"xs\":\"Text_xs__mVwjW\",\"sm\":\"Text_sm__Ji8bU\",\"md\":\"Text_md__H731A\",\"lg\":\"Text_lg__1WOOI\",\"xl\":\"Text_xl__jOi27\",\"darkBlue\":\"Text_darkBlue__a32of\",\"blue\":\"Text_blue__I+tRr\",\"grey\":\"Text_grey__yZ7I+\",\"grey300\":\"Text_grey300__kmm3y\",\"grey400\":\"Text_grey400__LznbX\",\"grey600\":\"Text_grey600__VC-zg\",\"green\":\"Text_green__yTds6\",\"green600\":\"Text_green600__qmqHi\",\"red\":\"Text_red__VaFEF\",\"bold\":\"Text_bold__uBqrj\",\"left\":\"Text_left__Spn3O\",\"right\":\"Text_right__6EBoL\",\"center\":\"Text_center__FZQ1c\",\"gradient\":\"Text_gradient__9wJJP\",\"italicized\":\"Text_italicized__gES2y\"};","import classNames from \"classnames\";\nimport React, { HTMLAttributes } from \"react\";\n\nimport styles from \"./Text.module.scss\";\n\ntype TextSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\ntype TextColor = \"darkBlue\" | \"grey\" | \"grey300\" | \"green\" | \"green600\" | \"red\" | \"grey600\" | \"grey400\" | \"blue\";\ntype TextElementType = \"p\" | \"span\" | \"div\";\ntype TextHTMLElement = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;\n\ntype TextAlignment = \"left\" | \"center\" | \"right\";\n\nexport type TextProps = HTMLAttributes & {\n className?: string;\n as?: TextElementType;\n size?: TextSize;\n color?: TextColor;\n bold?: boolean;\n inverseColor?: boolean;\n title?: string;\n gradient?: boolean;\n align?: TextAlignment;\n italicized?: boolean;\n};\n\nconst sizes: Record = {\n xs: styles.xs,\n sm: styles.sm,\n md: styles.md,\n lg: styles.lg,\n xl: styles.xl,\n};\n\nconst colors: Record = {\n darkBlue: styles.darkBlue,\n green: styles.green,\n green600: styles.green600,\n grey: styles.grey,\n grey300: styles.grey300,\n red: styles.red,\n blue: styles.blue,\n grey400: styles.grey400,\n grey600: styles.grey600,\n};\n\nconst textAlignments: Record = {\n left: styles.left,\n center: styles.center,\n right: styles.right,\n};\n\nconst getTextClassNames = ({\n size,\n color,\n bold,\n inverseColor,\n gradient,\n align,\n italicized,\n}: Required>) =>\n classNames(styles.text, sizes[size], colors[color], textAlignments[align], {\n [styles.bold]: bold,\n [styles.inverse]: inverseColor,\n [styles.gradient]: gradient,\n [styles.italicized]: italicized,\n });\n\nexport const Text = React.memo(\n React.forwardRef>>(\n (\n {\n as = \"p\",\n bold = false,\n children,\n className: classNameProp,\n size = \"md\",\n color = \"darkBlue\",\n inverseColor = false,\n gradient = false,\n align = \"left\",\n italicized = false,\n ...remainingProps\n },\n ref\n ) => {\n const className = classNames(\n getTextClassNames({ size, color, bold, inverseColor, gradient, align, italicized }),\n classNameProp\n );\n\n return React.createElement(\n as,\n {\n ...remainingProps,\n \"data-type\": \"text\",\n className,\n ref: ref as React.Ref,\n },\n children\n );\n }\n )\n);\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"Collapsible_container__3cUvu\",\"footer\":\"Collapsible_footer__1LFgz\",\"button\":\"Collapsible_button__qRASo\",\"buttonSection\":\"Collapsible_buttonSection__QjT+g\",\"buttonOpen\":\"Collapsible_buttonOpen__z0JWT\",\"buttonClosed\":\"Collapsible_buttonClosed__YX23s\",\"buttonClosedSection\":\"Collapsible_buttonClosedSection__r5r9D\",\"label\":\"Collapsible_label__KxcRu\",\"icon\":\"Collapsible_icon__gPKqk\",\"iconOpen\":\"Collapsible_iconOpen__KZunN\",\"iconClosed\":\"Collapsible_iconClosed__H1lU0\",\"body\":\"Collapsible_body__ANl3B\",\"errorIndicator\":\"Collapsible_errorIndicator__1BbmH\"};","import { faAngleRight } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { Disclosure } from \"@headlessui/react\";\nimport classNames from \"classnames\";\nimport React from \"react\";\n\nimport Indicator from \"components/Indicator\";\n\nimport { FlexContainer } from \"../Flex\";\nimport { Text } from \"../Text\";\nimport styles from \"./Collapsible.module.scss\";\n\ninterface CollapsibleProps {\n className?: string;\n label: string;\n showErrorIndicator?: boolean;\n type?: \"footer\" | \"inline\" | \"section\";\n hideWhenEmpty?: boolean;\n \"data-testid\"?: string;\n initiallyOpen?: boolean;\n onClick?: (newOpenState: boolean) => void;\n}\n\nexport const Collapsible: React.FC> = ({\n className,\n label,\n showErrorIndicator = false,\n type = \"inline\",\n hideWhenEmpty = false,\n children,\n \"data-testid\": dataTestId,\n initiallyOpen = false,\n onClick,\n}) => {\n const childrenCount = React.Children.count(children);\n\n return childrenCount === 0 && hideWhenEmpty ? null : (\n \n {({ open }) => (\n \n onClick?.(!open)}\n >\n \n \n \n \n {label}\n {showErrorIndicator && }\n \n \n \n {children}\n \n \n )}\n \n );\n};\n","interface CrossIconProps {\n color?: string;\n title?: string;\n}\n\nexport const CrossIcon = ({ color = \"currentColor\", title }: CrossIconProps) => (\n \n {title && {title}}\n \n \n);\n","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"Button_button__sBx4u\",\"full\":\"Button_full__7ES5V\",\"isLoading\":\"Button_isLoading__IkKRd\",\"typeLight\":\"Button_typeLight__wZ4gp\",\"buttonIcon\":\"Button_buttonIcon__mVlgQ\",\"positionLeft\":\"Button_positionLeft__ol7Bl\",\"withLabel\":\"Button_withLabel__wXrtg\",\"positionRight\":\"Button_positionRight__pOHKJ\",\"typePrimary\":\"Button_typePrimary__-mXPO\",\"typeDanger\":\"Button_typeDanger__h+i4R\",\"typeSecondary\":\"Button_typeSecondary__GTdSX\",\"typeClear\":\"Button_typeClear__bc1G5\",\"isRegularIcon\":\"Button_isRegularIcon__8V5KE\",\"isSpinnerIcon\":\"Button_isSpinnerIcon__qYgUS\",\"spin\":\"Button_spin__hCRsx\",\"sizeXS\":\"Button_sizeXS__FLQeQ\",\"sizeS\":\"Button_sizeS__+8R-T\",\"sizeL\":\"Button_sizeL__2YhZL\",\"typeDark\":\"Button_typeDark__w0kGV\",\"childrenContainer\":\"Button_childrenContainer__Xswl3\",\"link\":\"Button_link__6O803\"};","import { faCircleNotch } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport classNames from \"classnames\";\nimport React from \"react\";\n\nimport styles from \"./Button.module.scss\";\nimport { ButtonProps } from \"./types\";\n\nexport const Button = React.forwardRef((props, ref) => {\n const {\n full = false,\n size = \"xs\",\n iconPosition = \"left\",\n variant = \"primary\",\n children,\n className,\n icon,\n isLoading,\n width,\n disabled,\n ...buttonProps\n } = props;\n\n const buttonStyles = {\n [styles.full]: full,\n [styles.isLoading]: isLoading,\n [styles.sizeL]: size === \"lg\",\n [styles.sizeS]: size === \"sm\",\n [styles.sizeXS]: size === \"xs\",\n [styles.typeDanger]: variant === \"danger\",\n [styles.typeClear]: variant === \"clear\",\n [styles.typeLight]: variant === \"light\",\n [styles.typePrimary]: variant === \"primary\",\n [styles.typeSecondary]: variant === \"secondary\",\n [styles.typeDark]: variant === \"dark\",\n [styles.link]: variant === \"link\",\n };\n\n const widthStyle: React.CSSProperties = width ? { width: `${width}px` } : {};\n\n return (\n \n {isLoading && (\n \n )}\n {icon &&\n iconPosition === \"left\" &&\n React.cloneElement(icon, {\n className: classNames(styles.buttonIcon, {\n [styles.positionLeft]: true,\n [styles.isRegularIcon]: true,\n [styles.withLabel]: Boolean(children),\n }),\n })}\n
    {children}
    \n {icon &&\n iconPosition === \"right\" &&\n React.cloneElement(icon, {\n className: classNames(styles.buttonIcon, {\n [styles.positionRight]: true,\n [styles.isRegularIcon]: true,\n [styles.withLabel]: Boolean(children),\n }),\n })}\n \n );\n});\nButton.displayName = \"Button\";\n","// extracted by mini-css-extract-plugin\nexport default {\"messageContainer\":\"Message_messageContainer__HOTfu\",\"info\":\"Message_info__g82t0\",\"iconContainer\":\"Message_iconContainer__K4L8d\",\"messageIcon\":\"Message_messageIcon__5hqIM\",\"warning\":\"Message_warning__Zi-zr\",\"success\":\"Message_success__EXGn5\",\"error\":\"Message_error__wGDNt\",\"messageContainerWithChildren\":\"Message_messageContainerWithChildren__4LKvZ\",\"childrenContainer\":\"Message_childrenContainer__atDaP\",\"textContainer\":\"Message_textContainer__GcjfR\",\"text\":\"Message_text__1gvbt\",\"secondaryText\":\"Message_secondaryText__7GAf-\",\"closeButton\":\"Message_closeButton__FZ2Zt\",\"striped-bg-animation\":\"Message_striped-bg-animation__bUodG\"};","import { faCheck, faExclamation, faTimes, faInfo } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport classNames from \"classnames\";\nimport React from \"react\";\n\nimport { CrossIcon } from \"components/icons/CrossIcon\";\nimport { Text } from \"components/ui/Text\";\n\nimport { Button, ButtonProps } from \"../Button\";\nimport styles from \"./Message.module.scss\";\n\nexport type MessageType = \"warning\" | \"success\" | \"error\" | \"info\";\n\nexport interface MessageProps {\n className?: string;\n childrenClassName?: string;\n text: string | React.ReactNode;\n secondaryText?: string | React.ReactNode;\n type?: MessageType;\n onAction?: () => void;\n actionBtnText?: string | React.ReactNode;\n actionBtnProps?: Omit;\n onClose?: () => void;\n \"data-testid\"?: string;\n hideIcon?: boolean;\n iconOverride?: keyof typeof ICON_MAPPING;\n}\n\nconst ICON_MAPPING = {\n warning: faExclamation,\n error: faTimes,\n success: faCheck,\n info: faInfo,\n};\n\nconst STYLES_BY_TYPE: Readonly> = {\n warning: styles.warning,\n error: styles.error,\n success: styles.success,\n info: styles.info,\n};\n\nconst MESSAGE_SEVERITY_LEVELS: Readonly> = {\n error: 3,\n warning: 2,\n info: 1,\n success: 0,\n};\n\nexport const isHigherSeverity = (messageTypeA: MessageType, messageTypeB: MessageType): boolean => {\n return MESSAGE_SEVERITY_LEVELS[messageTypeA] > MESSAGE_SEVERITY_LEVELS[messageTypeB];\n};\n\nexport const Message: React.FC> = ({\n type = \"info\",\n onAction,\n actionBtnText,\n actionBtnProps,\n onClose,\n text,\n secondaryText,\n hideIcon = false,\n \"data-testid\": testId,\n className,\n childrenClassName,\n children,\n iconOverride,\n}) => {\n const mainMessage = (\n \n {!hideIcon && (\n
    \n \n
    \n )}\n
    \n {text && {text}}\n {secondaryText && (\n \n {secondaryText}\n \n )}\n
    \n {onAction && (\n \n )}\n {onClose && (\n }\n />\n )}\n \n );\n\n if (!children) {\n return mainMessage;\n }\n\n return (\n
    \n {mainMessage}\n
    {children}
    \n
    \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"content\":\"Pre_content__1CcO7\"};","import classNames from \"classnames\";\nimport React, { PropsWithChildren } from \"react\";\n\nimport styles from \"./Pre.module.scss\";\n\ninterface PreProps {\n className?: string;\n}\n\nexport const Pre: React.FC> = ({ className, children }) => {\n return
    {children}
    ;\n};\n","import React from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n\nimport { TestingWorkspaceError, FetchingCreatorError } from \"./TestingConnectionError\";\nimport TestingConnectionSpinner from \"./TestingConnectionSpinner\";\n// import TestingWorkspaceSuccess from \"./TestingWorkspaceSuccess\";\n\ninterface IProps {\n formType: \"workspace\" | \"workload\";\n isSubmitting: boolean;\n errorMessage?: React.ReactNode;\n hasSuccess?: boolean;\n isLoadSchema?: boolean;\n fetchingCreatorError?: Error | null;\n\n isTestConnectionInProgress: boolean;\n onCancelTesting?: () => void;\n}\n\nconst ButtonContainer = styled.div`\n margin-top: 34px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nconst SubmitButton = styled(Button)`\n margin-left: auto;\n`;\n\nconst MyCreateControls: React.FC = ({\n isTestConnectionInProgress,\n isSubmitting,\n formType,\n hasSuccess,\n errorMessage,\n fetchingCreatorError,\n isLoadSchema,\n onCancelTesting,\n}) => {\n const { formatMessage } = useIntl();\n\n if (isSubmitting) {\n return ;\n }\n\n if (hasSuccess) {\n return ;\n }\n\n return (\n \n {errorMessage &&\n !fetchingCreatorError &&\n (typeof errorMessage === \"string\" ? (\n \n ) : (\n \n ))}\n {fetchingCreatorError && }\n \n \n \n \n );\n};\n\nexport default MyCreateControls;\n","import { useFormikContext } from \"formik\";\nimport React, { useContext, useMemo } from \"react\";\n\nimport { MyInstanceDefinition, MyInstanceDefinitionSpecification } from \"core/domain/workspace\";\nimport { MyWorkspace } from \"core/domain/workspace/MyWorkspace\";\nimport { WidgetConfigMap } from \"core/form/types\";\n\nimport { ServiceFormValues } from \"./types\";\nimport { makeConnectionConfigurationPath, myServerProvidedOauthPaths } from \"./utils\";\n\ninterface Context {\n formType: \"workspace\" | \"workload\";\n getValues: (values: ServiceFormValues) => ServiceFormValues;\n widgetsInfo: WidgetConfigMap;\n setUiWidgetsInfo: (path: string, value: Record) => void;\n unfinishedFlows: Record;\n addUnfinishedFlow: (key: string, info?: Record) => void;\n removeUnfinishedFlow: (key: string) => void;\n resetUiFormProgress: () => void;\n selectedService?: MyInstanceDefinition;\n selectedInstance?: MyInstanceDefinitionSpecification;\n isLoadingSchema?: boolean;\n isEditMode?: boolean;\n readonly?: boolean;\n isAuthFlowSelected?: boolean;\n authFieldsToHide: string[];\n}\n\nconst FormWidgetContext = React.createContext(null);\n\nconst useMyServiceForm = (): Context => {\n const serviceFormHelpers = useContext(FormWidgetContext);\n if (!serviceFormHelpers) {\n throw new Error(\"useServiceForm should be used within ServiceFormContextProvider\");\n }\n return serviceFormHelpers;\n};\n\nconst MyServiceFormContextProvider: React.FC<{\n widgetsInfo: WidgetConfigMap;\n setUiWidgetsInfo: (path: string, value: Record) => void;\n formType: \"workspace\" | \"workload\";\n isLoadingSchema?: boolean;\n isEditMode?: boolean;\n readonly?: boolean;\n availableServices: MyInstanceDefinition[];\n getValues: (values: ServiceFormValues) => ServiceFormValues;\n selectedInstance?: MyInstanceDefinitionSpecification;\n}> = ({\n availableServices,\n children,\n widgetsInfo,\n setUiWidgetsInfo,\n selectedInstance: selectedInstance,\n getValues,\n formType,\n isLoadingSchema,\n isEditMode,\n readonly,\n}) => {\n const { values } = useFormikContext();\n\n const serviceType = values.serviceType;\n const selectedService = useMemo(\n () => availableServices.find((s) => MyWorkspace.id(s) === serviceType),\n [availableServices, serviceType]\n );\n\n const isAuthFlowSelected = false;\n\n const authFieldsToHide = useMemo(\n () =>\n Object.values(myServerProvidedOauthPaths(selectedInstance)).map((f) =>\n makeConnectionConfigurationPath(f.path_in_instance_config)\n ),\n [selectedInstance]\n );\n\n const ctx = useMemo(() => {\n const unfinishedFlows = widgetsInfo[\"_common.unfinishedFlows\"] ?? {};\n return {\n widgetsInfo,\n isAuthFlowSelected,\n authFieldsToHide: isAuthFlowSelected ? authFieldsToHide : [],\n getValues,\n setUiWidgetsInfo,\n selectedService,\n selectedInstance: selectedInstance,\n formType,\n isLoadingSchema,\n isEditMode,\n readonly,\n unfinishedFlows,\n addUnfinishedFlow: (path, info) =>\n setUiWidgetsInfo(\"_common.unfinishedFlows\", {\n ...unfinishedFlows,\n [path]: info ?? {},\n }),\n removeUnfinishedFlow: (path: string) =>\n setUiWidgetsInfo(\n \"_common.unfinishedFlows\",\n Object.fromEntries(Object.entries(unfinishedFlows).filter(([key]) => key !== path))\n ),\n resetUiFormProgress: () => setUiWidgetsInfo(\"_common.unfinishedFlows\", {}),\n };\n }, [\n widgetsInfo,\n isAuthFlowSelected,\n authFieldsToHide,\n getValues,\n setUiWidgetsInfo,\n selectedService,\n selectedInstance,\n formType,\n isLoadingSchema,\n isEditMode,\n readonly,\n ]);\n\n return {children};\n};\n\nexport { useMyServiceForm, MyServiceFormContextProvider };\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n\nimport { useMyServiceForm } from \"../myServiceFormContext\";\nimport { TestingConnectionError } from \"./TestingConnectionError\";\nimport TestingConnectionSpinner from \"./TestingConnectionSpinner\";\nimport TestingConnectionSuccess from \"./TestingConnectionSuccess\";\n\nconst Controls = styled.div`\n margin-top: 34px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\n\nconst ButtonContainer = styled.span`\n margin-left: 10px;\n`;\n\ninterface IProps {\n formType: \"workspace\" | \"workload\";\n isSubmitting: boolean;\n isValid: boolean;\n dirty: boolean;\n resetForm: () => void;\n onRetest?: () => void;\n onCancelTesting?: () => void;\n isTestConnectionInProgress?: boolean;\n successMessage?: React.ReactNode;\n errorMessage?: React.ReactNode;\n}\n\nconst EditControls: React.FC = ({\n isSubmitting,\n isTestConnectionInProgress,\n isValid,\n dirty,\n resetForm,\n formType,\n onRetest,\n successMessage,\n errorMessage,\n onCancelTesting,\n}) => {\n const { unfinishedFlows } = useMyServiceForm();\n\n if (isSubmitting) {\n return ;\n }\n\n const showStatusMessage = () => {\n if (errorMessage) {\n return ;\n }\n if (successMessage) {\n return ;\n }\n return null;\n };\n\n return (\n <>\n {showStatusMessage()}\n \n
    \n 0}\n >\n \n \n \n \n \n
    \n {onRetest && (\n \n )}\n
    \n \n );\n};\n\nexport default EditControls;\n","import { useFormikContext, setIn } from \"formik\";\nimport React, { useCallback, useMemo } from \"react\";\nimport styled from \"styled-components\";\n\nimport { Label, DropDown } from \"components\";\nimport { IDataItem } from \"components/base/DropDown/components/Option\";\nimport GroupControls from \"components/GroupControls\";\n\nimport { FormBlock, FormConditionItem } from \"core/form/types\";\nimport { isDefined } from \"utils/common\";\n\nimport { useMyServiceForm } from \"../../myServiceFormContext\";\nimport { ServiceFormValues } from \"../../types\";\nimport { MyFormSection } from \"./MyFormSection\";\n\nconst GroupLabel = styled(Label)`\n width: auto;\n margin-right: 8px;\n padding-top: 8px;\n display: inline-block;\n padding-bottom: 0px;\n vertical-align: middle;\n`;\n\nconst ConditionControls = styled.div`\n padding-top: 25px;\n`;\n\ninterface ConditionSectionProps {\n formField: FormConditionItem;\n path?: string;\n disabled?: boolean;\n}\n\n/**\n * ConditionSection is responsible for handling oneOf sections of form\n */\nexport const MyConditionSection: React.FC = ({ formField, path, disabled }) => {\n const { widgetsInfo, setUiWidgetsInfo } = useMyServiceForm();\n const { values, setValues } = useFormikContext();\n\n const currentlySelectedCondition = widgetsInfo[formField.path]?.selectedItem;\n\n const onOptionChange = useCallback(\n (selectedItem: IDataItem) => {\n const newSelectedPath = formField.conditions[selectedItem.value];\n\n const newValues =\n newSelectedPath._type === \"formGroup\"\n ? newSelectedPath.properties?.reduce(\n (acc: ServiceFormValues, property: FormBlock) =>\n property._type === \"formItem\" && isDefined(property.const)\n ? setIn(acc, property.path, property.const)\n : acc,\n values\n )\n : values;\n\n setUiWidgetsInfo(formField.path, {\n selectedItem: selectedItem.value,\n });\n setValues(newValues);\n },\n [values, formField.conditions, setValues, setUiWidgetsInfo, formField.path]\n );\n\n const options = useMemo(\n () =>\n Object.keys(formField.conditions).map((dataItem) => ({\n label: dataItem,\n value: dataItem,\n })),\n [formField.conditions]\n );\n const label = formField.title || formField.fieldKey;\n\n return (\n \n {label ? {label}: : null}\n \n \n }\n >\n \n \n \n \n );\n};\n","import { useField } from \"formik\";\nimport React from \"react\";\n\nimport { LabeledSwitch, TextWithHTML } from \"components\";\n\nimport { FormBaseItem } from \"core/form/types\";\n\nimport { useMyServiceForm } from \"../../myServiceFormContext\";\nimport { Control } from \"../Property/Control\";\nimport { Label } from \"../Property/Label\";\n\ninterface PropertySectionProps {\n property: FormBaseItem;\n path?: string;\n disabled?: boolean;\n}\n\nconst MyPropertySection: React.FC = ({ property, path, disabled }) => {\n const propertyPath = path ?? property.path;\n const formikBag = useField(propertyPath);\n const [field, meta] = formikBag;\n const { addUnfinishedFlow, removeUnfinishedFlow, unfinishedFlows, widgetsInfo } = useMyServiceForm();\n\n const overriddenComponent = widgetsInfo[propertyPath]?.component;\n if (overriddenComponent) {\n return <>{overriddenComponent(property, { disabled })};\n }\n\n if (property.type === \"boolean\") {\n return (\n }\n value={field.value ?? property.default}\n disabled={disabled}\n />\n );\n }\n\n return (\n \n );\n};\n\nexport { MyPropertySection };\n","import React, { useMemo } from \"react\";\n\nimport { FormBlock } from \"core/form/types\";\n\nimport { useMyServiceForm } from \"../../myServiceFormContext\";\nimport { OrderComparator } from \"../../utils\";\nimport { ArraySection } from \"./ArraySection\";\nimport { SectionContainer } from \"./common\";\nimport { MyConditionSection } from \"./MyConditionSection\";\nimport { MyPropertySection } from \"./MyPropertySection\";\n\ninterface FormNodeProps {\n sectionPath: string;\n formField: FormBlock;\n disabled?: boolean;\n}\n\nconst FormNode: React.FC = ({ sectionPath, formField, disabled }) => {\n if (formField._type === \"formGroup\") {\n return (\n \n );\n } else if (formField._type === \"formCondition\") {\n return ;\n } else if (formField._type === \"objectArray\") {\n return ;\n } else if (formField.const !== undefined) {\n return null;\n } else {\n return (\n \n \n \n );\n }\n};\n\ninterface FormSectionProps {\n blocks: FormBlock[] | FormBlock;\n path?: string;\n skipAppend?: boolean;\n hasOauth?: boolean;\n disabled?: boolean;\n}\n\nconst MyFormSection: React.FC = ({ blocks = [], path, skipAppend, disabled }) => {\n const sections = useMemo(() => {\n const flattenedBlocks = [blocks].flat();\n\n if (flattenedBlocks.some((b) => Number.isInteger(b.order))) {\n return flattenedBlocks.sort(OrderComparator);\n }\n\n return flattenedBlocks;\n }, [blocks]);\n\n const { isAuthFlowSelected, authFieldsToHide } = useMyServiceForm();\n\n return (\n <>\n {sections\n .filter(\n (formField) =>\n !formField.pawsql_hidden &&\n // TODO: check that it is a good idea to add authFieldsToHide\n (!isAuthFlowSelected || (isAuthFlowSelected && !authFieldsToHide.includes(formField.path)))\n )\n .map((formField) => {\n const sectionPath = path ? (skipAppend ? path : `${path}.${formField.fieldKey}`) : formField.fieldKey;\n\n return (\n \n \n \n );\n })}\n \n );\n};\n\nexport { MyFormSection };\n","// extracted by mini-css-extract-plugin\nexport default {\"loaderContainer\":\"MyFormRoot_loaderContainer__AEzXI\",\"loadingMessage\":\"MyFormRoot_loadingMessage__iZB9U\",\"header\":\"MyFormRoot_header__euX5Y\",\"collapsibleIpAddresses\":\"MyFormRoot_collapsibleIpAddresses__G-FXM\"};","import { Form, useFormikContext } from \"formik\";\nimport React from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { useLocalStorage } from \"react-use\";\nimport styled from \"styled-components\";\n\nimport { Spinner } from \"components\";\nimport { Box } from \"components/ui/Box\";\nimport { Collapsible } from \"components/ui/Collapsible\";\nimport { Message } from \"components/ui/Message\";\nimport { Pre } from \"components/ui/Pre\";\n\nimport { getValidateFlagByDefinitionId } from \"core/domain/workspace/constants\";\nimport { MyWorkspace } from \"core/domain/workspace/MyWorkspace\";\nimport { FormBlock } from \"core/form/types\";\n\nimport MyCreateControls from \"./components/MyCreateControls\";\nimport MyEditControls from \"./components/MyEditControls\";\nimport { MyFormSection } from \"./components/Sections/MyFormSection\";\nimport ShowLoadingMessage from \"./components/ShowLoadingMessage\";\nimport styles from \"./MyFormRoot.module.scss\";\nimport { useMyServiceForm } from \"./myServiceFormContext\";\nimport { ServiceFormValues } from \"./types\";\nimport { useConfig } from \"config\";\n\nconst FormContainer = styled(Form)`\n padding: 22px 27px 23px 24px;\n`;\n\nconst LoaderContainer = styled.div`\n text-align: center;\n padding: 22px 0 23px;\n`;\n\nconst LoadingMessage = styled.div`\n margin-top: 10px;\n`;\n\ninterface FormRootProps {\n formFields: FormBlock;\n hasSuccess?: boolean;\n isTestConnectionInProgress?: boolean;\n errorMessage?: React.ReactNode;\n fetchingWorkspaceError?: Error | null;\n successMessage?: React.ReactNode;\n onRetest?: () => void;\n onStopTestingWorkspace?: () => void;\n}\n\nconst MyFormRoot: React.FC = ({\n isTestConnectionInProgress,\n onRetest,\n formFields,\n successMessage,\n errorMessage,\n fetchingWorkspaceError,\n hasSuccess,\n onStopTestingWorkspace,\n}) => {\n const { resetForm, dirty, isSubmitting, isValid } = useFormikContext();\n const { isInternal } = useConfig();\n const { resetUiFormProgress, isLoadingSchema, selectedService, isEditMode, readonly, formType } = useMyServiceForm();\n\n const definitionId = selectedService ? MyWorkspace.id(selectedService) : \"\";\n return (\n \n \n {isLoadingSchema && (\n \n \n \n \n \n \n )}\n {!isInternal && getValidateFlagByDefinitionId(definitionId) && }\n {isEditMode ? (\n readonly ? (\n <>\n ) : (\n {\n resetForm();\n resetUiFormProgress();\n }}\n successMessage={successMessage}\n />\n )\n ) : (\n \n )}\n \n );\n};\n\nexport { MyFormRoot };\n\nconst AllowlistIpBanner = ({ creatorId }: { creatorId: string | undefined }) => {\n const { formatMessage } = useIntl();\n const [allowlistIpsOpen, setAllowlistIpsOpen] = useLocalStorage(\n creatorId ? `allowlistIpsOpen_${creatorId}` : \"allowlistIpsOpen\",\n true\n );\n const { pawsqlIps } = useConfig();\n\n return (\n (\n // \n // {node}\n // \n // ),\n // }}\n />\n }\n >\n \n setAllowlistIpsOpen(newOpenState)}\n >\n
    {pawsqlIps}
    \n \n
    \n \n );\n};\n","import { Formik, getIn, setIn, useFormikContext } from \"formik\";\nimport { JSONSchema7 } from \"json-schema\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { useToggle } from \"react-use\";\n\nimport { FormChangeTracker } from \"components/FormChangeTracker\";\n\nimport { MyInstanceDefinition, MyInstanceDefinitionSpecification } from \"core/domain/workspace\";\nimport { isWorkspaceDefinition, isWorkspaceDefinitionSpecification } from \"core/domain/workspace/Workspace\";\nimport { FormBaseItem, FormComponentOverrideProps } from \"core/form/types\";\nimport { useFormChangeTrackerService, useUniqueFormId } from \"hooks/services/FormChangeTracker\";\nimport { isDefined } from \"utils/common\";\nimport { getNowFormattedDate } from \"utils/myDateUtils\";\n\nimport { ConnectionConfiguration } from \"../../../core/domain/analysis\";\nimport { CheckConnectionRead } from \"../../../core/request/PawsqlClient\";\nimport { useDocumentationPanelContext } from \"../DocumentationLayout/DocumentationPanelContext\";\nimport MyRequestInstanceModal from \"../RequestWorkspaceModal/MyRequestWorkspaceModal\";\nimport { MyWorkspaceNameControl } from \"./components/Controls/MyWorkspaceNameControl\";\nimport { MyWorkspaceServiceTypeControl } from \"./components/Controls/MyWorkspaceServiceTypeControl\";\nimport { MyFormRoot } from \"./MyFormRoot\";\nimport { MyServiceFormContextProvider } from \"./myServiceFormContext\";\nimport { useMyServiceForm } from \"./myServiceFormContext\";\nimport { ServiceFormValues } from \"./types\";\nimport {\n useBuildForm,\n useBuildInitialSchema,\n useBuildUiWidgetsContext,\n useConstructValidationSchema,\n usePatchFormik,\n} from \"./useMyBuildForm\";\nimport ReactGA from \"react-ga\";\nimport { useConfig } from \"config\";\nimport { ObjectSchema } from \"yup\";\n\nconst FormikPatch: React.FC = () => {\n usePatchFormik();\n return null;\n};\n\n/***\n * This function sets all initial const values in the form to current values\n * @param schema\n * @constructor\n */\nconst PatchInitialValuesWithWidgetConfig: React.FC<{\n schema: JSONSchema7;\n}> = ({ schema }) => {\n const { widgetsInfo } = useMyServiceForm();\n const { values, resetForm } = useFormikContext();\n\n const valueRef = useRef();\n valueRef.current = values.connectionConfiguration;\n\n useEffect(() => {\n // set all const fields to form field values, so we could send form\n const constPatchedValues = Object.entries(widgetsInfo)\n .filter(([_, v]) => isDefined(v.const))\n .reduce((acc, [k, v]) => setIn(acc, k, v.const), valueRef.current);\n\n // set default fields as current values, so values could be populated correctly\n // fix for https://github.com/pawsqlhq/pawsql/issues/6791\n const defaultPatchedValues = Object.entries(widgetsInfo)\n .filter(([k, v]) => isDefined(v.default) && !isDefined(getIn(constPatchedValues, k)))\n .reduce((acc, [k, v]) => setIn(acc, k, v.default), constPatchedValues);\n\n resetForm({\n values: {\n ...values,\n connectionConfiguration: defaultPatchedValues,\n },\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [schema]);\n\n return null;\n};\n\n/**\n * A component that will observe whenever the serviceType (selected workspace)\n * changes and set the name of the workspace to match the workspace definition name.\n */\nconst SetDefaultName: React.FC = () => {\n const { setFieldValue } = useFormikContext();\n const { selectedService } = useMyServiceForm();\n\n useEffect(() => {\n if (selectedService) {\n const dateTime = getNowFormattedDate();\n const timeout = setTimeout(() => {\n // We need to push this out one execution slot, so the form isn't still in its\n // initialization status and won't react to this call but would just take the initialValues instead.\n setFieldValue(\"name\", \"WS_\" + selectedService.name + \"_\" + dateTime);\n });\n return () => clearTimeout(timeout);\n }\n return;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedService]);\n\n return null;\n};\n\nexport interface MyServiceFormProps {\n formType: \"workspace\" | \"workload\";\n availableServices: MyInstanceDefinition[];\n selectedWorkspaceDefinitionSpecification?: MyInstanceDefinitionSpecification;\n onServiceSelect?: (id: string) => void;\n onSubmit: (values: ServiceFormValues) => void;\n isLoading?: boolean;\n isEditMode?: boolean;\n readonly?: boolean;\n formValues?: Partial;\n hasSuccess?: boolean;\n fetchingWorkspaceError?: Error | null;\n errorMessage?: React.ReactNode;\n successMessage?: React.ReactNode;\n isTestConnectionInProgress?: boolean;\n onStopTesting?: () => void;\n testWorkspace?: (v?: ServiceFormValues) => Promise;\n}\n\nconst MyServiceForm: React.FC = (props) => {\n const { isInternal } = useConfig();\n\n const formId = useUniqueFormId();\n const { clearFormChange } = useFormChangeTrackerService();\n\n const [isOpenRequestModal, toggleOpenRequestModal] = useToggle(false);\n const [initialRequestName, setInitialRequestName] = useState();\n const {\n formType,\n formValues,\n onSubmit,\n isLoading,\n isTestConnectionInProgress,\n onStopTesting,\n testWorkspace: testWorkspace,\n selectedWorkspaceDefinitionSpecification,\n availableServices,\n } = props;\n\n const specifications = useBuildInitialSchema(selectedWorkspaceDefinitionSpecification);\n\n const jsonSchema: JSONSchema7 = useMemo(\n () => ({\n type: \"object\",\n properties: {\n serviceType: { type: \"string\" },\n ...(selectedWorkspaceDefinitionSpecification ? { name: { type: \"string\" } } : {}),\n ...Object.fromEntries(\n Object.entries({\n connectionConfiguration: isLoading ? null : specifications,\n }).filter(([, v]) => !!v)\n ),\n },\n required: [\"name\", \"serviceType\"],\n }),\n [isLoading, selectedWorkspaceDefinitionSpecification, specifications]\n );\n\n const { formFields, initialValues } = useBuildForm(jsonSchema, formValues);\n\n const { setDocumentationUrl, setDocumentationPanelOpen, setDocumentTitle } = useDocumentationPanelContext();\n useEffect(() => {\n if (!selectedWorkspaceDefinitionSpecification) {\n return undefined;\n }\n\n const selectedServiceDefinition = availableServices.find((service) => {\n const serviceDefinitionId = isWorkspaceDefinition(service) ? service.workspaceDefinitionId : \"\";\n return (\n isWorkspaceDefinitionSpecification(selectedWorkspaceDefinitionSpecification) &&\n serviceDefinitionId === selectedWorkspaceDefinitionSpecification.workspaceDefinitionId\n );\n });\n setDocumentTitle();\n setDocumentationUrl(selectedServiceDefinition?.documentationUrl ?? \"\");\n setDocumentationPanelOpen(true);\n return;\n }, [\n setDocumentTitle,\n availableServices,\n selectedWorkspaceDefinitionSpecification,\n setDocumentationPanelOpen,\n setDocumentationUrl,\n ]);\n\n const uiOverrides = useMemo(\n () => ({\n name: {\n component: (property: FormBaseItem, componentProps: FormComponentOverrideProps) => (\n \n ),\n },\n serviceType: {\n component: (property: FormBaseItem, componentProps: FormComponentOverrideProps) => (\n {\n setInitialRequestName(name);\n toggleOpenRequestModal();\n }}\n {...componentProps}\n />\n ),\n },\n }),\n [formType, props.onServiceSelect, props.availableServices, props.isEditMode, toggleOpenRequestModal]\n );\n\n const { uiWidgetsInfo, setUiWidgetsInfo } = useBuildUiWidgetsContext(formFields, initialValues, uiOverrides);\n\n let validationSchema = useConstructValidationSchema(jsonSchema, uiWidgetsInfo);\n\n // 私有 IP 正则表达式\n const privateIpRegex =\n /^(localhost|127\\.0\\.0\\.1|10\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|192\\.168\\.\\d{1,3}\\.\\d{1,3}|172\\.(1[6-9]|2[0-9]|3[0-1])\\.\\d{1,3}\\.\\d{1,3})$/;\n\n // 检查 validationSchema 是否是对象类型\n if (validationSchema && validationSchema instanceof ObjectSchema) {\n const fields = validationSchema.fields;\n // Check if 'connectionConfiguration' exists and contains 'host'\n if (fields && fields.connectionConfiguration && fields.connectionConfiguration.fields.host) {\n const hostField = fields.connectionConfiguration.fields.host;\n\n // Apply custom validation to the 'host' field\n const updatedValidationSchema = validationSchema.shape({\n connectionConfiguration: fields.connectionConfiguration.shape({\n host: hostField.test(\"is-not-private-ip\", \"error.cannot.use.internal.ip\", function (value: string) {\n if (!isInternal && value) {\n // If it's internal environment, restrict internal IP\n return !privateIpRegex.test(value);\n }\n return true; // No restriction if not internal\n }),\n }),\n });\n\n // Use updatedValidationSchema for form validation\n validationSchema = updatedValidationSchema;\n }\n }\n\n const getValues = useCallback(\n (values: ServiceFormValues) =>\n validationSchema.cast(values, {\n stripUnknown: true,\n }),\n [validationSchema]\n );\n\n const onFormSubmit = useCallback(\n async (values: ServiceFormValues) => {\n if (isDefined((values.connectionConfiguration as { url: Blob }).url)) {\n // const valuesToSend = getValues(values);\n await onSubmit(values);\n clearFormChange(formId);\n } else {\n const valuesToSend = getValues(values);\n await onSubmit(valuesToSend);\n clearFormChange(formId);\n }\n ReactGA.event({\n category: \"app\",\n action: \"Create a workspace\",\n });\n },\n [clearFormChange, formId, getValues, onSubmit]\n );\n\n return (\n \n {({ dirty }) => (\n \n {!props.isEditMode && }\n \n \n \n onStopTesting() : undefined}\n onRetest={testWorkspace ? async () => await testWorkspace() : undefined}\n formFields={formFields}\n />\n {isOpenRequestModal && (\n \n )}\n \n )}\n \n );\n};\n\nexport { MyServiceForm };\n","import { useMutation } from \"react-query\";\n\nimport { useConfig } from \"config\";\nimport { ConnectionConfiguration } from \"core/domain/analysis\";\nimport { useDefaultRequestMiddlewares } from \"services/useDefaultRequestMiddlewares\";\nimport { useInitService } from \"services/useInitService\";\n\nimport { CheckConnectionRead } from \"../../core/request/PawsqlClient\";\nimport { WorkspaceService } from \"core/domain/workspace\";\nimport { InstanceService } from \"core/domain/workspace/InstancesService\";\n\nfunction useGetWorkspaceService(): WorkspaceService {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n\n return useInitService(() => new WorkspaceService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);\n}\n\nfunction useGetInstanceService(): InstanceService {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n\n return useInitService(() => new InstanceService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);\n}\n\nexport type CheckCreatorParams = { signal: AbortSignal; userId?: string } & (\n | { selectedCreatorId: string; userId?: string }\n | {\n selectedCreatorId: string;\n name: string;\n connectionConfiguration: ConnectionConfiguration;\n userId?: string;\n }\n | {\n selectedCreatorDefinitionId: string;\n connectionConfiguration: ConnectionConfiguration;\n userId?: string;\n }\n);\n\nexport const useCheckCreator = (formType: \"workspace\" | \"workload\" | \"instance\") => {\n const workspaceService = useGetWorkspaceService();\n const instanceService = useGetInstanceService();\n\n return useMutation(async (params: CheckCreatorParams) => {\n const payload: Record = {};\n payload.userId = params.userId;\n\n if (\"connectionConfiguration\" in params) {\n payload.connectionConfiguration = params.connectionConfiguration;\n }\n\n if (\"name\" in params) {\n payload.name = params.name;\n }\n\n if (formType === \"instance\") {\n if (\"selectedCreatorId\" in params) {\n payload.destinationId = params.selectedCreatorId;\n }\n\n if (\"selectedCreatorDefinitionId\" in params) {\n payload.destinationDefinitionId = params.selectedCreatorDefinitionId;\n }\n\n return await instanceService.check_connection(payload, {\n signal: params.signal,\n });\n }\n\n if (\"selectedCreatorId\" in params) {\n payload.workspaceId = params.selectedCreatorId;\n }\n\n if (\"selectedCreatorDefinitionId\" in params) {\n payload.workspaceDefinitionId = params.selectedCreatorDefinitionId;\n }\n\n return await workspaceService.check_connection(payload, {\n signal: params.signal,\n });\n });\n};\n","import React, { useEffect, useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { useParams } from \"react-router-dom\";\n\nimport { FormPageContent } from \"components/WorkspaceBlocks\";\nimport HeadTitle from \"components/HeadTitle\";\nimport PageTitle from \"components/PageTitle\";\nimport StepsMenu from \"components/StepsMenu\";\n\nimport { ConnectionConfiguration } from \"core/domain/analysis\";\nimport { EntityStatus } from \"core/request/PawsqlClient\";\nimport { useFormChangeTrackerService } from \"hooks/services/FormChangeTracker\";\nimport { useCreateInstance, useGetInstance } from \"hooks/services/useInstanceHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useGetInstanceDefinitionSteps } from \"services/workspace/InstanceDefinitionService\";\nimport { DocumentationWrapper } from \"views/Workspace/DocumentationLayout/DocumentationWrapper\";\n\nimport { InstanceForm } from \"./components/InstanceForm\";\nimport { isNotBlank } from \"utils/common\";\nimport { useInstanceService } from \"../AllInstancesPage/components/InstanceContext\";\n\nexport enum CreateInstanceStepsTypes {\n SELECT_TYPE = \"select-type\",\n BASIC_CONFIG = \"basic-config\",\n CUSTOM_CONFIG = \"step-\",\n}\n\nexport const hasStepOrder = (state: unknown): state is { stepOrder: string } => {\n return typeof state === \"object\" && state !== null && typeof (state as { stepOrder?: string }).stepOrder === \"string\";\n};\n\nexport const hasEditMode = (state: unknown): state is { editMode: boolean } => {\n return typeof state === \"object\" && state !== null && typeof (state as { editMode?: boolean }).editMode === \"boolean\";\n};\n\nexport const hasDbinstanceId = (state: unknown): state is { dbinstanceId: string } => {\n return (\n typeof state === \"object\" && state !== null && typeof (state as { dbinstanceId?: string }).dbinstanceId === \"string\"\n );\n};\n\nconst CreateInstancePage: React.FC = () => {\n const { push, location } = useRouter();\n const { formatMessage } = useIntl();\n const params = useParams<{\n instanceDefinitionId: string;\n \"*\": any;\n }>();\n\n const stepOrder = hasStepOrder(location.state) ? location.state.stepOrder : null;\n // const editMode = hasEditMode(location.state) ? location.state.editMode : null;\n const dbinstanceId = hasDbinstanceId(location.state) ? location.state.dbinstanceId : undefined;\n const { data: instance } = useGetInstance(dbinstanceId ?? \"\");\n const parentDefinition = params.instanceDefinitionId;\n\n const { mutateAsync: createInstance, isLoading } = useCreateInstance();\n const [successRequest, setSuccessRequest] = useState(false);\n const { setInstanceId } = useInstanceService();\n\n const instanceDefinitionSpecifications = useGetInstanceDefinitionSteps(parentDefinition ?? \"\");\n\n const [currentOrder, setCurrentOrder] = useState(parseInt(stepOrder ?? \"0\"));\n\n const isEditMode = currentOrder === 0 && isNotBlank(dbinstanceId);\n\n const [currentDefinition, setCurrentDefinition] = useState(instanceDefinitionSpecifications[currentOrder]);\n\n useEffect(() => {\n const obj = instanceDefinitionSpecifications[currentOrder];\n\n setCurrentDefinition(obj);\n }, [currentOrder, instanceDefinitionSpecifications]);\n\n const steps = instanceDefinitionSpecifications.map((item, index) => {\n return {\n id: CreateInstanceStepsTypes.CUSTOM_CONFIG + index,\n name:\n index === 0 ? formatMessage({ id: \"instance.definition.name.connection\" }) : formatMessage({ id: item.name }),\n };\n });\n\n const [error, setError] = useState<{ message?: string; status?: number } | null>(null);\n\n const { clearAllFormChanges } = useFormChangeTrackerService();\n\n const onSubmitInstanceStep = async (values: {\n name: string;\n serviceType: string;\n connectionConfiguration?: ConnectionConfiguration;\n }) => {\n const instance = currentDefinition;\n if (!instance) {\n // Unsure if this can happen, but the types want it defined\n throw new Error(\"No Instance Found\");\n }\n try {\n setSuccessRequest(!isLoading);\n await createInstance({ values, instanceCreator: instance, dbinstanceId: dbinstanceId }).then(\n ({ data: result }) => {\n setError(null);\n clearAllFormChanges();\n setInstanceId(result.dbinstanceId);\n localStorage.setItem(\"current-instanceId\", result.dbinstanceId);\n const status = result.status;\n if (status === EntityStatus.running || status === EntityStatus.failed) {\n push(`${RoutePaths.Ppt}`);\n } else {\n if (window.location.pathname.includes(RoutePaths.InstanceNew)) {\n if (currentOrder === instanceDefinitionSpecifications.length - 1) {\n setSuccessRequest(true);\n setTimeout(() => {\n setInstanceId(result.dbinstanceId);\n localStorage.setItem(\"current-instanceId\", result.dbinstanceId);\n push(`${RoutePaths.Ppt}/${RoutePaths.Dashboard}`);\n // afterSubmit();\n }, 200);\n } else {\n setSuccessRequest(true);\n setTimeout(() => {\n setInstanceId(result.dbinstanceId);\n localStorage.setItem(\"current-instanceId\", result.dbinstanceId);\n setCurrentOrder(currentOrder + 1);\n push(`.`, {\n state: {\n ...(location.state as Record),\n stepOrder: parseInt(currentOrder + \"\") + 1 + \"\",\n dbinstanceId: result.dbinstanceId,\n },\n });\n setSuccessRequest(false);\n // afterSubmit();\n }, 200);\n }\n }\n }\n }\n );\n } catch (e) {\n setSuccessRequest(false);\n setError(e);\n }\n };\n\n const afterSelectInstance = () => {\n setError(null);\n };\n\n const renderStep = () => {\n return (\n \n );\n };\n return (\n <>\n \n \n }\n middleComponent={\n \n }\n />\n {renderStep()}\n \n \n );\n};\n\nexport default CreateInstancePage;\n","import { useRef } from \"react\";\n\nimport { WorkspaceHelper } from \"core/domain/workspace/MyWorkspace\";\nimport { MyInstanceT } from \"core/domain/workspace/types\";\nimport { CheckCreatorParams, useCheckCreator } from \"hooks/services/useMyWorkspace\";\nimport { ServiceFormValues } from \"views/Workspace/ServiceForm\";\n\nimport { CheckConnectionRead } from \"../../../core/request/PawsqlClient\";\n\nexport const useTestWorkspace = (\n props: {\n formType: \"workspace\" | \"workload\" | \"instance\";\n } & (\n | { isEditMode: true; instance: MyInstanceT }\n | {\n isEditMode?: false;\n }\n )\n): {\n isTestConnectionInProgress: boolean;\n isSuccess: boolean;\n onStopTesting: () => void;\n testWorkspace: (v?: ServiceFormValues) => Promise;\n error: Error | null;\n reset: () => void;\n} => {\n const { mutateAsync, isLoading, error, isSuccess, reset } = useCheckCreator(props.formType);\n const userId = localStorage.getItem(\"pawsql-user-id\") ?? \"\";\n const abortControllerRef = useRef(null);\n\n return {\n isTestConnectionInProgress: isLoading,\n isSuccess,\n error,\n reset,\n onStopTesting: () => {\n abortControllerRef.current?.abort();\n reset();\n },\n testWorkspace: async (values) => {\n const controller = new AbortController();\n\n abortControllerRef.current = controller;\n\n let payload: CheckCreatorParams | null = null;\n\n if (props.isEditMode) {\n // When we are editing current workspace\n if (values) {\n payload = {\n connectionConfiguration: values.connectionConfiguration,\n name: values.name,\n selectedCreatorId: WorkspaceHelper.id(props.instance),\n signal: controller.signal,\n userId: userId,\n };\n } else {\n // just testing current connection\n payload = {\n selectedCreatorId: WorkspaceHelper.id(props.instance),\n signal: controller.signal,\n };\n }\n } else {\n // creating new connection\n if (values) {\n payload = {\n connectionConfiguration: values.connectionConfiguration,\n signal: controller.signal,\n selectedCreatorDefinitionId: values.serviceType,\n userId: userId,\n };\n }\n }\n\n if (!payload) {\n console.error(\"Unexpected state met: no workspaceId or workspaceDefinitionId provided\");\n\n throw new Error(\"Unexpected state met\");\n }\n\n return mutateAsync(payload);\n },\n };\n};\n","import React, { useEffect, useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\n\nimport { ContentCard } from \"components\";\n\nimport { MyInstanceT } from \"core/domain/workspace\";\nimport { SynchronousJobReadWithStatus } from \"core/request/LogsRequestError\";\nimport { CheckConnectionRead } from \"core/request/PawsqlClient\";\n// import { TrackActionType, useTrackAction } from \"hooks/useTrackAction\";\nimport { createFormErrorMessage } from \"utils/errorStatusMessage\";\nimport { PptServiceForm, PptServiceFormProps, ServiceFormValues } from \"views/Workspace/ServiceForm\";\n\nimport { useTestWorkspace } from \"./useTestWorkspace\";\n\nexport interface WorkspaceCardProvidedProps {\n isTestConnectionInProgress: boolean;\n isSuccess: boolean;\n onStopTesting: () => void;\n testWorkspace: (v?: ServiceFormValues) => Promise;\n}\n\nexport const PptInstanceCard: React.FC<\n {\n title?: React.ReactNode;\n full?: boolean;\n jobInfo?: SynchronousJobReadWithStatus | null;\n } & Omit &\n (\n | {\n isEditMode: true;\n readonly?: boolean;\n instance: MyInstanceT;\n }\n | { isEditMode?: false; readonly?: boolean }\n )\n> = ({ title, full, jobInfo, onSubmit, ...props }) => {\n const [saved, setSaved] = useState(false);\n const [errorStatusRequest, setErrorStatusRequest] = useState(null);\n const [errorMessage, setErrorMessage] = useState(null);\n\n const { testWorkspace, isTestConnectionInProgress, onStopTesting, error, reset } = useTestWorkspace(props);\n\n useEffect(() => {\n // Whenever the selected workspace changed, reset the check connection call and other errors\n reset();\n setErrorStatusRequest(null);\n }, [props.selectedInstanceDefinitionSpecification, reset]);\n\n // const trackNewWorkspacection = useTrackAction(TrackActionType.NEW_WORKSPACE);\n // const trackNewWorkloadAction = useTrackAction(TrackActionType.NEW_WORKLOAD);\n\n const onHandleSubmit = async (values: ServiceFormValues) => {\n setErrorStatusRequest(null);\n\n try {\n await onSubmit(values);\n setSaved(true);\n } catch (e) {\n console.log(e);\n\n setErrorMessage(createFormErrorMessage({ message: e.message, status: e.status }));\n }\n };\n\n return (\n \n )\n }\n />\n \n );\n};\n","import React, { useState } from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { ConnectionConfiguration } from \"core/domain/analysis\";\nimport { LogsRequestError } from \"core/request/LogsRequestError\";\n// import { InstanceDefinitionRead } from \"core/request/PawsqlClient\";\nimport useRouter from \"hooks/useRouter\";\nimport { InstanceDefinitionReadWithLatestTag } from \"services/workspace/InstanceDefinitionService\";\nimport { createFormErrorMessage } from \"utils/errorStatusMessage\";\nimport { ServiceFormValues } from \"views/Workspace/ServiceForm/types\";\nimport { InstanceRead } from \"core/request/PawsqlClient\";\nimport { PptInstanceCard } from \"views/Workspace/WorkspaceCard/PptInstanceCard\";\n\ninterface InstanceFormProps {\n onSubmit: (values: {\n name: string;\n serviceType: string;\n instanceDefinitionId?: string;\n connectionConfiguration?: ConnectionConfiguration;\n }) => void;\n afterSelectInstance?: (instanceDefinitionId: string) => void;\n availableServices: InstanceDefinitionReadWithLatestTag[];\n instanceDefinition: InstanceDefinitionReadWithLatestTag;\n hasSuccess?: boolean;\n error?: { message?: string; status?: number } | null;\n defaultDefineId?: string;\n title?: string;\n isEditMode: boolean;\n instance: InstanceRead;\n}\n\nconst hasInstanceDefinitionId = (state: unknown): state is { instanceDefinitionId: string } => {\n return (\n typeof state === \"object\" &&\n state !== null &&\n typeof (state as { instanceDefinitionId?: string }).instanceDefinitionId === \"string\"\n );\n};\n\nexport const InstanceForm: React.FC = ({\n onSubmit,\n instanceDefinition,\n availableServices,\n error,\n hasSuccess,\n afterSelectInstance,\n defaultDefineId,\n title,\n isEditMode,\n instance,\n}) => {\n const formatMessage = useIntl().formatMessage;\n\n const { location } = useRouter();\n // const trackNewInstanceAction = useTrackAction(TrackActionType.NEW_WORKSPACE);\n\n const [instanceDefinitionId, setInstanceDefinitionId] = useState(\n hasInstanceDefinitionId(location.state)\n ? location.state.instanceDefinitionId\n : defaultDefineId\n ? defaultDefineId\n : null\n );\n\n const onDropDownSelect = (instanceDefinitionId: string) => {\n setInstanceDefinitionId(instanceDefinitionId);\n if (afterSelectInstance) {\n afterSelectInstance(instanceDefinitionId);\n }\n };\n\n const onSubmitForm = async (values: ServiceFormValues) => {\n await onSubmit({\n ...values,\n instanceDefinitionId: instanceDefinition?.instanceDefinitionId,\n });\n };\n\n const errorMessage = error\n ? createFormErrorMessage({ message: error.message, status: error.status, type: \"new-instance\" })\n : null;\n\n const initConfig = instance?.initConfig\n ? { ...JSON.parse(instance?.initConfig), serviceType: instanceDefinitionId }\n : { serviceType: instanceDefinitionId, name: \"\" };\n return (\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"pageContainer\":\"PageContainer_pageContainer__uyQ3u\",\"pageContainer--centered\":\"PageContainer_pageContainer--centered__a6ekg\"};","import classNames from \"classnames\";\nimport { PropsWithChildren } from \"react\";\n\nimport styles from \"./PageContainer.module.scss\";\n\ninterface PageContainerProps {\n centered?: boolean;\n}\n\nexport const PageContainer: React.FC> = ({ children, centered }) => {\n return (\n
    \n {children}\n
    \n );\n};\n","import { InstanceDefinitionRead, WorkspaceDefinitionRead } from \"../../request/PawsqlClient\";\nimport { InstanceDefinition } from \"./types\";\n\nexport function isInstanceDefinition(instance: InstanceDefinition): instance is InstanceDefinitionRead {\n return (instance as InstanceDefinitionRead).instanceDefinitionId !== undefined;\n}\n\nexport function isWorkspaceDefinition(instance: InstanceDefinition): instance is WorkspaceDefinitionRead {\n return (instance as WorkspaceDefinitionRead).workspaceDefinitionId !== undefined;\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"beta\":\"InstanceButton_beta__vdDtQ\",\"beta--active\":\"InstanceButton_beta--active__AY2PK\",\"button\":\"InstanceButton_button__FDtbh\",\"text\":\"InstanceButton_text__L84Qw\",\"releaseStage\":\"InstanceButton_releaseStage__DOW2i\",\"icon\":\"InstanceButton_icon__YpIza\"};","import { WorkspaceIcon } from \"components/WorkspaceIcon\";\n// import { ReleaseStageBadge } from \"components/ReleaseStageBadge\";\nimport { Text } from \"components/ui/Text\";\n\nimport { InstanceDefinition } from \"core/domain/workspace\";\n// import { RoutePaths } from \"pages/routePaths\";\n\nimport styles from \"./InstanceButton.module.scss\";\n// import { getStageForDefinitions } from \"core/domain/workspace/constants\";\n// import { InstanceDefinitionRead } from \"core/request/PawsqlClient\";\n\ninterface InstanceButtonProps {\n onClick: (definition: T) => void;\n definition: T;\n}\n\nexport const InstanceButton = ({ definition, onClick }: InstanceButtonProps) => {\n return (\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"instanceGrid\":\"InstanceGrid_instanceGrid__BRhPC\",\"instanceGrid__noMatches\":\"InstanceGrid_instanceGrid__noMatches__tqgsd\",\"instanceGrid__hiddenSearchResults\":\"InstanceGrid_instanceGrid__hiddenSearchResults__RlZY6\"};","import { InstanceDefinition } from \"core/domain/workspace\";\nimport { isInstanceDefinition } from \"core/domain/workspace/instance\";\n\nimport { InstanceButton } from \"./InstanceButton\";\nimport styles from \"./InstanceGrid.module.scss\";\n\ninterface InstanceGridProps {\n instanceDefinitions: T[];\n onInstanceButtonClick: (definition: T) => void;\n}\n\nexport const InstanceGrid = ({\n instanceDefinitions,\n onInstanceButtonClick,\n}: InstanceGridProps) => {\n return (\n <>\n
    \n {instanceDefinitions.map((definition) => {\n const key = isInstanceDefinition(definition) ? definition.instanceDefinitionId : \"\";\n return ;\n })}\n
    \n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"selectInstanceType\":\"SelectInstance_selectInstanceType__31Lr9\",\"selectInstanceType__header\":\"SelectInstance_selectInstanceType__header__KQF5I\",\"selectInstanceType__gutter\":\"SelectInstance_selectInstanceType__gutter__3BHHM\",\"selectInstanceType__gutter--left\":\"SelectInstance_selectInstanceType__gutter--left__xEESR\",\"selectInstanceType__gutter--right\":\"SelectInstance_selectInstanceType__gutter--right__qXlWk\",\"selectInstanceType__grid\":\"SelectInstance_selectInstanceType__grid__OWTOs\",\"striped-bg-animation\":\"SelectInstance_striped-bg-animation__dTW7X\"};","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"Input_container__Df6Vg\",\"light\":\"Input_light__MmFcv\",\"inline\":\"Input_inline__jaV2a\",\"error\":\"Input_error__kphWr\",\"disabled\":\"Input_disabled__DZhv5\",\"readOnly\":\"Input_readOnly__cRfik\",\"focused\":\"Input_focused__fwqQj\",\"input\":\"Input_input__H8D2R\",\"password\":\"Input_password__ZgCY+\",\"visibilityButton\":\"Input_visibilityButton__B4y9J\"};","import { faEye, faEyeSlash } from \"@fortawesome/free-regular-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport classNames from \"classnames\";\nimport React, { ReactNode, useCallback, useImperativeHandle, useRef, useState } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { useToggle } from \"react-use\";\n\nimport { Button } from \"../Button\";\nimport styles from \"./Input.module.scss\";\n\nexport interface InputProps extends React.InputHTMLAttributes {\n error?: boolean;\n light?: boolean;\n inline?: boolean;\n containerClassName?: string;\n adornment?: ReactNode;\n}\n\nexport const Input = React.forwardRef(\n ({ light, error, inline, containerClassName, adornment, ...props }, ref) => {\n const { formatMessage } = useIntl();\n\n const inputRef = useRef(null);\n const buttonRef = useRef(null);\n const inputSelectionStartRef = useRef(null);\n\n // Necessary to bind a ref passed from the parent in to our internal inputRef\n useImperativeHandle(ref, () => inputRef.current as HTMLInputElement);\n\n const [isContentVisible, toggleIsContentVisible] = useToggle(false);\n const [focused, setFocused] = useState(false);\n\n const isPassword = props.type === \"password\";\n const isVisibilityButtonVisible = isPassword && !props.disabled;\n const type = isPassword ? (isContentVisible ? \"text\" : \"password\") : props.type;\n\n const focusOnInputElement = useCallback(() => {\n if (!inputRef.current) {\n return;\n }\n\n const { current: element } = inputRef;\n const selectionStart = inputSelectionStartRef.current ?? inputRef.current?.value.length;\n\n element.focus();\n\n if (selectionStart) {\n // Update input cursor position to where it was before\n window.setTimeout(() => {\n element.setSelectionRange(selectionStart, selectionStart);\n }, 0);\n }\n }, []);\n\n const onContainerFocus: React.FocusEventHandler = () => {\n setFocused(true);\n };\n\n const onContainerBlur: React.FocusEventHandler = (event) => {\n if (isVisibilityButtonVisible && event.target === inputRef.current) {\n // Save the previous selection\n inputSelectionStartRef.current = inputRef.current.selectionStart;\n }\n\n setFocused(false);\n\n if (isPassword) {\n window.setTimeout(() => {\n if (document.activeElement !== inputRef.current && document.activeElement !== buttonRef.current) {\n toggleIsContentVisible(false);\n inputSelectionStartRef.current = null;\n }\n }, 0);\n }\n };\n\n return (\n \n \n {adornment}\n {isVisibilityButtonVisible ? (\n {\n toggleIsContentVisible();\n focusOnInputElement();\n }}\n tabIndex={-1}\n size=\"xs\"\n type=\"button\"\n variant=\"clear\"\n aria-label={formatMessage({\n id: `ui.input.${isContentVisible ? \"hide\" : \"show\"}Password`,\n })}\n data-testid=\"toggle-password-visibility-button\"\n icon={}\n />\n ) : null}\n \n );\n }\n);\nInput.displayName = \"Input\";\n","// extracted by mini-css-extract-plugin\nexport default {\"searchInput\":\"SearchInput_searchInput__vvE6y\",\"searchInput__iconWrapper\":\"SearchInput_searchInput__iconWrapper__P4DNP\",\"searchInput__input\":\"SearchInput_searchInput__input__dAKrk\"};","import { useIntl } from \"react-intl\";\n\nimport { Input } from \"components/ui/Input\";\n\nimport { Icon } from \"../Icon\";\nimport styles from \"./SearchInput.module.scss\";\n\ninterface SearchInputProps {\n placeholder?: string;\n value: string;\n onChange: (e: React.ChangeEvent) => void;\n inline?: boolean;\n}\n\nexport const SearchInput: React.FC = ({ value, onChange, placeholder, inline = false }) => {\n const { formatMessage } = useIntl();\n\n return (\n // Our component contains an , but eslint is not smart enough to find it\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n \n );\n};\n","import { InstanceDefinition } from \"core/domain/workspace\";\nimport { isInstanceDefinition } from \"core/domain/workspace/instance\";\nimport { InstanceDefinitionReadWithLatestTag } from \"services/workspace/InstanceDefinitionService\";\n\nimport { InstanceGrid } from \"./InstanceGrid\";\nimport styles from \"./SelectInstance.module.scss\";\nimport { useMemo, useState } from \"react\";\nimport { SearchInput } from \"components/ui/SearchInput\";\n\ninterface SelectInstanceProps {\n instanceDefinitions: InstanceDefinitionReadWithLatestTag[];\n onSelectInstanceDefinition: (id: string) => void;\n}\n\nexport const SelectInstanceType: React.FC = ({\n instanceDefinitions,\n onSelectInstanceDefinition,\n}) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const filteredSearchResults = useMemo(\n () =>\n instanceDefinitions.filter((definition) =>\n definition.name.toLowerCase().includes(searchTerm.toLocaleLowerCase())\n ),\n [searchTerm, instanceDefinitions]\n );\n\n const handleInstanceButtonClick = (definition: InstanceDefinition) => {\n if (isInstanceDefinition(definition)) {\n onSelectInstanceDefinition(definition.instanceDefinitionId);\n } else {\n onSelectInstanceDefinition(\"\");\n }\n };\n\n return (\n
    \n
    \n setSearchTerm(e.target.value)} />\n
    \n
    \n \n
    \n
    \n );\n};\n","import { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\n// import ContentCard from \"components/ContentCard/MyContentCard\";\nimport HeadTitle from \"components/HeadTitle\";\nimport { PageContainer } from \"components/PageContainer\";\nimport { Box } from \"components/ui/Box\";\nimport { Heading } from \"components/ui/Heading\";\nimport { SelectInstanceType } from \"components/ui/instance/SelectInstance\";\n\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { useInstanceDefinitionList } from \"services/workspace/InstanceDefinitionService\";\n\nconst CustomDiv = styled.div`\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n --font-size-xs: 0.5625rem;\n --font-size-sm: 0.75rem;\n --font-size-md: 0.8125rem;\n --font-size-lg: 0.875rem;\n --show-dev-tools: initial;\n color-scheme: light;\n --color-white: white;\n --color-black: black;\n --color-foreground: hsl(0, 0%, 100%);\n --color-inverse: hsl(0, 0%, 0%);\n --color-backdrop: hsl(240, 17%, 98%);\n --color-blue-30: hsl(240, 100%, 98%);\n --color-blue-40: hsl(244, 100%, 97%);\n --color-blue-50: hsl(243, 100%, 96%);\n --color-blue-100: hsl(243, 100%, 89%);\n --color-blue-200: hsl(241, 100%, 82%);\n --color-blue-300: hsl(240, 100%, 75%);\n --color-blue-400: hsl(241, 100%, 68%);\n --color-blue-500: hsl(243, 96%, 61%);\n --color-blue-600: hsl(245, 85%, 56%);\n --color-blue-700: hsl(246, 76%, 51%);\n --color-blue-800: hsl(251, 91%, 44%);\n --color-blue-900: hsl(253, 100%, 37%);\n --color-dark-blue-30: hsl(228, 45%, 98%);\n --color-dark-blue-40: hsl(230, 23%, 95%);\n --color-dark-blue-50: hsl(233, 22%, 92%);\n --color-dark-blue-100: hsl(233, 25%, 80%);\n --color-dark-blue-200: hsl(232, 23%, 67%);\n --color-dark-blue-300: hsl(232, 23%, 56%);\n --color-dark-blue-400: hsl(234, 26%, 46%);\n --color-dark-blue-500: hsl(234, 38%, 37%);\n --color-dark-blue-600: hsl(235, 40%, 35%);\n --color-dark-blue-700: hsl(236, 43%, 31%);\n --color-dark-blue-800: hsl(237, 45%, 27%);\n --color-dark-blue-900: hsl(241, 51%, 20%);\n --color-dark-blue-1000: hsl(240, 56%, 9%);\n --color-grey-30: hsl(240, 20%, 99%);\n --color-grey-40: hsl(240, 25%, 98%);\n --color-grey-50: hsl(240, 17%, 98%);\n --color-grey-100: hsl(240, 12%, 92%);\n --color-grey-200: hsl(240, 10%, 86%);\n --color-grey-300: hsl(240, 13%, 72%);\n --color-grey-400: hsl(240, 10%, 59%);\n --color-grey-500: hsl(240, 10%, 49%);\n --color-grey-600: hsl(240, 12%, 40%);\n --color-grey-700: hsl(240, 14%, 33%);\n --color-grey-800: hsl(240, 17%, 25%);\n --color-grey-900: hsl(240, 19%, 18%);\n --color-orange-50: hsl(3, 64%, 95%);\n --color-orange-100: hsl(11, 97%, 87%);\n --color-orange-200: hsl(11, 98%, 79%);\n --color-orange-300: hsl(11, 99%, 71%);\n --color-orange-400: hsl(10, 100%, 65%);\n --color-orange-500: hsl(9, 100%, 60%);\n --color-orange-600: hsl(8, 90%, 57%);\n --color-orange-700: hsl(8, 79%, 53%);\n --color-orange-800: hsl(8, 71%, 49%);\n --color-orange-900: hsl(7, 75%, 43%);\n --color-green-30: hsl(187, 69%, 97%);\n --color-green-40: hsl(185, 76%, 97%);\n --color-green-50: hsl(184, 67%, 92%);\n --color-green-100: hsl(183, 64%, 79%);\n --color-green-200: hsl(183, 67%, 64%);\n --color-green-300: hsl(183, 100%, 42%);\n --color-green-400: hsl(184, 100%, 40%);\n --color-green-500: hsl(185, 100%, 39%);\n --color-green-600: hsl(185, 100%, 35%);\n --color-green-700: hsl(184, 100%, 30%);\n --color-green-800: hsl(184, 100%, 26%);\n --color-green-900: hsl(180, 100%, 17%);\n --color-red-30: hsl(349, 100%, 98%);\n --color-red-40: hsl(349, 100%, 97%);\n --color-red-50: hsl(351, 100%, 95%);\n --color-red-100: hsl(350, 100%, 86%);\n --color-red-200: hsl(349, 100%, 78%);\n --color-red-300: hsl(349, 100%, 68%);\n --color-red-400: hsl(348, 96%, 60%);\n --color-red-500: hsl(348, 92%, 53%);\n --color-red-600: hsl(345, 86%, 48%);\n --color-red-700: hsl(342, 95%, 42%);\n --color-red-800: hsl(339, 100%, 37%);\n --color-red-900: hsl(335, 100%, 30%);\n --color-yellow-50: hsl(49, 88%, 94%);\n --color-yellow-100: hsl(48, 90%, 84%);\n --color-yellow-200: hsl(48, 91%, 74%);\n --color-yellow-300: hsl(48, 92%, 64%);\n --color-yellow-400: hsl(47, 93%, 56%);\n --color-yellow-500: hsl(47, 100%, 48%);\n --color-yellow-600: hsl(44, 100%, 48%);\n --color-yellow-700: hsl(39, 100%, 48%);\n --color-yellow-800: hsl(35, 100%, 48%);\n --color-yellow-900: hsl(27, 100%, 48%);\n --color-ansi-blue-bg: hsl(209, 98%, 79%);\n --color-ansi-cyan-bg: hsl(180, 83%, 53%);\n --color-ansi-yellow-bg: hsl(60, 100%, 86%);\n --color-ansi-cyan-fg: hsl(180, 88%, 38%);\n --color-ansi-green-fg: hsl(120, 100%, 33%);\n --color-ansi-yellow-fg: hsl(16, 100%, 50%);\n --color-ansi-red-fg: hsl(0, 100%, 50%);\n --color-overlay-background: hsla(241, 51%, 20%, 50%);\n --box-shadow: 0 2px 4px hsla(241, 51%, 20%, 12%);\n --box-shadow-left: -2px 0 10px hsla(241, 51%, 20%, 12%);\n --box-shadow-right: 2px 0 10px hsla(241, 51%, 20%, 12%);\n --box-shadow-raised: 0 10px 19px hsla(241, 51%, 20%, 16%);\n --box-shadow-popup: 0 0 22px hsla(241, 51%, 20%, 12%);\n --box-shadow-sidebar: 0 2px 4px hsla(241, 51%, 20%, 5%);\n --box-shadow-inset: inset 0 1.5px 3px hsla(241, 51%, 20%, 12%);\n --box-shadow-menu: 0 8px 10px 0 hsla(0, 0%, 0%, 4%), 0 3px 14px 0 hsla(0, 0%, 0%, 8%),\n 0 5px 5px 0 hsla(0, 0%, 0%, 12%);\n font-weight: 400;\n -webkit-font-smoothing: antialiased;\n color: var(--color-dark-blue-900);\n font-family: Inter, Helvetica, Arial, sans-serif;\n box-sizing: border-box;\n overflow-y: auto;\n flex-grow: 1;\n`;\n\nexport const SelectInstancePage: React.FC = () => {\n // const navigate = useNavigate();\n const { push, location } = useRouter();\n const { instanceDefinitions } = useInstanceDefinitionList();\n\n return (\n \n \n \n \n \n \n \n \n \n \n {\n // navigate(`./${id}`)\n push(`../${RoutePaths.InstanceNew}/${id}`, {\n state: {\n ...(location.state as Record),\n stepOrder: \"0\",\n },\n });\n }}\n />\n \n \n );\n};\n","import { InstancesPage } from \"./InstancesPage\";\n\nexport default InstancesPage;\n","import React from \"react\";\nimport { Route, Routes } from \"react-router-dom\";\n\nimport { RoutePaths } from \"../routePaths\";\nimport AllInstancesPage from \"./pages/AllInstancesPage\";\nimport DashBoardPage from \"./pages/AllInstancesPage/components/DashBoardPage\";\nimport CreateInstancePage from \"./pages/CreateInstancePage/CreateInstancePage\";\n// import SelectInstanceTypeCards from \"./pages/CreateInstancePage/SelectInstanceTypeCards\";\nimport SelectSourcePage from \"./pages/SelectInstancePage\";\n\nexport const InstancesPage: React.FC = () => {\n return (\n \n } />\n } />\n } />\n } />\n \n );\n};\n","import queryString from \"query-string\";\nimport React, { useCallback } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { CellProps } from \"react-table\";\nimport styled from \"styled-components\";\n\nimport PaginationTable from \"components/Table/PaginationTable\";\n\nimport { PptTableRead } from \"core/request/PawsqlClient\";\nimport useRouter from \"hooks/useRouter\";\n\nimport SortButton from \"./components/SortButton\";\nimport StringCell from \"./components/StringCell\";\nimport { SortOrderEnum } from \"./types\";\n\nconst Content = styled.div`\n margin: 0 32px 0 27px;\n`;\n\nconst TextField = styled.div`\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 190px;\n color: inherit;\n font-weight: 500;\n`;\n\ninterface IProps {\n data: PptTableRead[];\n}\n\nconst PptTablesImplementationTable: React.FC = ({ data }) => {\n const { query, push, location } = useRouter();\n const sortBy = query.sortBy || \"\";\n const sortOrder = query.order || \"\";\n\n const onSortClick = useCallback(\n (field: string) => {\n const order =\n sortBy !== field ? SortOrderEnum.ASC : sortOrder === SortOrderEnum.ASC ? SortOrderEnum.DESC : SortOrderEnum.ASC;\n push({\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n sortBy: field,\n order: order,\n },\n { skipNull: true }\n ),\n });\n },\n [push, sortBy, sortOrder, location]\n );\n\n const sortData = useCallback(\n (a, b) => {\n let result;\n if (sortBy === \"columnCount\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"indexCount\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"rowCount\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"dataSize\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"indexSize\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"partitionFlag\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"brokenPageRate\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"dataSkewDegree\") {\n result = a[sortBy] - b[sortBy];\n } else {\n result = a[sortBy]?.toLowerCase().localeCompare(b[sortBy]?.toLowerCase());\n }\n\n if (sortOrder === SortOrderEnum.DESC) {\n return -1 * result;\n }\n\n return result;\n },\n [sortBy, sortOrder]\n );\n\n const sortingData = React.useMemo(() => data.sort(sortData), [sortData, data]);\n const columns = React.useMemo(\n () => [\n {\n Header: (\n <>\n \n onSortClick(\"dbName\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"dbName\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"schemaName\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"schemaName\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"tableName\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"tableName\",\n Cell: ({ cell }: CellProps) => ,\n },\n\n {\n Header: (\n <>\n \n onSortClick(\"tableText\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"tableText\",\n Cell: ({ row }: CellProps) => (\n 500\n ? row.original.tableText.slice(0, 500) + \"...\"\n : row.original.tableText\n }\n >\n {row.original.tableText}\n \n ),\n },\n {\n Header: (\n <>\n \n onSortClick(\"columnCount\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"columnCount\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"indexCount\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"indexCount\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"rowCount\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"rowCount\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"dataSize\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"dataSize\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"indexSize\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"indexSize\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"partitionFlag\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"partitionFlag\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"brokenPageRate\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"brokenPageRate\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"dataSkewDegree\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"dataSkewDegree\",\n Cell: ({ cell }: CellProps) => ,\n },\n ],\n [onSortClick, sortBy, sortOrder]\n );\n return (\n \n \n \n );\n};\n\nexport default PptTablesImplementationTable;\n","import { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\n\nimport { listPptTables } from \"../../request/PawsqlClient\";\n\nexport class PptTableService extends PawsqlRequestService {\n public list(id: string) {\n return listPptTables({ id }, this.requestOptions);\n }\n}\n","import { useConfig } from \"config\";\nimport { PptTableService } from \"core/domain/workspace/PptTableService\";\nimport { useInitService } from \"services/useInitService\";\n\nimport { PptTableReadList } from \"../../core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\n\nexport const pptTablesKeys = {\n all: [SCOPE_USER, \"pptTables\"] as const,\n lists: () => [...pptTablesKeys.all, \"list\"] as const,\n list: (filters: string) => [...pptTablesKeys.lists(), { filters }] as const,\n detail: (pptTableId: string) => [...pptTablesKeys.all, \"details\", pptTableId] as const,\n};\n\nexport function usePptTableService() {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n return useInitService(() => new PptTableService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);\n}\n\nconst usePptTableList = (userId: string): PptTableReadList => {\n const service = usePptTableService();\n return useSuspenseQuery(pptTablesKeys.lists(), () => service.list(userId));\n};\n\nexport { usePptTableList };\n","import { faSearch } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport queryString from \"query-string\";\nimport React, { Suspense, useEffect, useState } from \"react\";\nimport styled from \"styled-components\";\n\nimport { LoadingPage, MainPageWithScroll } from \"components\";\n// import { EmptyResourceListView } from \"components/EmptyResourceListView\";\nimport PptTablesImplementationTable from \"components/EntityTable/PptTablesImplementationTable\";\nimport HeadTitle from \"components/HeadTitle\";\n\nimport { PptTableRead } from \"core/request/PawsqlClient\";\nimport { usePptTableList } from \"hooks/services/usePptTableHook\";\nimport useRouter from \"hooks/useRouter\";\nimport Search from \"views/Connection/ConnectionForm/components/Search\";\nimport { useInstanceService } from \"pages/InstancesPage/pages/AllInstancesPage/components/InstanceContext\";\n\nconst Content = styled.div`\n margin: 0 32px 10px 27px;\n`;\nexport const LeftFieldCol = styled.div`\n width: 45px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nexport const FlexRow = styled.div`\n margin-top: 90px;\n display: flex;\n flex-direction: row;\n`;\n\nconst Icon = styled.div<{ $small?: boolean }>`\n padding: 5px 0 0 5px;\n`;\n\n// const FilterDropDown = styled.div`\n// border: 1px solid #a8a8c9;\n// border-radius: 4px;\n// background: #f8f8fa;\n// height: 43px;\n// width: 200px;\n// `;\n\nconst AllPptTablesPage: React.FC = () => {\n const { query, push, location } = useRouter();\n\n const { instanceId } = useInstanceService();\n\n const { tables } = usePptTableList(instanceId || \"\");\n\n const [searchString, setSearchString] = useState(query.searchString);\n\n const [filteredStreams, setFilteredStreams] = useState(tables);\n\n useEffect(() => {\n const filters: Array<(s: PptTableRead) => boolean> = [\n (_: PptTableRead) => true,\n searchString\n ? (stream: PptTableRead) =>\n stream.tableName?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.tableText?.toLowerCase().includes(searchString?.toLowerCase())\n : null,\n ].filter(Boolean) as Array<(s: PptTableRead) => boolean>;\n\n setFilteredStreams(tables.filter((stream) => filters.every((f) => f(stream))));\n }, [searchString, tables]);\n\n return (\n }>\n }>\n \n \n \n \n \n \n \n \n {\n setSearchString(value);\n push({\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n searchString: value,\n page: 0,\n },\n { skipNull: true }\n ),\n });\n }}\n />\n \n \n \n \n \n \n );\n};\n\nexport default AllPptTablesPage;\n","import AllPptTablesPage from \"./AllPptTablesPage\";\n\nexport default AllPptTablesPage;\n","import { PptTablesPage } from \"./PptTablesPage\";\n\nexport default PptTablesPage;\n","import React, { Suspense } from \"react\";\nimport { Route, Routes } from \"react-router-dom\";\n\nimport { LoadingPage } from \"components\";\n\nimport AllPptTablesPage from \"./pages/AllPptTablesPage\";\n\nexport const PptTablesPage: React.FC = () => (\n }>\n \n } />\n \n \n);\n","import React from \"react\";\nimport styled from \"styled-components\";\n\ninterface IProps {\n name: string | React.ReactNode;\n isActive?: boolean;\n count?: number;\n id?: string;\n onClick: () => void;\n}\n\nconst Item = styled.div<{\n isActive?: boolean;\n}>`\n width: 100%;\n padding: 6px 8px 7px;\n border-radius: 4px;\n cursor: pointer;\n background: ${({ theme, isActive }) => (isActive ? theme.primaryColor12 : \"none\")};\n font-style: normal;\n font-weight: ${({ isActive }) => (isActive ? \"bold\" : \"500\")};\n font-size: 14px;\n line-height: 15px;\n color: ${({ theme, isActive }) => (isActive ? theme.primaryColor : theme.greyColor60)};\n`;\n\nconst Counter = styled.div`\n min-width: 12px;\n height: 12px;\n padding: 0 3px;\n text-align: center;\n border-radius: 15px;\n background: ${({ theme }) => theme.dangerColor};\n font-size: 8px;\n line-height: 13px;\n color: ${({ theme }) => theme.whiteColor};\n display: inline-block;\n margin-left: 5px;\n`;\n\nconst MenuItem: React.FC = ({ count, isActive, name, id, onClick }) => {\n return (\n \n {name}\n {count ? {count} : null}\n \n );\n};\n\nexport default MenuItem;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport MenuItem from \"./components/MenuItem\";\n\nexport interface SideMenuItem {\n path: string;\n name: string | React.ReactNode;\n indicatorCount?: number;\n component: React.ComponentType;\n id?: string;\n}\n\nexport interface CategoryItem {\n category?: string | React.ReactNode;\n routes: SideMenuItem[];\n}\n\ninterface SideMenuProps {\n data: CategoryItem[];\n activeItem?: string;\n onSelect: (id: string) => void;\n}\n\nconst Content = styled.nav`\n min-width: 152px;\n margin-left: 20px;\n`;\n\nconst Category = styled.div`\n margin-bottom: 30px;\n`;\n\nconst CategoryName = styled.div`\n padding: 5px 8px;\n font-weight: 500;\n font-size: 12px;\n line-height: 12px;\n opacity: 0.5;\n text-transform: uppercase;\n`;\n\nconst SideMenu: React.FC = ({ data, onSelect, activeItem }) => {\n return (\n \n {data.map((categoryItem, index) => (\n \n {categoryItem.category && {categoryItem.category}}\n {categoryItem.routes.map((route) => (\n onSelect(route.path)}\n />\n ))}\n \n ))}\n \n );\n};\n\nexport default SideMenu;\n","import SideMenu from \"./SideMenu\";\n\nexport default SideMenu;\nexport { SideMenu };\n","import { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\n\nimport {\n createUserFeedback,\n createQueryFeedback,\n QueryFeedbackCreate,\n UserFeedbackCreate,\n listUserFeedbackById,\n listQueryFeedbackById,\n UserIdRequestBody,\n MessageIdsRequestBody,\n markAllQueryAsRead,\n markAllUserAsRead,\n} from \"../../request/PawsqlClient\";\n\nexport class FeedbackService extends PawsqlRequestService {\n public createQueryFeedback(body: QueryFeedbackCreate) {\n return createQueryFeedback(body, this.requestOptions);\n }\n\n public createUserFeedback(body: UserFeedbackCreate) {\n return createUserFeedback(body, this.requestOptions);\n }\n public listQueryFeedbackById(analysisStmtId: string) {\n return listQueryFeedbackById({ id: analysisStmtId }, this.requestOptions);\n }\n\n public listUserFeedbackById(body: UserIdRequestBody) {\n return listUserFeedbackById(body, this.requestOptions);\n }\n\n public markAllQueryAsRead(body: MessageIdsRequestBody) {\n return markAllQueryAsRead(body, this.requestOptions);\n }\n\n public markAllUserAsRead(body: MessageIdsRequestBody) {\n return markAllUserAsRead(body, this.requestOptions);\n }\n}\n","import { useCallback } from \"react\";\nimport { addResponseMessage, addUserMessage, setBadgeCount } from \"react-chat-widget\";\nimport { useMutation, useQueryClient } from \"react-query\";\n\nimport { useConfig } from \"config\";\nimport { FeedbackService } from \"core/domain/workspace/FeedbackService\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport { useInitService } from \"services/useInitService\";\nimport { isNotBlank } from \"utils/common\";\n\nimport { FeedbackRead, QueryFeedbackCreate, UserFeedbackCreate } from \"../../core/request/PawsqlClient\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\n\nexport const feedbacksKeys = {\n all: [SCOPE_USER, \"feedbacks\"] as const,\n lists: () => [...feedbacksKeys.all, \"list\"] as const,\n list: (filters: string) => [...feedbacksKeys.lists(), { filters }] as const,\n detail: (feedbackId: string) => [...feedbacksKeys.all, \"details\", feedbackId] as const,\n};\n\nexport function useFeedbackService() {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n return useInitService(() => new FeedbackService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);\n}\n\nexport const useCreateQueryFeedback = () => {\n const service = useFeedbackService();\n const queryClient = useQueryClient();\n\n return useMutation((userInfo: QueryFeedbackCreate) => service.createQueryFeedback(userInfo), {\n onSuccess: ({ data }) => {\n if (data) {\n queryClient.invalidateQueries(feedbacksKeys.lists());\n }\n },\n });\n};\n\nexport const useCreateUserFeedback = () => {\n const service = useFeedbackService();\n const queryClient = useQueryClient();\n\n return useMutation((userInfo: UserFeedbackCreate) => service.createUserFeedback(userInfo), {\n onSuccess: ({ data }) => {\n if (data) {\n queryClient.invalidateQueries(feedbacksKeys.lists());\n }\n },\n });\n};\n\nexport const useListQueryFeedbackById = () => {\n const service = useFeedbackService();\n return useMutation((analysisStmtId: string) => service.listQueryFeedbackById(analysisStmtId));\n};\n\nexport const useListUserFeedbackById = () => {\n const service = useFeedbackService();\n return useMutation((userId: string) => service.listUserFeedbackById({ userId: userId }));\n};\n\nexport const useMarkAllQueryAsRead = () => {\n const service = useFeedbackService();\n return useMutation((messageIds: string[]) => service.markAllQueryAsRead({ messageIds: messageIds }));\n};\n\nexport const useMarkAllUserAsRead = () => {\n const service = useFeedbackService();\n return useMutation((messageIds: string[]) => service.markAllUserAsRead({ messageIds: messageIds }));\n};\n\nexport const useRecoveryHistoryMessage = (queryId: string) => {\n const isQueryDetailPage = isNotBlank(queryId);\n const { isAdmin } = useMyAuthService();\n\n const { mutateAsync: listQueryFeedbackById } = useListQueryFeedbackById();\n const { mutateAsync: listUserFeedbackById } = useListUserFeedbackById();\n const { mutateAsync: markAllQueryAsRead } = useMarkAllQueryAsRead();\n const { mutateAsync: markAllUserAsRead } = useMarkAllUserAsRead();\n\n const handleMarkAllAsRead = useCallback(\n (data: FeedbackRead[]) => {\n //如果打开了聊天框则全部标记为已读\n if (isQueryDetailPage) {\n if (isAdmin) {\n const ids = data\n .filter((item) => !item.messageType && !item.messageStatus)\n .map((item) => item.queryFeedbackMessageId);\n ids.length > 0 && markAllQueryAsRead(ids);\n } else {\n const ids = data\n .filter((item) => item.messageType && !item.messageStatus)\n .map((item) => item.queryFeedbackMessageId);\n ids.length > 0 && markAllQueryAsRead(ids);\n }\n } else {\n if (isAdmin) {\n const ids = data\n .filter((item) => !item.messageType && !item.messageStatus)\n .map((item) => item.userFeedbackMessageId);\n ids.length > 0 && markAllUserAsRead(ids);\n } else {\n const ids = data\n .filter((item) => item.messageType && !item.messageStatus)\n .map((item) => item.userFeedbackMessageId);\n ids.length > 0 && markAllUserAsRead(ids);\n }\n }\n },\n [isAdmin, isQueryDetailPage, markAllQueryAsRead, markAllUserAsRead]\n );\n\n const handleRecovery = useCallback(\n (userId: string) => {\n isQueryDetailPage\n ? listQueryFeedbackById(queryId).then(({ data }) => {\n data\n .sort((a, b) => (a.createTime > b.createTime ? 1 : -1))\n .forEach((item) => {\n isNotBlank(item.content) &&\n (item.messageType\n ? isAdmin\n ? addUserMessage(item.content)\n : addResponseMessage(item.content)\n : isAdmin\n ? addResponseMessage(item.content)\n : addUserMessage(item.content));\n });\n setBadgeCount(\n data.filter((item) =>\n isAdmin ? !item.messageType && !item.messageStatus : item.messageType && !item.messageStatus\n ).length\n );\n handleMarkAllAsRead(data as unknown as FeedbackRead[]);\n })\n : listUserFeedbackById(userId).then(({ data }) => {\n data\n .sort((a, b) => (a.createTime > b.createTime ? 1 : -1))\n .forEach((item) => {\n isNotBlank(item.content) &&\n (item.messageType\n ? isAdmin\n ? addUserMessage(item.content)\n : addResponseMessage(item.content)\n : isAdmin\n ? addResponseMessage(item.content)\n : addUserMessage(item.content));\n });\n setBadgeCount(\n data.filter((item) =>\n isAdmin ? !item.messageType && !item.messageStatus : item.messageType && !item.messageStatus\n ).length\n );\n handleMarkAllAsRead(data as unknown as FeedbackRead[]);\n });\n },\n [queryId, handleMarkAllAsRead, isAdmin, isQueryDetailPage, listQueryFeedbackById, listUserFeedbackById]\n );\n\n return handleRecovery;\n};\n","import React from \"react\";\n// import { FormattedNumber } from \"react-intl\";\n// import { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\ninterface NumberCellProps {\n value: number;\n enabled?: boolean;\n}\n\n// export const EndBlock = styled.div`\n// margin: 0 auto;\n// text-align: center;\n// `;\n\nconst Content = styled.div<{ enabled?: boolean }>`\n color: ${({ theme, enabled }) => (!enabled ? theme.greyColor40 : \"inherit\")};\n`;\n\nconst NumberCell: React.FC = ({ value, enabled }) => {value};\n\nexport default NumberCell;\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nconst Name = styled.div<{ enabled?: boolean }>`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 500px;\n color: ${({ theme, enabled }) => (!enabled ? theme.greyColor40 : \"inherit\")};\n`;\n\ninterface IProps {\n isOrgCreator?: boolean;\n isOrgAdmin?: boolean;\n isOrgMember?: boolean;\n isAdmin?: boolean;\n}\n\nconst RolesCell: React.FC = ({ isOrgCreator, isOrgAdmin, isOrgMember, isAdmin }) => {\n if (isOrgCreator) {\n return (\n <>\n \n \n \n \n );\n }\n\n if (isOrgAdmin) {\n return (\n <>\n \n \n \n \n );\n }\n\n if (isOrgMember) {\n return (\n <>\n \n \n \n \n );\n }\n\n if (isAdmin) {\n return (\n <>\n \n \n \n \n );\n }\n return (\n <>\n \n \n \n \n );\n};\n\nexport default RolesCell;\n","// extracted by mini-css-extract-plugin\nexport default {\"headerCell\":\"UsersTable_headerCell__LF39I\",\"checkboxCell\":\"UsersTable_checkboxCell__diO+B\",\"removedStream\":\"UsersTable_removedStream__AftvL\",\"icon\":\"UsersTable_icon__v2WF3\",\"plus\":\"UsersTable_plus__2xaBV\",\"minus\":\"UsersTable_minus__O0zZv\",\"streamRowCheckboxCell\":\"UsersTable_streamRowCheckboxCell__1CUna\",\"streamHeaderContent\":\"UsersTable_streamHeaderContent__v4kdT\",\"catalogSectionRow\":\"UsersTable_catalogSectionRow__WoKyQ\",\"redBackground\":\"UsersTable_redBackground__T6JcV\",\"greenBackground\":\"UsersTable_greenBackground__7ZmyZ\",\"redBorder\":\"UsersTable_redBorder__jcPPE\",\"purpleBackground\":\"UsersTable_purpleBackground__+TI35\",\"catalogHeader\":\"UsersTable_catalogHeader__GQDi-\",\"readonlyCatalogSubheader\":\"UsersTable_readonlyCatalogSubheader__WfmZu\",\"catalogSubheader\":\"UsersTable_catalogSubheader__At1Q9\",\"readonlyCatalogHeader\":\"UsersTable_readonlyCatalogHeader__jmwep\",\"treeViewContainer\":\"UsersTable_treeViewContainer__qEmrq\",\"streamFieldTableContainer\":\"UsersTable_streamFieldTableContainer__ocw8o\",\"workloadSection\":\"UsersTable_workloadSection__+nrq+\"};","import React, { useCallback } from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { useConfirmationModalService } from \"hooks/services/ConfirmationModal\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport { Button } from \"@tremor/react\";\nimport { RiLoader4Line, RiUserUnfollowLine, RiUserStarLine, RiCloseLine } from \"@remixicon/react\";\n\ninterface IProps {\n type: \"kickout\" | \"disagree\" | \"cancelAdmin\";\n onDelete: () => void;\n}\n\nconst OrgConfirmActionButton: React.FC = ({ type, onDelete }) => {\n const { formatMessage } = useIntl();\n\n const { openConfirmationModal, closeConfirmationModal } = useConfirmationModalService();\n const { isDemo } = useMyAuthService();\n const onDeleteButtonClick = useCallback(() => {\n openConfirmationModal({\n text: `tables.${type}DeleteModalText`,\n title: `tables.${type}DeleteConfirm`,\n submitButtonText: \"form.submit\",\n onSubmit: async () => {\n await onDelete();\n closeConfirmationModal();\n },\n submitButtonDataId: \"delete\",\n });\n }, [closeConfirmationModal, onDelete, openConfirmationModal, type]);\n\n const getIcon = (type: \"kickout\" | \"disagree\" | \"cancelAdmin\") => {\n if (type === \"kickout\") {\n return ;\n } else if (type === \"disagree\") {\n return ;\n } else if (type === \"cancelAdmin\") {\n return ;\n }\n return ;\n };\n return (\n {\n e.stopPropagation();\n onDeleteButtonClick();\n }}\n >\n {getIcon(type)}\n \n );\n};\n\nexport default OrgConfirmActionButton;\n","import { PawsqlRequestService } from \"core/request/PawsqlRequestService\";\n\nimport {\n UpdateOrgRequestBody,\n updateOrg,\n listOrgs,\n createOrg,\n OrganizationCreate,\n OrganizationUpdate,\n changeOrg,\n getOrg,\n approveOrg,\n setAdmin,\n rejectOrg,\n kickoutOrg,\n cancelAdmin,\n quitOrg,\n deleteOrg,\n OrganizationQuit,\n OrganizationDelete,\n OrgBetaFuncUpdate,\n updateOrgToBeta,\n listBetaOrg,\n} from \"../../request/PawsqlClient\";\n\nexport class OrgService extends PawsqlRequestService {\n public detail(orgId: string) {\n return getOrg({ id: orgId }, this.requestOptions);\n }\n\n public list(userId: string) {\n return listOrgs({ id: userId }, this.requestOptions);\n }\n public listBetaOrg(betaFuncRole: string) {\n return listBetaOrg({ betaFuncRole: betaFuncRole }, this.requestOptions);\n }\n\n public updateOrg(body: OrganizationUpdate) {\n return updateOrg(body, this.requestOptions);\n }\n public updateBetaFunc(body: OrgBetaFuncUpdate) {\n return updateOrgToBeta(body, this.requestOptions);\n }\n\n public quitOrg(body: OrganizationQuit) {\n return quitOrg(body, this.requestOptions);\n }\n\n public deleteOrg(body: OrganizationDelete) {\n return deleteOrg(body, this.requestOptions);\n }\n public approveOrg(body: UpdateOrgRequestBody) {\n return approveOrg(body, this.requestOptions);\n }\n public rejectOrg(body: UpdateOrgRequestBody) {\n return rejectOrg(body, this.requestOptions);\n }\n public kickoutOrg(body: UpdateOrgRequestBody) {\n return kickoutOrg(body, this.requestOptions);\n }\n public setAdmin(body: UpdateOrgRequestBody) {\n return setAdmin(body, this.requestOptions);\n }\n public cancelAdmin(body: UpdateOrgRequestBody) {\n return cancelAdmin(body, this.requestOptions);\n }\n\n public changeOrg(body: UpdateOrgRequestBody) {\n return changeOrg(body, this.requestOptions);\n }\n public createOrg(body: OrganizationCreate) {\n return createOrg(body, this.requestOptions);\n }\n}\n","import { useMutation, useQueryClient } from \"react-query\";\n\nimport { useConfig } from \"config\";\nimport { OrgService } from \"core/domain/workspace/OrgService\";\nimport { useInitService } from \"services/useInitService\";\n\nimport {\n OrganizationCreate,\n OrganizationDelete,\n OrganizationQuit,\n OrganizationUpdate,\n OrgBetaFuncUpdate,\n UpdateOrgRequestBody,\n} from \"../../core/request/PawsqlClient\";\nimport { useSuspenseQuery } from \"../../services/workspace/useSuspenseQuery\";\nimport { SCOPE_USER } from \"../../services/Scope\";\nimport { useDefaultRequestMiddlewares } from \"../../services/useDefaultRequestMiddlewares\";\nimport { usersKeys } from \"./useUserHook\";\n\nexport const orgsKeys = {\n all: [SCOPE_USER, \"orgs\"] as const,\n lists: () => [...orgsKeys.all, \"list\"] as const,\n list: (filters: string) => [...orgsKeys.lists(), { filters }] as const,\n detail: (orgId: string) => [...orgsKeys.all, \"details\", orgId] as const,\n};\n\nexport function useOrgService() {\n const { apiUrl } = useConfig();\n const requestAuthMiddleware = useDefaultRequestMiddlewares();\n return useInitService(() => new OrgService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);\n}\n\nexport const useGetOrg = (orgId: string) => {\n const service = useOrgService();\n return useSuspenseQuery(orgsKeys.detail(orgId), () => service.detail(orgId));\n};\n\nexport const useOrgList = (userId: string) => {\n const service = useOrgService();\n return useSuspenseQuery(orgsKeys.lists(), () => service.list(userId));\n};\n\nexport const useOrgBetaFuncList = (betaFuncRole: string) => {\n const service = useOrgService();\n return useSuspenseQuery(orgsKeys.lists(), () => service.listBetaOrg(betaFuncRole));\n};\n\nexport const useApproveOrg = () => {\n const service = useOrgService();\n const queryClient = useQueryClient();\n\n return useMutation((userInfo: UpdateOrgRequestBody) => service.approveOrg(userInfo), {\n onSuccess: (data) => {\n if (data) {\n queryClient.invalidateQueries(usersKeys.lists());\n }\n },\n });\n};\n\nexport const useRejectOrg = () => {\n const service = useOrgService();\n const queryClient = useQueryClient();\n\n return useMutation((userInfo: UpdateOrgRequestBody) => service.rejectOrg(userInfo), {\n onSuccess: ({ data }) => {\n if (data) {\n queryClient.invalidateQueries(usersKeys.lists());\n }\n },\n });\n};\n\nexport const useKickoutOrg = () => {\n const service = useOrgService();\n const queryClient = useQueryClient();\n\n return useMutation((userInfo: UpdateOrgRequestBody) => service.kickoutOrg(userInfo), {\n onSuccess: ({ data }) => {\n if (data) {\n queryClient.invalidateQueries(usersKeys.lists());\n }\n },\n });\n};\n\nexport const useCancelAdmin = () => {\n const service = useOrgService();\n const queryClient = useQueryClient();\n\n return useMutation((userInfo: UpdateOrgRequestBody) => service.cancelAdmin(userInfo), {\n onSuccess: ({ data }) => {\n if (data) {\n queryClient.invalidateQueries(usersKeys.lists());\n }\n },\n });\n};\nexport const useSetAdmin = () => {\n const service = useOrgService();\n const queryClient = useQueryClient();\n\n return useMutation((userInfo: UpdateOrgRequestBody) => service.setAdmin(userInfo), {\n onSuccess: ({ data }) => {\n if (data) {\n queryClient.invalidateQueries(usersKeys.lists());\n }\n },\n });\n};\n\nexport const useChangeOrg = () => {\n const service = useOrgService();\n return useMutation((userInfo: UpdateOrgRequestBody) => service.changeOrg(userInfo));\n};\n\nexport const useUpdateOrg = () => {\n const service = useOrgService();\n\n return useMutation((userInfo: OrganizationUpdate) => service.updateOrg(userInfo));\n};\n\nexport const useUpdateOrgToBeta = () => {\n const service = useOrgService();\n\n return useMutation((update: OrgBetaFuncUpdate) => service.updateBetaFunc(update));\n};\n\nexport const useQuitOrg = () => {\n const service = useOrgService();\n\n return useMutation((userInfo: OrganizationQuit) => service.quitOrg(userInfo));\n};\n\nexport const useDeleteOrg = () => {\n const service = useOrgService();\n\n return useMutation((userInfo: OrganizationDelete) => service.deleteOrg(userInfo));\n};\n\nexport const useCreateOrg = () => {\n const service = useOrgService();\n const queryClient = useQueryClient();\n\n return useMutation((userInfo: OrganizationCreate) => service.createOrg(userInfo), {\n onSuccess: ({ data }) => {\n if (data) {\n queryClient.invalidateQueries(orgsKeys.lists());\n }\n },\n });\n};\n","import React from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { Button } from \"@tremor/react\";\nimport { RiLoader4Line, RiCheckLine, RiAdminLine } from \"@remixicon/react\";\n\ninterface IProps {\n type: \"agree\" | \"setAdmin\";\n handleClick: () => void;\n}\n\nconst OrgActionButton: React.FC = ({ type, handleClick }) => {\n const { formatMessage } = useIntl();\n\n const getIcon = (type: \"agree\" | \"setAdmin\") => {\n if (type === \"agree\") {\n return ;\n } else if (type === \"setAdmin\") {\n return ;\n }\n return ;\n };\n return (\n {\n e.stopPropagation();\n handleClick();\n }}\n >\n {getIcon(type)}\n \n );\n};\n\nexport default OrgActionButton;\n","import React, { useCallback, useMemo, useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { NavLink } from \"react-router-dom\";\nimport styled from \"styled-components\";\n\nimport { UserRead } from \"core/request/PawsqlClient\";\nimport OrgConfirmActionButton from \"components/DeleteBlock/OrgConfirmActionButton\";\nimport { useApproveOrg, useCancelAdmin, useKickoutOrg, useRejectOrg, useSetAdmin } from \"hooks/services/useOrgHook\";\nimport FeedbackBlock from \"pages/SettingsPage/components/FeedbackBlock\";\nimport { useQueryClient } from \"react-query\";\nimport { usersKeys } from \"hooks/services/useUserHook\";\nimport OrgActionButton from \"components/DeleteBlock/OrgActionButton\";\n\nexport const NavLinkItem = styled(NavLink)`\n display: flex;\n flex-direction: row;\n align-items: center;\n text-decoration: none;\n color: ${({ theme }) => theme.textColor};\n font-size: 14px;\n font-weight: 500;\n`;\n\nexport const Icon = styled.div`\n width: 34px;\n font-size: 22px;\n`;\n\nconst UserTableActionMenuList: React.FC<{\n options: { value: string; label?: React.ReactNode }[];\n user: UserRead;\n}> = ({ options, user }) => {\n const queryClient = useQueryClient();\n\n const [successMessage, setSuccessMessage] = useState(null);\n const [errorMessage, setErrorMessage] = useState(null);\n\n const { mutateAsync: kickout } = useKickoutOrg();\n const { mutateAsync: approve } = useApproveOrg();\n const { mutateAsync: reject } = useRejectOrg();\n const { mutateAsync: setAdmin } = useSetAdmin();\n const { mutateAsync: cancelAdmin } = useCancelAdmin();\n\n const invalidUsers = useCallback(() => {\n queryClient.invalidateQueries(usersKeys.listOrg());\n }, [queryClient]); // Add queryClient as a dependency\n\n const handleKickout = useCallback(\n (userId: string, orgId: string) => {\n setErrorMessage(null);\n setSuccessMessage(null);\n try {\n kickout({ orgId: orgId, userId: userId }).then(() => {\n invalidUsers();\n });\n setSuccessMessage();\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n } catch (e) {\n //todo org.user.apply.expired\n setErrorMessage(e.message);\n setTimeout(() => {\n window.location.reload();\n }, 2000);\n }\n },\n [invalidUsers, kickout]\n );\n\n const handleApprove = useCallback(\n (userId: string, orgId: string) => {\n setErrorMessage(null);\n setSuccessMessage(null);\n try {\n approve({ orgId: orgId, userId: userId }).then(({ data }) => {\n if (data) {\n invalidUsers();\n }\n });\n setSuccessMessage();\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n } catch (e) {\n setErrorMessage(e.message);\n setTimeout(() => {\n window.location.reload();\n }, 2000);\n }\n },\n [approve, invalidUsers]\n );\n\n const handleReject = useCallback(\n (userId: string, orgId: string) => {\n setErrorMessage(null);\n setSuccessMessage(null);\n try {\n reject({ orgId: orgId, userId: userId }).then(() => {\n invalidUsers();\n });\n setSuccessMessage();\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n } catch (e) {\n //todo org.user.apply.expired\n setErrorMessage(e.message);\n setTimeout(() => {\n window.location.reload();\n }, 2000);\n }\n },\n [invalidUsers, reject]\n );\n\n const handleSetAdmin = useCallback(\n (userId: string, orgId: string) => {\n setErrorMessage(null);\n setSuccessMessage(null);\n try {\n setAdmin({ orgId: orgId, userId: userId }).then(() => {\n invalidUsers();\n });\n setSuccessMessage();\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n } catch (e) {\n //todo org.user.apply.expired\n setErrorMessage(e.message);\n setTimeout(() => {\n window.location.reload();\n }, 2000);\n }\n },\n [invalidUsers, setAdmin]\n );\n\n const handleCancelAdmin = useCallback(\n (userId: string, orgId: string) => {\n setErrorMessage(null);\n setSuccessMessage(null);\n try {\n cancelAdmin({ orgId: orgId, userId: userId }).then(() => {\n invalidUsers();\n });\n setSuccessMessage();\n setTimeout(() => {\n setSuccessMessage(null);\n }, 2000);\n } catch (e) {\n //todo org.user.apply.expired\n setErrorMessage(e.message);\n setTimeout(() => {\n window.location.reload();\n }, 2000);\n }\n },\n [cancelAdmin, invalidUsers]\n );\n\n const items = useMemo(\n () =>\n options.map((item) => {\n switch (item.value) {\n case \"kickout\":\n return {\n key: \"kickout\",\n label: handleKickout(user.userId, user.orgId)} />,\n };\n case \"setAdmin\":\n return {\n key: \"setAdmin\",\n label: (\n {\n handleSetAdmin(user.userId, user.orgId);\n }}\n />\n ),\n };\n case \"cancelAdmin\":\n return {\n key: \"cancelAdmin\",\n label: (\n handleCancelAdmin(user.userId, user.orgId)}\n />\n ),\n };\n case \"agree\":\n return {\n key: \"agree\",\n label: (\n {\n handleApprove(user.userId, user.orgId);\n }}\n />\n ),\n };\n case \"disagree\":\n return {\n key: \"disagree\",\n label: handleReject(user.userId, user.orgId)} />,\n };\n default:\n return {\n key: item.value,\n label: item.label ?? item.value,\n };\n }\n }),\n [handleApprove, handleCancelAdmin, handleKickout, handleReject, handleSetAdmin, options, user.orgId, user.userId]\n );\n\n return (\n {\n e.stopPropagation();\n }}\n >\n {!errorMessage &&\n !successMessage &&\n items.map((item) => {\n return item.label;\n })}\n \n \n );\n};\n\nexport default UserTableActionMenuList;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { UserRead } from \"core/request/PawsqlClient\";\nimport UserTableActionMenuList from \"./UserTableActionMenuList\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\n\ninterface UserTableActionButtonProps {\n className?: string;\n title?: string;\n big?: boolean;\n value?: string | number;\n row: UserRead;\n type: \"org\" | \"admin\";\n}\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: flex-start;\n gap: 10px;\n`;\n\nconst UserTableActionButton: React.FC = ({ row, type }) => {\n const { user, isOrgCreator } = useMyAuthService();\n const getOptions = () => {\n const operation = [];\n if (row.userId === user.userId) {\n return [];\n }\n if (row.orgApproved && isOrgCreator && type === \"org\") {\n operation.push({ value: \"kickout\" });\n }\n if (row.orgApproved && !(row.orgRole === \"ORG_CREATOR\" || row.orgRole === \"ORG_ADMIN\")) {\n operation.push({ value: \"setAdmin\" });\n }\n if (row.orgApproved && row.orgRole === \"ORG_ADMIN\") {\n operation.push({ value: \"cancelAdmin\" });\n }\n\n if (row.orgRole?.startsWith(\"ORG_\") && !row.orgApproved) {\n operation.push({ value: \"agree\" });\n operation.push({ value: \"disagree\" });\n }\n\n return operation;\n };\n\n return getOptions().length > 0 ? : <>;\n};\n\nexport default UserTableActionButton;\n","import React, { useMemo } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport StatusIcon from \"components/StatusIcon\";\nimport { StatusIconStatus } from \"components/StatusIcon/StatusIcon\";\n\nimport { Status } from \"../types\";\n\ninterface Props {\n value: string;\n enabled?: boolean;\n status?: string | null;\n icon?: boolean;\n img?: string;\n}\n\nconst Content = styled.div`\n display: flex;\n align-items: center;\n font-weight: 500;\n`;\n\nconst Name = styled.div<{ enabled?: boolean }>`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 500px;\n color: ${({ theme, enabled }) => (!enabled ? theme.greyColor40 : \"inherit\")};\n`;\n\nconst Space = styled.div`\n width: 30px;\n height: 20px;\n opacity: 0;\n`;\n\nconst UserNameCell: React.FC = ({ value, enabled, status }) => {\n const formatMessage = useIntl().formatMessage;\n const statusIconStatus = useMemo(\n () => (status === Status.SUCCESS ? \"success\" : status === Status.INACTIVE ? \"inactive\" : undefined),\n [status]\n );\n\n const title =\n status === Status.SUCCESS\n ? formatMessage({\n id: \"active.title\",\n })\n : formatMessage({\n id: \"unactive.title\",\n });\n\n return (\n \n {status ? : }\n {value}\n \n );\n};\n\nexport default UserNameCell;\n","// import { faCheck } from \"@fortawesome/free-solid-svg-icons\";\n// import { faMessage } from \"@fortawesome/free-regular-svg-icons\";\n// import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport queryString from \"query-string\";\nimport React, { useCallback, useState } from \"react\";\nimport { dropMessages, toggleWidget } from \"react-chat-widget\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { CellProps } from \"react-table\";\nimport styled from \"styled-components\";\n\nimport { CheckBox } from \"components/base\";\n// import { Button } from \"components/base\";\nimport { Cell } from \"components/SimpleTableComponents\";\nimport PaginationTable from \"components/Table/PaginationTable\";\n\nimport { UserRead } from \"core/request/PawsqlClient\";\nimport { useRecoveryHistoryMessage } from \"hooks/services/useFeedbackHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\n\n// import NameStringCell from \"./components/NameStringCell\";\nimport NumberCell from \"./components/NumberCell\";\n// import OrgApproved from \"./components/OrgApproved\";\nimport RolesCell from \"./components/RolesCell\";\nimport SortButton from \"./components/SortButton\";\nimport { IUserTableDataItem, SortOrderEnum } from \"./types\";\nimport styles from \"./UsersTable.module.scss\";\nimport LongTextCell from \"./components/LongTextCell\";\nimport UserTableActionButton from \"./components/UserTableActionButton\";\nimport UserNameCell from \"./components/UserNameCell\";\n\nconst Content = styled.div`\n margin: 0 32px 0 27px;\n`;\n\ninterface IProps {\n data: UserRead[];\n entity: \"workspace\" | \"workload\" | \"analysis\" | \"user\";\n onClickRow?: (user: UserRead) => void;\n setSelectedEmails: React.Dispatch>;\n selectedEmails: string[];\n}\n\nconst UsersTable: React.FC = ({ data, onClickRow, setSelectedEmails, selectedEmails }) => {\n const onSelect = useCallback(\n (email: string) => {\n const hasSelected = selectedEmails.includes(email);\n if (hasSelected) {\n setSelectedEmails(selectedEmails.filter((item) => item !== email));\n } else {\n setSelectedEmails(selectedEmails.concat(email));\n }\n },\n [setSelectedEmails, selectedEmails]\n );\n\n const isCheckAll = data.map((item) => item.email).every((item) => selectedEmails.includes(item));\n const onCheckAll = useCallback(() => {\n if (isCheckAll) {\n setSelectedEmails([]);\n } else {\n setSelectedEmails(data.map((item) => item.email));\n }\n }, [data, isCheckAll, setSelectedEmails]);\n\n const { query, push, location } = useRouter();\n\n const { formatMessage } = useIntl();\n const { user, isOrgAdmin, isOrgCreator } = useMyAuthService();\n\n const sortBy = query.sortBy || \"\";\n const sortOrder = query.order || \"\";\n\n const [clickRow, setClickRow] = useState(\"\");\n\n const recoverHistoryMessage = useRecoveryHistoryMessage(\"\");\n\n const handleTalkToUser = useCallback(\n (event: React.MouseEvent, cell: { row: { original: { userId: string } } }) => {\n event.stopPropagation();\n push(\n {\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n sortBy: query.sortBy,\n order: query.order,\n },\n { skipNull: true }\n ),\n },\n {\n state: {\n ...(location.state as Record),\n currentTalkUser: cell.row.original.userId,\n },\n }\n );\n setClickRow(cell.row.original.userId);\n dropMessages();\n recoverHistoryMessage(cell.row.original.userId);\n toggleWidget();\n },\n [recoverHistoryMessage, push, query, location]\n );\n\n const onSortClick = useCallback(\n (field: string) => {\n const order =\n sortBy !== field ? SortOrderEnum.ASC : sortOrder === SortOrderEnum.ASC ? SortOrderEnum.DESC : SortOrderEnum.ASC;\n push({\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n sortBy: field,\n order: order,\n },\n { skipNull: true }\n ),\n });\n },\n [push, sortBy, sortOrder, location]\n );\n\n const sortData = useCallback(\n (a, b) => {\n let result;\n if (sortBy === \"orgApproved\") {\n result = b[sortBy] - a[sortBy];\n } else if (sortBy === \"expireDays\") {\n result = b[`expireDays`] - a[`expireDays`];\n } else if (sortBy === \"orgRole\") {\n result = a[`orgRole`]?.toLowerCase().localeCompare(b[`orgRole`]?.toLowerCase());\n } else if (sortBy === \"commentCount\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"enabled\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"needReply\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"createTime\") {\n result = a[`createTime`]?.toLowerCase().localeCompare(b[`createTime`]?.toLowerCase());\n } else if (sortBy === \"orgCreateTime\") {\n result = a[`createTime`]?.toLowerCase().localeCompare(b[`createTime`]?.toLowerCase());\n } else {\n result = a[sortBy]?.toLowerCase().localeCompare(b[sortBy]?.toLowerCase());\n }\n\n if (sortOrder === SortOrderEnum.DESC) {\n return -1 * result;\n }\n\n return result;\n },\n [sortBy, sortOrder]\n );\n\n const sortingData = React.useMemo(() => data.sort(sortData), [sortData, data]);\n\n const columns = React.useMemo(\n () => [\n {\n Header: (\n <>\n \n selectedEmails.includes(item.email)) && !isCheckAll}\n checked={isCheckAll}\n />\n \n \n ),\n headerHighlighted: true,\n accessor: \"userId\",\n Cell: ({ row }: CellProps) => (\n \n {\n onSelect(row.original.email);\n }}\n />\n \n ),\n },\n {\n Header: (\n <>\n \n onSortClick(\"userName\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"userName\",\n Cell: ({ row, cell }: CellProps) => (\n \n ),\n },\n {\n Header: (\n <>\n \n onSortClick(\"email\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"email\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"companyName\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"companyName\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"expireDays\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"expireDays\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"createTime\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"createTime\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n \n ),\n headerHighlighted: true,\n accessor: \"workspaceNumber\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n \n ),\n headerHighlighted: true,\n accessor: \"analysisTimes\",\n Cell: ({ cell }: CellProps) => ,\n },\n // {\n // Header: (\n // <>\n // \n // onSortClick(\"commentCount\")}\n // />\n // \n // ),\n // headerHighlighted: true,\n // accessor: \"commentCount\",\n // Cell: ({ cell, row }: CellProps) => (\n // {\n // handleTalkToUser(event, cell);\n // }}\n // >\n // {\" \"}\n // \n // ),\n // },\n\n {\n Header: (\n <>\n \n onSortClick(\"orgName\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"orgName\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"orgRole\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"orgRole\",\n Cell: ({ row }: CellProps) => (\n \n ),\n },\n // {\n // Header: (\n // <>\n // \n // onSortClick(\"enabled\")}\n // />\n // \n // ),\n // headerHighlighted: true,\n // accessor: \"enabled\",\n // Cell: ({ cell }: CellProps) => (\n // \n // ),\n // },\n {\n Header: (\n <>\n \n \n ),\n headerHighlighted: true,\n accessor: \"opreation\",\n Cell: ({ row }: CellProps) => ,\n },\n ],\n [\n handleTalkToUser,\n formatMessage,\n clickRow,\n onSortClick,\n sortBy,\n sortOrder,\n user.userId,\n isOrgCreator,\n isOrgAdmin,\n data,\n isCheckAll,\n onCheckAll,\n onSelect,\n selectedEmails,\n ]\n );\n\n return (\n \n \n \n );\n};\n\nexport default UsersTable;\n","import { faSearch } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport queryString from \"query-string\";\nimport React, { Suspense, useEffect, useState } from \"react\";\nimport styled from \"styled-components\";\n\nimport { LoadingPage } from \"components\";\nimport UsersTable from \"components/EntityTable/UsersTable\";\n\nimport { UserRead } from \"core/request/PawsqlClient\";\nimport { useListUsers } from \"hooks/services/useUserHook\";\nimport useRouter from \"hooks/useRouter\";\nimport Search from \"views/Connection/ConnectionForm/components/Search\";\nimport { RoutePaths } from \"pages/routePaths\";\n\nconst Content = styled.div`\n margin: 0 32px 10px 27px;\n`;\nexport const LeftFieldCol = styled.div`\n width: 45px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n`;\n\nconst Icon = styled.div<{ $small?: boolean }>`\n padding: 5px 0 0 5px;\n`;\n\nconst AllUsersPage: React.FC = () => {\n const { query, push, location } = useRouter();\n const { pathname } = location;\n\n const onClickRow = (user: UserRead) => {\n let path = \"\";\n const productType = pathname.substring(0, location.pathname.indexOf(\"/\", 1));\n if (productType === RoutePaths.App) {\n path = RoutePaths.Analyses;\n } else if (productType === RoutePaths.Ppt) {\n path = RoutePaths.InstanceList;\n } else if (productType === RoutePaths.Audit) {\n path = RoutePaths.AuditTasks;\n } else {\n path = RoutePaths.Analyses;\n }\n push(`${productType}/${path}?currentUserId=${user.userId}`);\n };\n\n const { users } = useListUsers().data;\n\n const [searchString, setSearchString] = useState(query.searchString);\n const [filteredStreams, setFilteredStreams] = useState(users);\n const [selectedEmails, setSelectedEmails] = useState(filteredStreams.map((item) => item.email));\n\n useEffect(() => {\n const filters: Array<(s: UserRead) => boolean> = [\n (_: UserRead) => true,\n searchString\n ? (stream: UserRead) =>\n stream.userName?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.email?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.orgName?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.createTime?.toLowerCase().includes(searchString?.toLowerCase())\n : null,\n ].filter(Boolean) as Array<(s: UserRead) => boolean>;\n setFilteredStreams(users.filter((stream) => filters.every((f) => f(stream))));\n }, [searchString, users]);\n\n return (\n }>\n \n \n \n \n \n \n \n \n {\n setSearchString(value);\n push({\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n searchString: value,\n page: 0,\n },\n { skipNull: true }\n ),\n });\n }}\n />\n \n \n \n \n \n );\n};\n\nexport default AllUsersPage;\n","import AllUsersPage from \"./AllUsersPage\";\n\nexport default AllUsersPage;\n","import React from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nconst Name = styled.div<{ enabled?: boolean }>`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 500px;\n color: ${({ theme, enabled }) => (!enabled ? theme.greyColor40 : \"inherit\")};\n`;\ninterface IProps {\n isOrgCreator: boolean;\n isOrgAdmin: boolean;\n orgApproved?: boolean;\n hasOrg?: boolean;\n}\n\nconst OrgApproved: React.FC = ({ orgApproved, hasOrg }) => {\n //已审批,显示一个icon吧\n if (!hasOrg) {\n return (\n \n \n \n );\n }\n if (orgApproved) {\n return (\n \n \n \n );\n }\n return (\n \n \n \n );\n};\n\nexport default OrgApproved;\n","import queryString from \"query-string\";\nimport React, { useCallback, useState } from \"react\";\nimport { dropMessages, toggleWidget } from \"react-chat-widget\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { CellProps } from \"react-table\";\nimport styled from \"styled-components\";\n\nimport PaginationTable from \"components/Table/PaginationTable\";\n\nimport { UserRead } from \"core/request/PawsqlClient\";\nimport { useRecoveryHistoryMessage } from \"hooks/services/useFeedbackHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\n\nimport NameStringCell from \"./components/NameStringCell\";\nimport NumberCell from \"./components/NumberCell\";\nimport OrgApproved from \"./components/OrgApproved\";\nimport RolesCell from \"./components/RolesCell\";\nimport SortButton from \"./components/SortButton\";\nimport StringCell from \"./components/StringCell\";\nimport { SortOrderEnum } from \"./types\";\nimport UserTableActionButton from \"./components/UserTableActionButton\";\n\nconst Content = styled.div`\n margin: 0 32px 0 27px;\n`;\n\ninterface IProps {\n data: UserRead[];\n entity: \"workspace\" | \"workload\" | \"analysis\" | \"user\";\n onClickRow?: (user: UserRead) => void;\n setSelectedEmails: React.Dispatch>;\n selectedEmails: string[];\n}\n\nconst OrgUsersTable: React.FC = ({ data, onClickRow, setSelectedEmails, selectedEmails }) => {\n const onSelect = useCallback(\n (email: string) => {\n const hasSelected = selectedEmails.includes(email);\n if (hasSelected) {\n setSelectedEmails(selectedEmails.filter((item) => item !== email));\n } else {\n setSelectedEmails(selectedEmails.concat(email));\n }\n },\n [setSelectedEmails, selectedEmails]\n );\n\n const isCheckAll = data.map((item) => item.email).every((item) => selectedEmails.includes(item));\n const onCheckAll = useCallback(() => {\n if (isCheckAll) {\n setSelectedEmails([]);\n } else {\n setSelectedEmails(data.map((item) => item.email));\n }\n }, [data, isCheckAll, setSelectedEmails]);\n\n const { query, push, location } = useRouter();\n\n const { formatMessage } = useIntl();\n const { user, isOrgAdmin, isOrgCreator } = useMyAuthService();\n\n const sortBy = query.sortBy || \"\";\n const sortOrder = query.order || \"\";\n\n //审批功能\n const [clickRow, setClickRow] = useState(\"\");\n\n const recoverHistoryMessage = useRecoveryHistoryMessage(\"\");\n\n const handleTalkToUser = useCallback(\n (event: React.MouseEvent, cell: { row: { original: { userId: string } } }) => {\n event.stopPropagation();\n push(\n {\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n sortBy: query.sortBy,\n order: query.order,\n },\n { skipNull: true }\n ),\n },\n {\n state: {\n ...(location.state as Record),\n currentTalkUser: cell.row.original.userId,\n },\n }\n );\n setClickRow(cell.row.original.userId);\n dropMessages();\n recoverHistoryMessage(cell.row.original.userId);\n toggleWidget();\n },\n [recoverHistoryMessage, push, query, location]\n );\n\n const onSortClick = useCallback(\n (field: string) => {\n const order =\n sortBy !== field ? SortOrderEnum.ASC : sortOrder === SortOrderEnum.ASC ? SortOrderEnum.DESC : SortOrderEnum.ASC;\n push({\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n sortBy: field,\n order: order,\n },\n { skipNull: true }\n ),\n });\n },\n [push, sortBy, sortOrder, location]\n );\n\n const sortData = useCallback(\n (a, b) => {\n let result;\n if (sortBy === \"orgApproved\") {\n result = b[sortBy] - a[sortBy];\n } else if (sortBy === \"expireDays\") {\n result = b[`expireDays`] - a[`expireDays`];\n } else if (sortBy === \"orgRole\") {\n result = a[`orgRole`]?.toLowerCase().localeCompare(b[`orgRole`]?.toLowerCase());\n } else if (sortBy === \"commentCount\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"needReply\") {\n result = a[sortBy] - b[sortBy];\n } else if (sortBy === \"createTime\") {\n result = a[`createTime`]?.toLowerCase().localeCompare(b[`createTime`]?.toLowerCase());\n } else if (sortBy === \"orgCreateTime\") {\n result = a[`createTime`]?.toLowerCase().localeCompare(b[`createTime`]?.toLowerCase());\n } else {\n result = a[sortBy]?.toLowerCase().localeCompare(b[sortBy]?.toLowerCase());\n }\n\n if (sortOrder === SortOrderEnum.DESC) {\n return -1 * result;\n }\n\n return result;\n },\n [sortBy, sortOrder]\n );\n\n const sortingData = React.useMemo(() => data.sort(sortData), [sortData, data]);\n\n const columns = React.useMemo(\n () => [\n {\n Header: (\n <>\n \n onSortClick(\"userName\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"userName\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"email\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"email\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n \n ),\n headerHighlighted: true,\n accessor: \"workspaceNumber\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n \n ),\n headerHighlighted: true,\n accessor: \"analysisTimes\",\n Cell: ({ cell }: CellProps) => ,\n },\n {\n Header: (\n <>\n \n onSortClick(\"orgRole\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"orgRole\",\n Cell: ({ row }: CellProps) => (\n \n ),\n },\n {\n Header: (\n <>\n \n onSortClick(\"orgApproved\")}\n />\n \n ),\n headerHighlighted: true,\n accessor: \"orgApproved\",\n Cell: ({ row }: CellProps) => (\n \n ),\n },\n {\n Header: (\n <>\n \n \n ),\n headerHighlighted: true,\n accessor: \"userId\",\n Cell: ({ row }: CellProps) => ,\n },\n ],\n [\n handleTalkToUser,\n formatMessage,\n clickRow,\n onSortClick,\n sortBy,\n sortOrder,\n user.userId,\n isOrgCreator,\n isOrgAdmin,\n data,\n isCheckAll,\n onCheckAll,\n onSelect,\n selectedEmails,\n ]\n );\n\n return (\n \n \n \n );\n};\n\nexport default OrgUsersTable;\n","import { faSearch } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport queryString from \"query-string\";\nimport React, { Suspense, useEffect, useState } from \"react\";\nimport styled from \"styled-components\";\n\nimport { LoadingPage } from \"components\";\n\nimport { UserRead } from \"core/request/PawsqlClient\";\nimport { useListOrgUsers } from \"hooks/services/useUserHook\";\nimport useRouter from \"hooks/useRouter\";\n// import { RoutePaths } from \"pages/routePaths\";\nimport Search from \"views/Connection/ConnectionForm/components/Search\";\nimport OrgUsersTable from \"components/EntityTable/OrgUsersTable\";\nimport { RoutePaths } from \"pages/routePaths\";\n\nconst Content = styled.div`\n margin: 0 32px 10px 27px;\n`;\nexport const LeftFieldCol = styled.div`\n width: 45px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n`;\n\nconst Icon = styled.div<{ $small?: boolean }>`\n padding: 5px 0 0 5px;\n`;\n\nconst AllOrgUsersPage: React.FC = () => {\n const { query, push, location } = useRouter();\n\n const { pathname } = location;\n\n const onClickRow = (user: UserRead) => {\n let path = \"\";\n const productType = pathname.substring(0, location.pathname.indexOf(\"/\", 1));\n if (productType === RoutePaths.App) {\n path = RoutePaths.Analyses;\n } else if (productType === RoutePaths.Ppt) {\n path = RoutePaths.InstanceList;\n } else if (productType === RoutePaths.Audit) {\n path = RoutePaths.AuditTasks;\n }\n\n push(`${productType}/${path}?currentUserId=${user.userId}`);\n };\n\n const { users } = useListOrgUsers().data;\n\n const [searchString, setSearchString] = useState(query.searchString);\n const [filteredStreams, setFilteredStreams] = useState(users);\n\n const [selectedEmails, setSelectedEmails] = useState(filteredStreams.map((item) => item.email));\n\n useEffect(() => {\n const filters: Array<(s: UserRead) => boolean> = [\n (_: UserRead) => true,\n searchString\n ? (stream: UserRead) =>\n stream.userName?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.email?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.orgName?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.createTime?.toLowerCase().includes(searchString?.toLowerCase())\n : null,\n ].filter(Boolean) as Array<(s: UserRead) => boolean>;\n setFilteredStreams(users.filter((stream) => filters.every((f) => f(stream))));\n setSelectedEmails(users.filter((stream) => filters.every((f) => f(stream))).map((item) => item.email));\n }, [searchString, users]);\n\n return (\n }>\n \n \n \n \n \n \n \n \n {\n setSearchString(value);\n push({\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n searchString: value,\n page: 0,\n },\n { skipNull: true }\n ),\n });\n }}\n />\n \n \n \n \n \n );\n};\n\nexport default AllOrgUsersPage;\n","import AllOrgUsersPage from \"./AllOrgUsersPage\";\n\nexport default AllOrgUsersPage;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { H5, Card } from \"components\";\n\ninterface IProps {\n title?: string | React.ReactNode;\n className?: string;\n onClick?: () => void;\n full?: boolean;\n light?: boolean;\n center?: boolean;\n widthPer?: number;\n height?: number;\n}\n\nconst Title = styled(H5)<{ light?: boolean; center?: boolean }>`\n padding: 16px 25px 16px;\n color: ${({ theme }) => theme.darkPrimaryColor};\n box-shadow: ${({ light, theme }) => (light ? \"none\" : `0 1px 2px ${theme.shadowColor}`)};\n font-weight: 600;\n letter-spacing: 0.008em;\n border-radius: 10px 10px 0 0;\n`;\n\nconst CustomContentCard: React.FC = (props) => (\n \n {props.title ? (\n \n {props.title}\n \n ) : null}\n {props.children}\n \n);\n\nexport default CustomContentCard;\n","import styled from \"styled-components\";\n\nimport { ContentCard } from \"components/ContentCard\";\nimport CustomContentCard from \"components/ContentCard/CustomContentCard\";\n\nexport const SettingsCard = styled(ContentCard)`\n width: 100%;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n`;\n\nexport const SettingsRowCard = styled(ContentCard)`\n width: 100%;\n margin-top: 10px;\n`;\n\nexport const CustomSettingsRowCard = styled(CustomContentCard)`\n width: 100%;\n margin-top: 10px;\n`;\n\nexport const Content = styled.div`\n padding: 27px 26px 15px;\n`;\n","import { useField } from \"formik\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { components } from \"react-select\";\nimport { MenuListComponentProps } from \"react-select/src/components/Menu\";\nimport styled from \"styled-components\";\n\nimport { ControlLabels, DropDown, DropDownRow } from \"components\";\nimport { IDataItem, IProps as OptionProps, OptionView } from \"components/base/DropDown/components/Option\";\nimport {\n Icon as SingleValueIcon,\n IProps as SingleValueProps,\n ItemView as SingleValueView,\n} from \"components/base/DropDown/components/SingleValue\";\nimport { GAIcon } from \"components/icons/GAIcon\";\n\nimport { OrganizationRead, ReleaseStage } from \"core/request/PawsqlClient\";\nimport { useExperiment } from \"hooks/services/Experiment\";\nimport { useOrgService } from \"hooks/services/useOrgHook\";\nimport { useCurrentUser } from \"services/users/UsersService\";\nimport { naturalComparator } from \"utils/objects\";\n\nconst BottomElement = styled.div`\n background: ${(props) => props.theme.greyColro0};\n padding: 6px 16px 8px;\n width: 100%;\n min-height: 34px;\n border-top: 1px solid ${(props) => props.theme.greyColor20};\n`;\n\nconst Block = styled.div`\n cursor: pointer;\n color: ${({ theme }) => theme.textColor};\n\n &:hover {\n color: ${({ theme }) => theme.primaryColor};\n }\n`;\n\nconst Text = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nconst Label = styled.div`\n margin-left: 13px;\n font-weight: 500;\n font-size: 14px;\n line-height: 17px;\n`;\n\nconst Stage = styled.div`\n padding: 2px 6px;\n height: 14px;\n background: ${({ theme }) => theme.greyColor20};\n border-radius: 25px;\n text-transform: uppercase;\n font-weight: 500;\n font-size: 8px;\n line-height: 10px;\n color: ${({ theme }) => theme.textColor};\n`;\n\nconst SingleValueContent = styled(components.SingleValue)`\n width: 100%;\n padding-right: 38px;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n`;\n\ntype MenuWithRequestButtonProps = MenuListComponentProps;\n\nconst CreatorList: React.FC = ({ children, ...props }) => (\n <>\n {children}\n \n props.selectProps.selectProps.onOpenRequestCreatorModal(props.selectProps.inputValue)}>\n \n \n \n \n);\n\nconst StageLabel: React.FC<{ releaseStage?: ReleaseStage }> = ({ releaseStage }) => {\n if (!releaseStage) {\n return null;\n }\n\n if (releaseStage === ReleaseStage.generally_available) {\n return ;\n }\n\n return (\n \n \n \n );\n};\n\nconst Option: React.FC = (props) => {\n return (\n \n \n \n {props.data.img || null}\n \n \n \n \n \n );\n};\n\nconst SingleValue: React.FC = (props) => {\n return (\n \n {props.data.img && {props.data.img}}\n
    \n \n {props.data.label}\n \n \n
    \n
    \n );\n};\n\ninterface OrganizationControlProps {\n property: string;\n availableServices: OrganizationRead[];\n isEditMode?: boolean;\n documentationUrl?: string;\n approvable?: boolean;\n toggleApprovable: (nextValue?: boolean | undefined) => void;\n onOpenRequestCreatorModal: (initialName: string) => void;\n disabled?: boolean;\n}\n\nconst OrganizationControl: React.FC = ({\n property,\n isEditMode,\n availableServices,\n onOpenRequestCreatorModal: onOpenRequestCreatorModal,\n disabled,\n toggleApprovable,\n approvable,\n}) => {\n const { formatMessage } = useIntl();\n const orderOverwrite = useExperiment(\"creator.orderOverwrite\", {});\n const [field, , { setValue }] = useField(property);\n const [orgList, setOrgList] = useState([]);\n const { data: user } = useCurrentUser();\n const service = useOrgService();\n useEffect(() => {\n service.list(user.userId).then(({ data }) => {\n setOrgList(data);\n });\n }, [approvable, service, user]);\n\n const availableOrganizations = orgList;\n const sortedDropDownData = useMemo(\n () =>\n availableOrganizations\n .map((item) => ({\n label: `${item.orgName} (__${item.createUserName}__)`,\n value: item.orgId,\n }))\n .sort((a, b) => {\n const priorityA = orderOverwrite[a.value] ?? 0;\n const priorityB = orderOverwrite[b.value] ?? 0;\n // If they have different priority use the higher priority first, otherwise use the label\n if (priorityA !== priorityB) {\n return priorityB - priorityA;\n } else {\n return naturalComparator(a.label, b.label);\n }\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [availableServices, orderOverwrite]\n );\n\n const handleSelect = useCallback(\n (item: DropDownRow.IDataItem | null) => {\n if (item) {\n setValue(item.value);\n const hasApproved = availableOrganizations.find((i) => i.orgId === item.value)?.orgApproved;\n toggleApprovable(hasApproved === null);\n }\n },\n [setValue, availableOrganizations, toggleApprovable]\n );\n\n return (\n <>\n \n \n \n \n );\n};\n\nexport { OrganizationControl };\n","import { FormikHelpers } from \"formik/dist/types\";\nimport { useState } from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { useChangeOrg } from \"hooks/services/useOrgHook\";\nimport { useCurrentUser } from \"services/users/UsersService\";\n\nimport { FormValues } from \"../types\";\n\ntype UseOrgHook = () => {\n successMessage: string;\n errorMessage: string;\n change: (values: FormValues, { setSubmitting, setFieldValue }: FormikHelpers) => Promise;\n};\n\nexport const useOrg: UseOrgHook = () => {\n // const { updateOrg } = useAuthService();\n const { mutateAsync: changeOrg } = useChangeOrg();\n const { data: user } = useCurrentUser();\n const { formatMessage } = useIntl();\n const [successMessage, setSuccessMessage] = useState(\"\");\n const [errorMessage, setErrorMessage] = useState(\"\");\n\n const change = async (values: FormValues, { setSubmitting }: FormikHelpers) => {\n setSubmitting(true);\n\n setSuccessMessage(\"\");\n setErrorMessage(\"\");\n\n try {\n const { data } = await changeOrg({ userId: user.userId, orgId: values.orgId });\n if (data) {\n setSuccessMessage(\n formatMessage({\n id: \"org.apply.success\",\n })\n );\n setTimeout(() => {\n setSuccessMessage(\"\");\n }, 2000);\n } else {\n setErrorMessage(\n formatMessage({\n id: `org.apply.failed`,\n })\n );\n }\n } catch (err) {\n setErrorMessage(\n formatMessage({\n id: `${err.message}`,\n })\n );\n }\n\n setSubmitting(false);\n };\n\n return { successMessage, errorMessage, change };\n};\n","import { Field, FieldProps, Form, Formik } from \"formik\";\nimport React from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\nimport * as yup from \"yup\";\n\nimport { Input, ControlLabels, Button, TextArea } from \"components\";\n\nimport { OrgCreateError } from \"views/Workspace/ServiceForm/components/TestingConnectionError\";\n\nimport { Values } from \"../types\";\n\nconst Buttons = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n\n & > button {\n margin-left: 5px;\n }\n`;\n\nconst ControlLabelsWithMargin = styled(ControlLabels)`\n margin-bottom: 29px;\n`;\n\nconst RequestButton = styled(Button)`\n min-width: 105px;\n`;\n\ninterface OrganizationFormProps {\n onSubmit: (values: Values) => void;\n onCancel: () => void;\n currentValues?: Values;\n hasFeedback?: boolean;\n errorMessage?: string | null;\n}\n\nconst validationSchema = yup.object().shape({\n orgName: yup.string().required(\"form.empty.error\"),\n});\n\nconst OrganizationForm: React.FC = ({\n errorMessage,\n onSubmit,\n onCancel,\n currentValues,\n hasFeedback,\n}) => {\n const formatMessage = useIntl().formatMessage;\n // const dropdownData = [\n // { value: \"source\", label: },\n // {\n // value: \"destination\",\n // label: ,\n // },\n // ];\n\n return (\n \n {() => (\n
    \n \n {({ field, meta }: FieldProps) => (\n }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={}\n >\n \n \n \n \n );\n};\n","import React, { Suspense, useState } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button, ContentCard, LoadingPage, MainPageWithScroll, PageTitle, TextArea } from \"components\";\nimport HeadTitle from \"components/HeadTitle\";\n// import Plan from \"components/pev2/components/Plan\";\nimport { parseMysqlJsonExplain } from \"components/pev2/utils/ExplainParserUtil\";\nimport { parseOracleExplain } from \"components/pev2/utils/OracleExplainParserUtil\";\n\n// import { ReactCodeDiff } from \"pages/AnalysisPage/pages/AnalysisItemPage/components/ReactCodeDiff\";\nimport { isNotBlank } from \"utils/common\";\nimport { SQLDiffSideView } from \"views/analyses/SQLDiffModal/SQLDiffSideView\";\n\nimport { BasicLogViewer } from \"./components/BasicLogViewer\";\nimport { Decoder } from \"./components/Decoder\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\n\nconst Content = styled.div`\n max-width: 1279px;\n margin: 0 auto;\n padding-bottom: 20px;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: flex-start;\n gap: 10px;\n`;\n\nexport const LeftFieldCol = styled.div`\n width: 470px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nconst LogCard = styled(ContentCard)`\n width: 100%;\n margin-bottom: 8px;\n padding: 37px 53px 50px 66px;\n`;\n\nexport type ConnectionFormMode = \"create\" | \"edit\" | \"readonly\";\n\nconst VersionContainer = styled.div`\n display: flex;\n align-items: center;\n padding: 10px;\n background-color: #f0f0f0;\n border-radius: 5px;\n margin: 10px 0;\n`;\n\nconst VersionLabel = styled.span`\n font-weight: bold;\n margin-right: 8px;\n`;\n\nconst VersionText = styled.span`\n color: #555;\n`;\n\nconst JarVersionDisplay = (version: string) => {\n return (\n \n JAR 版本:\n {version}\n \n );\n};\nconst AllLogPage: React.FC = () => {\n const { formatMessage } = useIntl();\n const { license } = useMyAuthService();\n // const planStr = `Nested Loop Left Join (cost=11.95..28.52 rows=5 width=157) (actual time=0.010..0.010 rows=0 loops=1)\n // Output: rel_users_exams.user_username, rel_users_exams.exam_id, rel_users_exams.started_at, rel_users_exams.finished_at, exam_1.id, exam_1.title, exam_1.date_from, exam_1.date_to, exam_1.created, exam_1.created_by_, exam_1.duration, exam_1.success_threshold, exam_1.published\n // Inner Unique: true\n // Join Filter: (exam_1.id = rel_users_exams.exam_id)\n // Buffers: shared hit=1\n // -> Bitmap Heap Scan on public.rel_users_exams (cost=11.80..20.27 rows=5 width=52) (actual time=0.009..0.009 rows=0 loops=1)\n // Output: rel_users_exams.user_username, rel_users_exams.exam_id, rel_users_exams.started_at, rel_users_exams.finished_at\n // Recheck Cond: (1 = rel_users_exams.exam_id)\n // Buffers: shared hit=1\n // -> Bitmap Index Scan on rel_users_exams_pkey (cost=0.00..11.80 rows=5 width=0) (actual time=0.005..0.005 rows=0 loops=1)\n // Index Cond: (1 = rel_users_exams.exam_id)\n // Buffers: shared hit=1\n // -> Materialize (cost=0.15..8.17 rows=1 width=105) (never executed)\n // Output: exam_1.id, exam_1.title, exam_1.date_from, exam_1.date_to, exam_1.created, exam_1.created_by_, exam_1.duration, exam_1.success_threshold, exam_1.published\n // -> Index Scan using exam_pkey on public.exam exam_1 (cost=0.15..8.17 rows=1 width=105) (never executed)\n // Output: exam_1.id, exam_1.title, exam_1.date_from, exam_1.date_to, exam_1.created, exam_1.created_by_, exam_1.duration, exam_1.success_threshold, exam_1.published\n // Index Cond: (exam_1.id = 1)\n // Planning Time: 1.110 ms\n // Execution Time: 0.170 ms\n // `;\n\n // const queryStr = `SELECT rel_users_exams.user_username AS rel_users_exams_user_username,\n // rel_users_exams.exam_id AS rel_users_exams_exam_id,\n // rel_users_exams.started_at AS rel_users_exams_started_at,\n // rel_users_exams.finished_at AS rel_users_exams_finished_at,\n // exam_1.id AS exam_1_id,\n // exam_1.title AS exam_1_title,\n // exam_1.date_from AS exam_1_date_from,\n // exam_1.date_to AS exam_1_date_to,\n // exam_1.created AS exam_1_created,\n // exam_1.created_by_ AS exam_1_created_by_,\n // exam_1.duration AS exam_1_duration,\n // exam_1.success_threshold AS exam_1_success_threshold,\n // exam_1.published AS exam_1_published\n // FROM rel_users_exams LEFT OUTER\n // JOIN exam AS exam_1\n // ON exam_1.id = rel_users_exams.exam_id\n // WHERE 1 = rel_users_exams.exam_id;\n // `;\n // const handleClick = () => {\n // const statementId = \"123\";\n\n // sessionStorage.setItem(`${statementId}-plan`, planStr);\n // sessionStorage.setItem(`${statementId}-query`, queryStr);\n // window.open(`/pev2.html?statementId=${statementId}`);\n // };\n\n // const explain = createExplain();\n // parseExplain(explain);\n\n // console.log(explain.tables);\n\n // 示例用法\n // const json = {\n // query_block: {\n // select_id: 1,\n // cost_info: {\n // query_cost: \"1.80\",\n // },\n // nested_loop: [\n // {\n // table: {\n // table_name: \"supplier\",\n // access_type: \"ALL\",\n // possible_keys: [\"PRIMARY\"],\n // rows_examined_per_scan: 1,\n // rows_produced_per_join: 1,\n // filtered: \"100.00\",\n // cost_info: {\n // read_cost: \"1.00\",\n // eval_cost: \"0.10\",\n // prefix_cost: \"1.10\",\n // data_read_per_join: \"744\",\n // },\n // used_columns: [\"S_SUPPKEY\", \"S_NAME\", \"S_ADDRESS\", \"S_NATIONKEY\", \"S_PHONE\", \"S_ACCTBAL\", \"S_COMMENT\"],\n // },\n // },\n // {\n // table: {\n // table_name: \"revenue\",\n // access_type: \"ref\",\n // possible_keys: [\"\"],\n // key: \"\",\n // used_key_parts: [\"l_suppkey\"],\n // key_length: \"4\",\n // ref: [\"tpch.supplier.S_SUPPKEY\"],\n // rows_examined_per_scan: 2,\n // rows_produced_per_join: 2,\n // filtered: \"100.00\",\n // cost_info: {\n // read_cost: \"0.50\",\n // eval_cost: \"0.20\",\n // prefix_cost: \"1.80\",\n // data_read_per_join: \"64\",\n // },\n // used_columns: [\"l_suppkey\", \"total_revenue\"],\n // materialized_from_subquery: {\n // using_temporary_table: true,\n // dependent: false,\n // cacheable: true,\n // query_block: {\n // select_id: 2,\n // cost_info: {\n // query_cost: \"0.35\",\n // },\n // grouping_operation: {\n // using_temporary_table: true,\n // using_filesort: false,\n // table: {\n // table_name: \"lineitem\",\n // access_type: \"ALL\",\n // possible_keys: [\"LINEITEM_FK2\"],\n // rows_examined_per_scan: 1,\n // rows_produced_per_join: 1,\n // filtered: \"100.00\",\n // cost_info: {\n // read_cost: \"0.25\",\n // eval_cost: \"0.10\",\n // prefix_cost: \"0.35\",\n // data_read_per_join: \"384\",\n // },\n // used_columns: [\"L_ORDERKEY\", \"L_SUPPKEY\", \"L_LINENUMBER\", \"L_EXTENDEDPRICE\"],\n // },\n // },\n // },\n // },\n // },\n // },\n // ],\n // },\n // };\n\n // const json = {\n // query_block: {\n // select_id: 1,\n // cost_info: {\n // query_cost: \"1.05\",\n // },\n // grouping_operation: {\n // using_temporary_table: true,\n // using_filesort: false,\n // nested_loop: [\n // {\n // table: {\n // table_name: \"customer\",\n // access_type: \"ALL\",\n // possible_keys: [\"PRIMARY\", \"C_CUSTKEY_unique\"],\n // rows_examined_per_scan: 1,\n // rows_produced_per_join: 1,\n // filtered: \"100.00\",\n // cost_info: {\n // read_cost: \"0.25\",\n // eval_cost: \"0.10\",\n // prefix_cost: \"0.35\",\n // data_read_per_join: \"848\",\n // },\n // used_columns: [\"C_CUSTKEY\", \"C_NAME\"],\n // },\n // },\n // {\n // table: {\n // table_name: \"orders\",\n // access_type: \"eq_ref\",\n // possible_keys: [\"PRIMARY\"],\n // key: \"PRIMARY\",\n // used_key_parts: [\"O_ORDERKEY\"],\n // key_length: \"4\",\n // ref: [\"tpch.customer.C_CUSTKEY\"],\n // rows_examined_per_scan: 1,\n // rows_produced_per_join: 1,\n // filtered: \"100.00\",\n // using_index: true,\n // cost_info: {\n // read_cost: \"0.25\",\n // eval_cost: \"0.10\",\n // prefix_cost: \"0.70\",\n // data_read_per_join: \"472\",\n // },\n // used_columns: [\"O_ORDERKEY\"],\n // },\n // },\n // {\n // table: {\n // table_name: \"lineitem\",\n // access_type: \"ref\",\n // possible_keys: [\"PRIMARY\"],\n // key: \"PRIMARY\",\n // used_key_parts: [\"L_ORDERKEY\"],\n // key_length: \"4\",\n // ref: [\"tpch.customer.C_CUSTKEY\"],\n // rows_examined_per_scan: 1,\n // rows_produced_per_join: 1,\n // filtered: \"100.00\",\n // cost_info: {\n // read_cost: \"0.25\",\n // eval_cost: \"0.10\",\n // prefix_cost: \"1.05\",\n // data_read_per_join: \"384\",\n // },\n // used_columns: [\"L_ORDERKEY\", \"L_LINENUMBER\", \"L_EXTENDEDPRICE\", \"L_DISCOUNT\"],\n // },\n // },\n // ],\n // },\n // },\n // };\n\n // // const tree = convertJsonToTree(json);\n // // console.log(tree);\n\n // const tree = parseExplainJson(json);\n // console.log(tree);\n\n // 示例用法\n // const planString = `\n // -> Limit: 1 row(s) (cost=0.00..0.00 rows=1)\n // -> Rows fetched before execution (cost=0.00..0.00 rows=1)\n // -> Select #4 (subquery in projection; run only once)\n // -> Limit: 1 row(s) (cost=20777.31 rows=1)\n // -> Table scan on orders (cost=20777.31 rows=200036)\n // -> Select #5 (subquery in projection; run only once)\n // -> Limit: 1 row(s) (cost=81138.40 rows=1)\n // -> Table scan on part (cost=81138.40 rows=722644)\n // -> Select #6 (subquery in projection; run only once)\n // -> Limit: 1 row(s) (cost=56.05 rows=1)\n // -> Table scan on nation (cost=56.05 rows=543)\n // -> Select #2 (subquery in projection; run only once)\n // -> Limit: 1 row(s) (cost=81138.40 rows=1)\n // -> Table scan on part (cost=81138.40 rows=722644)\n // `;\n\n // const characterTree = handleSubQuery(planString);\n // console.log(characterTree);\n const [explain, setExplain] = useState();\n const [content, setContent] = useState(\"\");\n const [contentBefore, setContentBefore] = useState(\"\");\n const [showDiff, setShowDiff] = useState(false);\n\n const [oracleExplain, setOracleExplain] = useState(\"\");\n const [oracleContent, setOracleContent] = useState(\"\");\n\n return (\n }>\n }\n pageTitle={}\n >\n \n {JarVersionDisplay(license.jarVersion)}\n \n \n \n \n \n \n {\n setExplain(event.target.value);\n }}\n >\n {\n if (isNotBlank(explain)) {\n try {\n const input = JSON.parse(explain || \"\");\n const reuslt = parseMysqlJsonExplain(input);\n setContent(reuslt);\n } catch (err) {\n console.log(err);\n }\n }\n }}\n >\n json2Tree(mysql)\n \n {/* */}\n {/* */}\n
    转换tree
    \n {\n setContent(event.target.value);\n }}\n rows={10}\n >\n
    原tree
    \n {\n setContentBefore(event.target.value);\n }}\n rows={10}\n >\n {\n setShowDiff((prev) => !prev);\n }}\n >\n show diff\n \n {showDiff && (\n {\n setShowDiff(false);\n }}\n contentBefore={contentBefore}\n contentAfter={content}\n title=\"show diff\"\n />\n )}\n {/* */}\n
    -------------
    \n {\n setOracleExplain(event.target.value);\n }}\n >\n {\n if (isNotBlank(oracleExplain)) {\n try {\n const reuslt = parseOracleExplain(oracleExplain);\n setOracleContent(reuslt);\n } catch (err) {\n console.log(err);\n }\n }\n }}\n >\n explain2tree(oracle)\n \n
    explain tree
    \n {\n setOracleContent(event.target.value);\n }}\n rows={10}\n >\n
    \n \n
    \n );\n};\n\nexport default AllLogPage;\n","import AllLogPage from \"./AllLogPage\";\n\nexport default AllLogPage;\n","import { Field, FieldProps, Form, Formik } from \"formik\";\nimport React from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\nimport * as yup from \"yup\";\n\nimport { Input, ControlLabels, Button, LoadingButton, TextArea } from \"components\";\n\nimport { CreateEmailTaskError } from \"views/Workspace/ServiceForm/components/TestingConnectionError\";\n\nimport { EmailTaskValues } from \"../types\";\n\nconst Buttons = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n\n & > button {\n margin-left: 5px;\n }\n`;\n\nconst ControlLabelsWithMargin = styled(ControlLabels)`\n margin-bottom: 29px;\n`;\n\n// const RequestButton = styled(Button)`\n// min-width: 105px;\n// `;\n\ninterface EmailTaskFormProps {\n isLoading?: boolean;\n onSubmit: (values: EmailTaskValues) => void;\n onCancel: () => void;\n hasFeedback?: boolean;\n errorMessage: string | null;\n}\n\nconst validationSchema = yup.object().shape({\n title: yup.string().required(\"form.empty.error\"),\n contentZh: yup.string().required(\"form.empty.error\"),\n contentEn: yup.string().required(\"form.empty.error\"),\n});\n\nconst EmailTaskForm: React.FC = ({ isLoading, onSubmit, onCancel, errorMessage, hasFeedback }) => {\n const formatMessage = useIntl().formatMessage;\n\n return (\n \n {() => (\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={!!meta.error && meta.touched && }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={!!meta.error && meta.touched && }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={!!meta.error && meta.touched && }\n >\n \n \n )}\n \n \n {({ field, meta }: FieldProps) => (\n }\n message={!!meta.error && meta.touched && }\n >\n \n \n )}\n \n \n \n \n \n \n \n {errorMessage !== null && }\n \n )}\n \n );\n};\n\nexport default EmailTaskForm;\n","import React, { useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Modal } from \"components\";\n\nimport { useCreateEmailTask } from \"hooks/services/useUserHook\";\n\nimport EmailTaskForm from \"./components/EmailTaskForm\";\nimport { EmailTaskValues } from \"./types\";\n\ninterface EmailTaskModalProps {\n onClose: () => void;\n}\nconst Content = styled.div`\n width: 700px;\n padding: 22px 34px 36px 32px;\n`;\n\nconst EmailTaskModal: React.FC = ({ onClose }) => {\n const [hasFeedback, setHasFeedback] = useState(false);\n const { mutateAsync: createEmailTask, isLoading } = useCreateEmailTask();\n const [errorMessage, setErrorMessage] = useState(null);\n\n const onSubmit = (values: EmailTaskValues) => {\n setHasFeedback(true);\n createEmailTask({\n ...values,\n })\n .then(({ data }) => {\n if (data) {\n setTimeout(() => {\n setHasFeedback(false);\n onClose();\n }, 1000);\n }\n })\n .catch((e) => {\n setErrorMessage(e.message);\n });\n };\n\n return (\n } onClose={onClose}>\n \n \n \n \n );\n};\n\nexport default EmailTaskModal;\n","import EmailTaskModal from \"./EmailTaskModal\";\n\nexport default EmailTaskModal;\n","import { Select, SelectItem } from \"@tremor/react\";\nimport { Field, FieldProps, Form, Formik } from \"formik\";\nimport React, { useCallback, useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\nimport * as yup from \"yup\";\n\nimport { Button, ControlLabels, Modal, TextArea } from \"components\";\n\nimport { useFormChangeTrackerService, useUniqueFormId } from \"hooks/services/FormChangeTracker\";\nimport { useSendEmails } from \"hooks/services/useUserHook\";\nimport FeedbackBlock from \"pages/SettingsPage/components/FeedbackBlock\";\nimport { FormikEmailEditorFormValues } from \"views/Connection/ConnectionForm/formConfig\";\nimport { useEmailTemplateList } from \"cloud/hook/useEmailTemplateHook\";\n\nconst Content = styled.div`\n padding: 18px 37px 28px;\n font-size: 14px;\n line-height: 28px;\n max-width: 1000px;\n overflow-y: auto;\n width: 100%;\n height: 100%;\n`;\n\nconst CustomLabel = styled(ControlLabels)`\n max-width: 150px;\n margin-right: 20px;\n vertical-align: center;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: flex-start;\n gap: 10px;\n`;\n\nexport const LeftFieldCol = styled.div`\n width: 170px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 700px;\n`;\n\nconst StyledSection = styled.div`\n padding: 15px 20px;\n\n & > div:not(:last-child) {\n margin-bottom: 20px;\n }\n`;\n\nexport const EndBlock = styled.div`\n flex: 1 0 0;\n display: flex;\n justify-content: flex-end;\n`;\n\ninterface EmailEditorFormProps {\n emailList: string[];\n isOpenEmailModal: boolean;\n toggleOpenEmailModal: (nextValue?: any) => void;\n}\n\nconst validationSchema = yup.object().shape({\n emails: yup.string().required(\"form.empty.error\"),\n emailTemplateId: yup.string().required(\"form.empty.error\"),\n});\n\nconst EmailEditorForm: React.FC = (props) => {\n const { locale, formatMessage } = useIntl();\n const formId = useUniqueFormId();\n const { clearFormChange } = useFormChangeTrackerService();\n const { data: templates } = useEmailTemplateList();\n\n const { mutateAsync: sendEmails, isLoading } = useSendEmails();\n const [emails, setEmails] = useState(props.emailList.join(\";\"));\n\n const [successMessage, setSuccessMessage] = useState(\"\");\n const [errorMessage, setErrorMessage] = useState(\"\");\n\n const onFormSubmit = useCallback(\n async (values: FormikEmailEditorFormValues) => {\n setSuccessMessage(\"\");\n setErrorMessage(\"\");\n try {\n await sendEmails({ ...values }).then((data) => {\n setSuccessMessage(data.data);\n });\n clearFormChange(formId);\n } catch (err) {\n setErrorMessage(\n formatMessage({\n id: `${err.message}`,\n })\n );\n }\n },\n [locale, clearFormChange, formId, formatMessage, sendEmails]\n );\n\n return (\n \n \n \n }\n >\n \n \n {({ setFieldValue }) => (\n
    \n \n \n {({ field, meta }: FieldProps) => (\n \n \n \n \n \n {\n setEmails(e.target.value);\n setFieldValue(\"emails\", e.target.value);\n }}\n error={!!meta.error}\n placeholder={formatMessage({\n id: \"email.send.emialList.message\",\n })}\n />\n \n \n )}\n \n \n \n \n {({ field }: FieldProps) => (\n <>\n \n 选择已经存在的邮件模板\n \n {\n setFieldValue(field.name, value);\n }}\n placeholder={formatMessage({ id: \"config.page.email.reminder.template.placeholder\" })}\n >\n {templates.map((item) => {\n return {item.name};\n })}\n \n \n )}\n \n \n \n \n \n {}\n \n \n {}\n \n \n \n \n
    \n )}\n \n
    \n \n );\n};\n\nexport default EmailEditorForm;\n","import { faSearch } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport queryString from \"query-string\";\nimport React, { Suspense, useEffect, useState } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { useToggle } from \"react-use\";\nimport styled from \"styled-components\";\n\nimport { Button, DropDown, LoadingPage } from \"components\";\n// import { EmptyResourceListView } from \"components/EmptyResourceListView\";\nimport UsersTable from \"components/EntityTable/UsersTable\";\nimport { EndBlock } from \"components/PageTitle/PageTitle\";\n\nimport { useConfig } from \"config\";\nimport { UserRead } from \"core/request/PawsqlClient\";\nimport { useListUsers } from \"hooks/services/useUserHook\";\nimport useRouter from \"hooks/useRouter\";\n// import { RoutePaths } from \"pages/routePaths\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport Search from \"views/Connection/ConnectionForm/components/Search\";\nimport EmailTaskModal from \"cloud/views/EmailTaskModal\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport EmailEditorForm from \"cloud/component/EmailEditorForm\";\n\nconst Content = styled.div`\n margin: 0 32px 10px 27px;\n`;\nexport const LeftFieldCol = styled.div`\n width: 45px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n`;\n\nconst Icon = styled.div<{ $small?: boolean }>`\n padding: 5px 0 0 5px;\n`;\n\nconst FilterDropDown = styled.div`\n border: 1px solid #a8a8c9;\n border-radius: 4px;\n background: #f8f8fa;\n height: 43px;\n width: 100px;\n`;\n\nconst AllCloudUsersPage: React.FC = () => {\n const { query, push, location } = useRouter();\n const { isInternal } = useConfig();\n const [currentLanguage, setCurrentLanguage] = useState(\"\");\n\n const onClickRow = (user: UserRead) => {\n push(`${RoutePaths.App}/${RoutePaths.Workspaces}?currentUserId=${user.userId}`);\n };\n const { formatMessage } = useIntl();\n const [isOpenEmailFormModal, toggleOpenEmailFormModal] = useToggle(false);\n const [isOpenEmailTaskFormModal, toggleOpenEmailTaskFormModal] = useToggle(false);\n\n const { isAdmin } = useMyAuthService();\n const { users } = useListUsers().data;\n\n const [searchString, setSearchString] = useState(query.searchString);\n const [filteredStreams, setFilteredStreams] = useState(users);\n\n const [selectedEmails, setSelectedEmails] = useState(filteredStreams.map((item) => item.email));\n\n const options = [\n {\n label: formatMessage({ id: \"user.page.filter.all\" }),\n value: \"\",\n },\n {\n label: formatMessage({ id: \"user.page.filter.en\" }),\n value: \"en\",\n },\n {\n label: formatMessage({ id: \"user.page.filter.zh\" }),\n value: \"zh\",\n },\n ];\n\n useEffect(() => {\n const filters: Array<(s: UserRead) => boolean> = [\n (_: UserRead) => true,\n searchString\n ? (stream: UserRead) =>\n stream.userName?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.email?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.orgName?.toLowerCase().includes(searchString?.toLowerCase()) ||\n stream.createTime?.toLowerCase().includes(searchString?.toLowerCase())\n : null,\n ].filter(Boolean) as Array<(s: UserRead) => boolean>;\n setFilteredStreams(\n users\n .filter((stream) => filters.every((f) => f(stream)))\n .filter((item) => currentLanguage === \"\" || item.language === currentLanguage)\n );\n setSelectedEmails(\n users\n .filter((stream) => filters.every((f) => f(stream)))\n .filter((item) => currentLanguage === \"\" || item.language === currentLanguage)\n .map((item) => item.email)\n );\n }, [searchString, users, currentLanguage]);\n\n return (\n }>\n {/* }\n pageTitle={}\n > */}\n \n \n \n \n \n \n \n \n {\n setSearchString(value);\n push({\n search: queryString.stringify(\n {\n ...queryString.parse(location.search),\n searchString: value,\n page: 0,\n },\n { skipNull: true }\n ),\n });\n }}\n />\n \n {isAdmin && (\n <>\n \n {\n setCurrentLanguage(item.value);\n }}\n >\n \n {!isInternal && (\n \n \n \n )}\n \n )}\n \n \n \n {isOpenEmailFormModal && (\n \n )}\n {isOpenEmailTaskFormModal && }\n {/* */}\n \n );\n};\n\nexport default AllCloudUsersPage;\n","import AllCloudUsersPage from \"./AllCloudUsersPage\";\n\nexport default AllCloudUsersPage;\n","import { WelcomeDemo } from \"./WelcomeDemo\";\n\nexport default WelcomeDemo;\n","import { Button, Card, CardContent, CardHeader, Input } from \"@mui/material\";\nimport { SetStateAction, useState } from \"react\";\n\nexport const WelcomeDemo = () => {\n const [demoText, setDemoText] = useState(\"\");\n const [demoResult, setDemoResult] = useState(\"\");\n\n const handleTextChange = (e: { target: { value: SetStateAction } }) => {\n setDemoText(e.target.value);\n };\n\n const handleSubmit = () => {\n // 这里可以添加实际的API调用\n setDemoResult(`您输入的文本是: ${demoText}`);\n };\n\n return (\n
    \n

    欢迎使用我们的应用!

    \n

    让我们来快速体验一下基本功能。

    \n\n \n \n

    文本处理演示

    \n
    \n \n \n \n {demoResult &&

    {demoResult}

    }\n
    \n
    \n\n \n \n

    更多功能

    \n
    \n \n

    这里可以添加更多的演示功能,例如:

    \n
      \n
    • 数据可视化
    • \n
    • 用户资料设置
    • \n
    • 文件上传
    • \n
    \n
    \n \n
    \n
    \n );\n};\n","import React, { Suspense, useMemo } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { LoadingPage, MainPageWithScroll, PageTitle } from \"components\";\nimport HeadTitle from \"components/HeadTitle\";\n\nimport SideMenu from \"components/SideMenu\";\nimport { FlexContainer, FlexItem } from \"components/ui/Flex\";\nimport { CategoryItem, SideMenuItem } from \"components/SideMenu/SideMenu\";\nimport { Navigate, Route, Routes, useLocation, useNavigate } from \"react-router-dom\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport { useConfig } from \"config\";\nimport EmailTemplatesTable from \"cloud/component/EmailTemplatesTable\";\nimport EmailRemindersTable from \"cloud/component/EmailRemindersTable\";\nimport AllLogPage from \"../LogPage/pages/AllLogPage\";\nimport AllCloudUsersPage from \"../AllUsersPage\";\nimport WelcomeDemo from \"pages/WelcomePages\";\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: flex-start;\n gap: 10px;\n`;\n\nexport const LeftFieldCol = styled.div`\n width: 470px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nexport type ConnectionFormMode = \"create\" | \"edit\" | \"readonly\";\n\nconst AllCloudConfigPage: React.FC = () => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const onSelectMenuItem = (newPath: string) => navigate(newPath);\n const { pathname } = useLocation();\n const { isAdmin } = useMyAuthService();\n const { isInternal } = useConfig();\n\n const data: CategoryItem[] = useMemo(() => {\n const categories = [];\n if (isAdmin && !isInternal) {\n categories.push({\n category: formatMessage({ id: \"config.page.admin.cloud.config\" }),\n routes: [\n {\n path: \"users\",\n name: formatMessage({ id: \"config.page.admin.config.users\" }),\n component: () => ,\n },\n {\n path: \"emailTemplates\",\n name: formatMessage({ id: \"config.page.admin.config.email.template\" }),\n component: () => ,\n },\n {\n path: \"emailReminders\",\n name: formatMessage({ id: \"config.page.admin.config.email.reminder\" }),\n component: () => ,\n },\n {\n path: \"logs\",\n name: formatMessage({ id: \"sidebar.logs\" }),\n component: () => ,\n },\n {\n path: \"welcome\",\n name: \"WeclomeDemo\",\n component: () => ,\n },\n ],\n });\n }\n return categories;\n }, [formatMessage, isAdmin, isInternal]);\n\n return (\n }\n pageTitle={}\n >\n \n \n \n }>\n \n {data\n .flatMap((menuItem) => menuItem.routes)\n .filter(\n (menuItem): menuItem is SideMenuItem & { component: NonNullable } =>\n !!menuItem.component\n )\n .map(({ path, component: Component }) => (\n } />\n ))}\n } />\n \n \n \n \n \n );\n};\n\nexport default AllCloudConfigPage;\n","import React from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { FormattedMessage } from \"react-intl\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"components\";\n\nimport { useI18nContext } from \"core/i18n\";\n\nconst Links = styled.div`\n max-width: 120ch;\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n`;\n\nconst LanguageChangeButton = styled(Button)`\n font-style: normal;\n font-weight: bold;\n color: ${({ theme }) => theme.BackLink};\n\n &:hover {\n opacity: 0.8;\n }\n`;\n\nconst TextBlock = styled.div`\n display: inline-block;\n`;\n\nexport const EndBlock = styled.div`\n flex: 1 0 0;\n display: flex;\n justify-content: flex-end;\n`;\n\nconst Content = styled.div`\n max-width: 120ch;\n margin: 10px auto;\n padding-bottom: 10px;\n`;\n\nconst Logo = styled.img`\n display: block;\n`;\n\nconst PluginHeader: React.FC = () => {\n const { locale } = useIntl();\n const isEn = locale === \"en\";\n const { changeLocal } = useI18nContext();\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default PluginHeader;\n","import React from \"react\";\n\nimport PluginHeader from \"./PluginHeader\";\n\nconst PluginFormContent: React.FC = (props) => {\n return (\n <>\n \n {props.children}\n \n );\n};\n\nexport default PluginFormContent;\n","import React, { Suspense } from \"react\";\nimport styled from \"styled-components\";\n\nimport { Card, LoadingPage } from \"components\";\nimport { Markdown } from \"components/Markdown\";\nimport PluginFormContent from \"./PluginFormContent\";\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: flex-start;\n gap: 10px;\n`;\n\nexport const LeftFieldCol = styled.div`\n width: 470px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nconst StyledSection = styled.div`\n padding: 15px 20px;\n justify-items: center;\n & > div:not(:last-child) {\n margin-bottom: 20px;\n }\n`;\n\nconst InnerContent = styled.div`\n max-width: 1300px;\n margin: 0 auto;\n`;\nconst Page = styled.div`\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center; /* 水平居中 */\n overflow-y: auto;\n`;\n\nconst CenteredContent = styled.div`\n transform: scale(0.9); /* 整体缩小到 90% */\n transform-origin: top; /* 设置缩放的原点为中心 */\n`;\n\nconst Content = styled.div`\n width: 100%;\n height: auto;\n overflow-y: auto;\n flex-direction: row;\n background: ${({ theme }) => theme.backgroundColor};\n`;\nexport const SimpleDetailView: React.FC<{ content?: string }> = ({ content }) => {\n return (\n \n \n \n \n }>\n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport { useIntl } from \"react-intl\";\n\nimport { useGetStatementDetail } from \"hooks/services/useAnalysisHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { QueryDetailProvider } from \"pages/AnalysisPage/pages/AnalysisItemPage/components/QueryDetailContext\";\nimport { isNotBlank } from \"utils/common\";\nimport { SimpleDetailView } from \"pages/AnalysisPage/pages/AnalysisItemPage/components/SimpleDetailView\";\n\nexport const QuerySimpleDetailPage: React.FC = () => {\n const { query } = useRouter<{ queryId: string; lang?: string }>(); // lang 为可选\n const { locale } = useIntl();\n\n // 优先使用查询参数中的 lang 值,如果未提供则使用 locale 进行语言判断\n const [isEn, setIsEn] = useState(false);\n\n useEffect(() => {\n setIsEn(locale === \"en\");\n }, [locale]);\n\n useEffect(() => {\n setIsEn(query.lang ? query.lang === \"en\" : locale === \"en\");\n }, []);\n\n const { data: details } = useGetStatementDetail(query.queryId);\n const { detailMarkdown, detailMarkdownZh } = details;\n\n // 根据语言选择正则表达式\n const regex = isEn\n ? /(## Original Query\\(formatted\\)[\\s\\S]*?## .*[\\s\\S]*)/\n : /(## 原SQL\\(格式化\\)[\\s\\S]*?## .*[\\s\\S]*)/;\n\n const match = (isEn ? detailMarkdown : detailMarkdownZh).match(regex);\n\n let extractedContent = \"\";\n\n if (match && match[1]) {\n extractedContent = match[1].trim();\n }\n\n const content = isNotBlank(extractedContent) ? extractedContent : isEn ? detailMarkdown : detailMarkdownZh;\n\n return (\n \n \n \n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { Card } from \"components\";\nimport LoadingSchema from \"components/LoadingSchema\";\nimport { Markdown } from \"components/Markdown\";\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: flex-start;\n gap: 10px;\n`;\n\nexport const LeftFieldCol = styled.div`\n width: 470px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nconst StyledSection = styled.div`\n padding: 15px 20px;\n\n & > div:not(:last-child) {\n margin-bottom: 20px;\n }\n`;\n\nconst InnerContent = styled.div`\n max-width: 990px;\n margin: 10px auto;\n padding-bottom: 10px;\n`;\n\nexport const MarkdownView: React.FC<{ content?: string }> = ({ content }) => {\n return (\n \n \n {content ? (\n <>\n \n \n \n \n ) : (\n \n )}\n \n \n );\n};\n","import HeadTitle from \"components/HeadTitle\";\r\nimport { MarkdownView } from \"components/Markdown/MarkdownView\";\r\nimport { StaticLayout } from \"pages/LandingPage/pages/LandingPage/components/StaticLayout\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useIntl } from \"react-intl\";\r\n\r\nconst TermsPage: React.FC = () => {\r\n const [content, setContent] = useState(\"\");\r\n const { locale } = useIntl();\r\n useEffect(() => {\r\n // 从 public 目录下获取 Markdown 文件内容\r\n fetch(`${locale === \"en\" ? \"/TERMSOFSERVICE.md\" : \"/TERMSOFSERVICE_zh.md\"}`)\r\n .then((response) => {\r\n if (!response.ok) {\r\n throw new Error(\"Failed to fetch the markdown file\");\r\n }\r\n return response.text();\r\n })\r\n .then((text) => setContent(text))\r\n .catch((error) => console.error(error));\r\n }, [locale]);\r\n return (\r\n }>\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TermsPage;\r\n","import HeadTitle from \"components/HeadTitle\";\r\nimport { MarkdownView } from \"components/Markdown/MarkdownView\";\r\nimport { StaticLayout } from \"pages/LandingPage/pages/LandingPage/components/StaticLayout\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useIntl } from \"react-intl\";\r\n\r\nconst PrivacyPage: React.FC = () => {\r\n const [content, setContent] = useState(\"\");\r\n const { locale } = useIntl();\r\n useEffect(() => {\r\n // 从 public 目录下获取 Markdown 文件内容\r\n fetch(`${locale === \"en\" ? \"/PRIVACYPOLICY.md\" : \"/PRIVACYPOLICY_zh.md\"}`)\r\n .then((response) => {\r\n if (!response.ok) {\r\n throw new Error(\"Failed to fetch the markdown file\");\r\n }\r\n return response.text();\r\n })\r\n .then((text) => setContent(text))\r\n .catch((error) => console.error(error));\r\n }, [locale]);\r\n return (\r\n }>\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PrivacyPage;\r\n","import { PlanUserSubscriptionRead, PricePlanRead } from \"core/request/PawsqlClient\";\nimport { useGetUserSubscriptionUsage } from \"hooks/services/usePlanSubscriptionHook\";\nimport React, { useCallback, useState } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { Paddle } from \"@paddle/paddle-js\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport { RoutePaths } from \"pages/routePaths\";\nimport { usePricingPlanList } from \"hooks/services/usePricingPlanHook\";\nimport useRouter from \"hooks/useRouter\";\n\ninterface Prop {\n subscription: PlanUserSubscriptionRead;\n paddle: Paddle | null;\n plans: PricePlanRead[];\n}\nexport const PlanUsageSection: React.FC = ({ subscription, paddle, plans }) => {\n const { push } = useRouter();\n\n const userId = subscription.userId;\n const { data: usage } = useGetUserSubscriptionUsage(userId);\n const { formatMessage } = useIntl();\n const { user } = useMyAuthService();\n const [loadingPriceId, setLoadingPriceId] = useState(null);\n const { data: onTimePlans } = usePricingPlanList({ status: 1, type: \"one-time\" });\n\n // 获取上个计划信息\n const lastPlan = plans?.find(\n (plan) =>\n plan.monthlyPriceId === subscription.lastPaddlePriceId || plan.yearlyPriceId === subscription.lastPaddlePriceId\n );\n const lastPlanFeatures = lastPlan?.features ? Object.entries(lastPlan.features) : [];\n\n const lastPlanLimit = lastPlanFeatures.find(([key]) => key === \"optimizations\")?.[1]?.threshold || 0;\n\n const priceId = onTimePlans ? onTimePlans[0].oneTimePriceId : \"\";\n const handleSwitchPlan = useCallback(() => {\n push(\"../pricing\");\n }, [push]);\n\n const handleOneTimePlan = useCallback(() => {\n if (paddle) {\n setLoadingPriceId(priceId);\n try {\n paddle.Checkout.open({\n customer: {\n email: user.email,\n },\n items: [{ priceId, quantity: 1 }],\n settings: {\n successUrl: `${window.location.origin}${RoutePaths.App}/${RoutePaths.Subscription}/${RoutePaths.Usage}`,\n },\n customData: {\n userId: user.userId,\n type: \"one-time\",\n planId: subscription.planId,\n },\n });\n } finally {\n setTimeout(() => {\n setLoadingPriceId(null);\n }, 5000);\n }\n }\n }, [paddle, user, subscription.planId]);\n\n return (\n
    \n

    {formatMessage({ id: \"plan.usage.title\" })}

    \n
    \n {/* Previous Plan Credits */}\n {usage.lastPlanRemaining > 0 && (\n
    \n

    {formatMessage({ id: \"plan.usage.previous.credits.title\" })}

    \n
    \n
    \n \n {formatMessage(\n { id: \"plan.usage.previous.credits.used\" },\n {\n used: lastPlanLimit - usage.lastPlanRemaining,\n total: lastPlanLimit,\n }\n )}\n \n
    \n \n {formatMessage(\n { id: \"plan.usage.previous.credits.remaining\" },\n { remaining: usage.lastPlanRemaining }\n )}\n \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {formatMessage({ id: \"plan.usage.previous.credits.description\" })}\n

    \n
    \n \n \n \n
    \n {formatMessage({ id: \"plan.usage.previous.credits.description.message\" })}\n
    \n
    \n
    \n
    \n
    \n )}\n\n {/* User Prompt Credits */}\n
    \n

    {formatMessage({ id: \"plan.usage.prompt.credits.title\" })}

    \n
    \n
    \n \n {formatMessage(\n { id: \"plan.usage.prompt.credits.used\" },\n {\n used: usage.planAnalysisLimit - usage.currentRemaining,\n total: usage.planAnalysisLimit,\n }\n )}\n \n
    \n \n {formatMessage({ id: \"plan.usage.prompt.credits.remaining\" }, { remaining: usage.currentRemaining })}\n \n
    \n \n \n \n \n {formatMessage(\n { id: \"plan.usage.prompt.credits.expiry\" },\n {\n date: new Date(subscription.nextResetTime).toLocaleDateString(),\n }\n )}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {formatMessage({ id: \"plan.usage.prompt.credits.description\" })}\n

    \n
    \n \n \n \n {formatMessage(\n { id: \"plan.usage.prompt.credits.expiry\" },\n {\n date: new Date(subscription.nextResetTime).toLocaleDateString(),\n }\n )}\n
    \n
    \n \n \n \n
    \n {formatMessage({ id: \"plan.usage.prompt.credits.description.message\" })}\n
    \n
    \n
    \n \n \n \n \n {formatMessage({ id: \"plan.management.switch.button\" })}\n \n
    \n
    \n \n\n {/* One-time Credits */}\n
    \n

    {formatMessage({ id: \"plan.usage.onetime.credits.title\" })}

    \n
    \n
    \n \n {formatMessage(\n { id: \"plan.usage.onetime.credits.used\" },\n {\n used: usage.oneTimeLimit - usage.oneTimeRemaining,\n total: usage.oneTimeLimit,\n }\n )}\n \n \n {formatMessage({ id: \"plan.usage.onetime.credits.remaining\" }, { remaining: usage.oneTimeRemaining })}\n \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {formatMessage({ id: \"plan.usage.onetime.credits.description\" })}\n

    \n
    \n \n \n \n
    \n {formatMessage({ id: \"plan.usage.onetime.credits.description.message\" })}\n
    \n
    \n
    \n \n {loadingPriceId ? (\n \n \n \n \n ) : (\n <>\n \n \n \n {formatMessage({ id: \"plan.usage.purchase.button\" })}\n \n )}\n \n
    \n
    \n \n \n
    \n );\n};\n","import React, { useCallback } from \"react\";\n\nimport { PaddleCustomerPortalResponse, PlanUserSubscriptionRead, PricePlanRead } from \"core/request/PawsqlClient\";\nimport { useIntl } from \"react-intl\";\nimport { LineItem } from \"@paddle/paddle-js/types/price-preview/price-preview\";\nimport { isNotBlank } from \"utils/common\";\n\ninterface Props {\n subscription: PlanUserSubscriptionRead;\n plans: PricePlanRead[];\n prices: LineItem[];\n paddlePortalSession: PaddleCustomerPortalResponse;\n}\nexport const PlanManagementSection: React.FC = ({ subscription, plans, prices, paddlePortalSession }) => {\n const { formatMessage } = useIntl();\n const currentPlan = plans.find((item) => item.planId === subscription.planId);\n const isFree = currentPlan?.name === \"plan.free.name\";\n const isPastDue = subscription.status === \"past_due\";\n\n const currentPrice = prices.find((item) => item.price.id === subscription.paddlePriceId)?.formattedTotals.total ?? 0;\n\n const cancelUrl = paddlePortalSession ? paddlePortalSession.data.urls.subscriptions[0].cancel_subscription : \"\";\n\n // 添加发票链接用于查看支付详情\n const invoiceUrl = paddlePortalSession\n ? paddlePortalSession.data.urls.general.overview.replace(\"paddle.com/\", \"paddle.com/payments/\")\n : \"\";\n\n const handleClickCancel = useCallback(() => {\n if (isNotBlank(cancelUrl)) {\n window.open(cancelUrl, \"_blank\");\n }\n }, [cancelUrl]);\n\n return (\n
    \n

    {formatMessage({ id: \"plan.management.title\" })}

    \n
    \n {isPastDue && (\n
    \n
    \n
    \n \n \n \n
    \n
    \n

    \n {formatMessage({ id: \"plan.status.payment.failed\" })}\n

    \n
    \n

    {formatMessage({ id: \"plan.status.payment.failed.description\" })}

    \n
    \n {\n if (isNotBlank(invoiceUrl)) {\n window.open(invoiceUrl, \"_blank\");\n }\n }}\n className=\"inline-flex items-center px-3 py-2 border border-yellow-300 text-sm leading-4 font-medium rounded-md text-yellow-700 bg-white hover:bg-yellow-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-yellow-500\"\n >\n {formatMessage({ id: \"plan.status.payment.failed.check\" })}\n \n
    \n
    \n
    \n
    \n
    \n )}\n\n {/* 原有的内容 */}\n
    \n

    {formatMessage({ id: \"plan.management.manage.title\" })}

    \n
    \n
    \n
    \n {formatMessage({ id: \"plan.management.current.plan.prefix\" })}\n \n {formatMessage({ id: currentPlan?.name })}\n \n
    \n {!isFree && (\n
    \n {currentPrice}\n \n / {formatMessage({ id: `time.${subscription.billingCycle}` })}\n \n
    \n )}\n {!subscription.autoRenewal && (\n
    \n \n \n \n
    \n \n {formatMessage({ id: \"plan.management.cancelled\" })}\n \n -\n \n {formatMessage({ id: \"plan.management.expires\" }, { date: subscription.periodEnd })}\n \n
    \n
    \n )}\n
    \n
    \n
    \n {!isFree && subscription.autoRenewal && (\n
    \n

    {formatMessage({ id: \"plan.management.cancel.title\" })}

    \n

    {formatMessage({ id: \"plan.management.cancel.description\" })}

    \n \n \n \n \n {formatMessage({ id: \"plan.management.cancel.button\" })}\n \n
    \n )}\n
    \n
    \n );\n};\n","import dayjs from \"dayjs\";\nimport utc from \"dayjs/plugin/utc\";\nimport timezone from \"dayjs/plugin/timezone\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const formatDateWithTimezone = (date: string | Date, format = \"YYYY-MM-DD\") => {\n return `${dayjs(date).format(format)} (UTC+8)`;\n};\n","import { PaddleCustomerPortalResponse, PlanUserSubscriptionRead } from \"core/request/PawsqlClient\";\nimport React from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { isNotBlank } from \"utils/common\";\nimport { formatDateWithTimezone } from \"utils/dateUtils\";\ninterface Props {\n subscription: PlanUserSubscriptionRead;\n paddlePortalSession: PaddleCustomerPortalResponse;\n}\nexport const BillingSection: React.FC = ({ paddlePortalSession, subscription }) => {\n const withSubscription = paddlePortalSession && paddlePortalSession.data.urls.subscriptions.length > 0;\n const updatePaymentMethodUrl = withSubscription\n ? paddlePortalSession.data.urls.subscriptions[0].update_subscription_payment_method\n : \"\";\n\n // get subscriptionId and overview url\n const subscriptionId = paddlePortalSession ? paddlePortalSession.data.urls.subscriptions[0].id : \"\";\n\n const invoiceUrl = paddlePortalSession\n ? withSubscription\n ? paddlePortalSession.data.urls.general.overview.replace(\"action=overview\", `subscription_id=${subscriptionId}`)\n : paddlePortalSession.data.urls.general.overview.replace(\"paddle.com/\", \"paddle.com/payments/\")\n : \"\";\n\n const { formatMessage } = useIntl();\n return (\n
    \n

    {formatMessage({ id: \"billing.title\" })}

    \n
    \n
    \n {withSubscription && (\n
    \n
    \n
    \n \n \n \n
    \n
    \n

    \n {formatMessage({ id: \"plan.billing.subscription.renewal.title\" })}\n

    \n

    \n {formatMessage(\n { id: \"billing.subscription.renewal.message\" },\n {\n date: formatDateWithTimezone(subscription.periodEnd),\n }\n )}\n

    \n
    \n
    \n
    \n )}\n
    \n
    \n {withSubscription && (\n
    \n

    \n {formatMessage({ id: \"billing.payment.details.title\" })}\n

    \n

    {formatMessage({ id: \"billing.payment.details.description\" })}

    \n {\n if (isNotBlank(updatePaymentMethodUrl)) {\n window.open(updatePaymentMethodUrl, \"_blank\");\n }\n }}\n className=\"inline-flex items-center px-6 py-2.5 text-sm font-medium text-gray-700 bg-white border border-gray-300 hover:bg-gray-50 rounded-lg shadow-sm transition-all duration-150 ease-in-out hover:border-gray-400\"\n >\n \n \n \n \n {formatMessage({ id: \"billing.payment.update.button\" })}\n \n
    \n )}\n
    \n

    {formatMessage({ id: \"billing.invoices.title\" })}

    \n

    {formatMessage({ id: \"billing.invoices.description\" })}

    \n {\n if (isNotBlank(invoiceUrl)) {\n window.open(invoiceUrl, \"_blank\");\n }\n }}\n className=\"inline-flex items-center px-6 py-2.5 text-sm font-medium text-gray-700 bg-white border border-gray-300 hover:bg-gray-50 rounded-lg shadow-sm transition-all duration-150 ease-in-out hover:border-gray-400\"\n >\n \n \n \n {formatMessage({ id: \"billing.invoices.view.button\" })}\n \n
    \n
    \n
    \n
    \n
    \n
    \n );\n};\n","import React from \"react\";\nimport { PlanUserSubscriptionRead, PricePlanRead, PaddleCustomerPortalResponse } from \"core/request/PawsqlClient\";\nimport { LineItem } from \"@paddle/paddle-js/types/price-preview/price-preview\";\nimport { PlanUsageSection } from \"./subscription/PlanUsageSection\";\nimport { PlanManagementSection } from \"./subscription/PlanManagementSection\";\nimport { BillingSection } from \"./subscription/BillingSection\";\nimport { Paddle } from \"@paddle/paddle-js\";\nimport { LoadingPage } from \"components\";\n\ninterface Props {\n subscription: PlanUserSubscriptionRead;\n paddle: Paddle | null;\n plans: PricePlanRead[];\n prices: LineItem[];\n paddlePortalSession: PaddleCustomerPortalResponse;\n}\n\nexport const SubscriptionOverview: React.FC = ({ subscription, plans, prices, paddle, paddlePortalSession }) => {\n if (prices.length === 0 || !plans) {\n return ;\n }\n\n return (\n
    \n \n
    \n
    \n \n
    \n {paddlePortalSession && (\n
    \n \n
    \n )}\n
    \n
    \n );\n};\n","import { useIntl } from \"react-intl\";\nimport { Dialog } from \"@headlessui/react\";\nimport { RiCloseLine, RiLoader4Line } from \"@remixicon/react\";\nimport { PreviewUpdateSubscriptionResponse } from \"cloud/types/paddle\";\nimport { LineItem } from \"@paddle/paddle-js/types/price-preview/price-preview\";\nimport { formatDateWithTimezone } from \"utils/dateUtils\";\nimport FeedbackBlock from \"pages/SettingsPage/components/FeedbackBlock\";\n\ninterface Props {\n prices: LineItem[];\n isOpen: boolean;\n onClose: () => void;\n onConfirm: () => void;\n currentPlan: {\n name: string;\n price: string;\n billingCycle: string;\n };\n newPlan: {\n name: string;\n price: string;\n billingCycle: string;\n };\n preview: PreviewUpdateSubscriptionResponse | null;\n updateLoading?: boolean;\n errorMessage: React.ReactNode | null;\n}\n\nconst formatCurrency = (amount: string, currency: string) => {\n const numericAmount = Number(amount) / 100;\n return new Intl.NumberFormat(\"zh-CN\", {\n style: \"currency\",\n currency,\n currencyDisplay: \"narrowSymbol\",\n }).format(numericAmount);\n};\n\nexport const SubscriptionUpdatePreview: React.FC = ({\n isOpen,\n onClose,\n onConfirm,\n currentPlan,\n newPlan,\n preview,\n prices,\n updateLoading = false,\n errorMessage,\n}) => {\n const { formatMessage } = useIntl();\n return (\n \n
    \n
    \n \n
    \n \n {formatMessage({ id: \"plan.update.preview.title\" })}\n \n \n
    \n\n
    \n {/* 计划对比 */}\n
    \n
    \n

    {formatMessage({ id: \"plan.current\" })}

    \n

    {currentPlan.name}

    \n

    {currentPlan.price}

    \n

    \n {formatMessage(\n { id: \"plan.billing.per\" },\n { cycle: formatMessage({ id: `time.${currentPlan.billingCycle}` }) }\n )}\n

    \n
    \n
    \n

    {formatMessage({ id: \"plan.new\" })}

    \n

    {newPlan.name}

    \n

    {newPlan.price}

    \n

    \n {formatMessage(\n { id: \"plan.billing.per\" },\n { cycle: formatMessage({ id: `time.${newPlan.billingCycle}` }) }\n )}\n

    \n
    \n
    \n\n {preview && preview.data.immediate_transaction && (\n
    \n
    \n
    \n

    \n {formatMessage({ id: \"plan.update.immediate.charge\" })}\n

    \n

    \n {formatMessage(\n { id: \"plan.billing.period.current\" },\n {\n startDate: formatDateWithTimezone(\n preview.data.immediate_transaction.billing_period.starts_at\n ),\n endDate: formatDateWithTimezone(preview.data.immediate_transaction.billing_period.ends_at),\n }\n )}\n

    \n
    \n
    \n

    \n {formatCurrency(\n preview.data.update_summary.result.amount,\n preview.data.update_summary.result.currency_code\n )}\n

    \n
    \n
    \n\n
    \n {preview.data.immediate_transaction.details.line_items.map((item) => (\n
    \n
    \n
    \n
    \n

    \n {prices.find((price) => price.price.id === item.price_id)?.price.name}\n

    \n \n {formatMessage({ id: item.quantity < 0 ? \"plan.status.cancel\" : \"plan.status.new\" })}\n \n
    \n\n
    \n
    \n \n {formatMessage({ id: \"plan.update.subtotal\" })}\n {\": \"}\n {formatCurrency(\n item.totals.subtotal,\n preview.data.immediate_transaction.details.totals.currency_code\n )}\n \n \n \n {formatMessage({ id: \"plan.price.tax\" })}\n {\": \"}\n {formatCurrency(\n item.totals.tax,\n preview.data.immediate_transaction.details.totals.currency_code\n )}\n \n
    \n {item.proration && (\n

    \n {formatMessage(\n { id: \"plan.proration.rate\" },\n {\n rate: (Number(item.proration.rate) * 100).toFixed(1),\n }\n )}\n

    \n )}\n
    \n
    \n
    \n

    \n {formatCurrency(\n item.totals.total,\n preview.data.immediate_transaction.details.totals.currency_code\n )}\n

    \n
    \n
    \n
    \n ))}\n\n
    \n
    \n
    \n

    {formatMessage({ id: \"plan.price.subtotal\" })}

    \n

    \n {formatCurrency(\n preview.data.immediate_transaction.details.totals.subtotal,\n preview.data.immediate_transaction.details.totals.currency_code\n )}\n

    \n
    \n
    \n

    \n {formatMessage({ id: \"plan.price.tax\" })} (\n {Number(preview.data.immediate_transaction.details.tax_rates_used[0].tax_rate) * 100}%)\n

    \n

    \n {formatCurrency(\n preview.data.immediate_transaction.details.totals.tax,\n preview.data.immediate_transaction.details.totals.currency_code\n )}\n

    \n
    \n
    \n

    {formatMessage({ id: \"plan.price.total\" })}

    \n

    \n {formatCurrency(\n preview.data.immediate_transaction.details.totals.total,\n preview.data.immediate_transaction.details.totals.currency_code\n )}\n

    \n
    \n
    \n
    \n
    \n
    \n )}\n\n {/* 提示信息 */}\n
    \n

    \n {formatMessage({ id: \"plan.update.preview.notice.title\" })}\n

    \n
      \n
    • {formatMessage({ id: \"plan.update.preview.notice.immediate\" })}
    • \n
    • {formatMessage({ id: \"plan.update.preview.notice.proration\" })}
    • \n
    • {formatMessage({ id: \"plan.update.preview.notice.irreversible\" })}
    • \n
    • {formatMessage({ id: \"plan.update.preview.notice.next.cycle\" })}
    • \n
    \n
    \n\n {/* 按钮 */}\n
    \n \n {formatMessage({ id: \"common.cancel\" })}\n \n \n {updateLoading && }\n {formatMessage({ id: \"plan.update.confirm\" })}\n \n
    \n \n
    \n
    \n
    \n
    \n );\n};\n","import { RiCloseCircleFill } from \"@remixicon/react\";\nimport { useIntl } from \"react-intl\";\nimport { useMemo, useState } from \"react\";\nimport { Paddle } from \"@paddle/paddle-js\";\nimport { LoadingPage, Switch } from \"components\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport { LineItem } from \"@paddle/paddle-js/types/price-preview/price-preview\";\nimport { isBlank, isNotBlank } from \"utils/common\";\nimport { PaddleCustomerPortalResponse, PlanUserSubscriptionRead, PricePlanRead } from \"core/request/PawsqlClient\";\nimport ToolTip from \"components/ToolTip\";\nimport { usePreviewUpdateSubscriptionPlan } from \"hooks/services/usePlanSubscriptionHook\";\nimport { useUpdateSubscribePlan } from \"hooks/services/usePlanSubscriptionHook\";\nimport { SubscriptionUpdatePreview } from \"./SubscriptionUpdatePreview\";\nimport { PreviewUpdateSubscriptionResponse } from \"cloud/types/paddle\";\nimport useRouter from \"hooks/useRouter\";\nimport { useToggle } from \"react-use\";\nimport { RoutePaths } from \"pages/routePaths\";\n\ninterface Props {\n subscription: PlanUserSubscriptionRead;\n plans: PricePlanRead[];\n paddle: Paddle | null;\n prices: LineItem[];\n paddlePortalSession: PaddleCustomerPortalResponse;\n}\nexport const SubscriptionPlan: React.FC = ({ subscription, plans, paddle, prices, paddlePortalSession }) => {\n const updatePaymentMethodUrl = paddlePortalSession\n ? paddlePortalSession.data.urls.subscriptions[0].update_subscription_payment_method\n : \"\";\n\n const [currentBillingCycle, setCurrentBillingCycle] = useState(subscription?.billingCycle ?? \"month\");\n const { push } = useRouter();\n const [updateLoading, toggleUpdateLoading] = useToggle(false);\n const [errorMessage, setErrorMessage] = useState(null);\n // 获取当前激活的计划\n const getCurrentActivePlan = () => {\n return plans?.find((item) => item.planId === subscription?.planId);\n };\n\n // 使用 useMemo 缓存当前计划\n const currentPlan = useMemo(() => getCurrentActivePlan(), [currentBillingCycle, subscription, plans]);\n const isFree = currentPlan?.name === \"plan.free.name\";\n\n const [loadingPriceId, setLoadingPriceId] = useState(null);\n const { mutateAsync: updateSubscriptionPlan } = useUpdateSubscribePlan();\n const { mutateAsync: previewUpdateSubscriptionPlan } = usePreviewUpdateSubscriptionPlan();\n const [previewData, setPreviewData] = useState(null);\n\n const [showUpdatePreview, setShowUpdatePreview] = useState(false);\n const [selectedPlan, setSelectedPlan] = useState(null);\n\n // 修改预览方法\n const handlePreviewUpdate = async (priceId: string) => {\n setLoadingPriceId(priceId);\n try {\n previewUpdateSubscriptionPlan(priceId).then((result) => {\n setPreviewData(result.data);\n setShowUpdatePreview(true);\n setLoadingPriceId(null);\n });\n } catch (error) {\n console.error(\"Failed to preview update:\", error);\n setLoadingPriceId(null);\n }\n };\n\n const { user } = useMyAuthService();\n const { formatMessage } = useIntl();\n\n const openCheckout = async (priceId: string, planId: string) => {\n if (paddle) {\n setLoadingPriceId(priceId);\n try {\n paddle.Checkout.open({\n customer: {\n email: user.email,\n },\n items: [{ priceId, quantity: 1 }],\n settings: {\n successUrl: `${window.location.origin}${RoutePaths.App}/${RoutePaths.Subscription}/${RoutePaths.Usage}`,\n },\n customData: {\n userId: user.userId,\n planId: planId,\n },\n });\n } finally {\n setTimeout(() => {\n setLoadingPriceId(null);\n }, 5000);\n }\n }\n };\n\n if (!prices || prices.length === 0 || !plans) {\n return ;\n }\n\n return (\n <>\n {\n setShowUpdatePreview(false);\n setPreviewData(null);\n }}\n errorMessage={errorMessage}\n updateLoading={updateLoading}\n onConfirm={() => {\n // 处理确认逻辑\n toggleUpdateLoading(true);\n updateSubscriptionPlan(\n currentBillingCycle === \"year\" ? selectedPlan.yearlyPriceId : selectedPlan.monthlyPriceId\n )\n .then((item) => {\n if (item.data) {\n setTimeout(() => {\n setShowUpdatePreview(false);\n setPreviewData(null);\n push(\"../usage\");\n window.location.reload();\n }, 5000);\n }\n })\n .catch((error) => {\n toggleUpdateLoading(false);\n try {\n const jsonStr = error.message.substring(error.message.indexOf(\"{\"), error.message.lastIndexOf(\"}\") + 1);\n const paddleError = JSON.parse(jsonStr);\n if (paddleError.error.code === \"subscription_payment_declined\") {\n setErrorMessage(\n
    \n
    \n \n \n \n
    \n
    \n

    \n {formatMessage({\n id: `plan.update.error.${paddleError.error.code}`,\n })}\n

    \n
    \n window.open(updatePaymentMethodUrl, \"_blank\")}\n className=\"flex-shrink-0 inline-flex items-center gap-2 px-3 py-1.5 text-sm font-medium text-red-700 bg-red-100 rounded-md hover:bg-red-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500\"\n >\n \n \n \n {formatMessage({ id: \"billing.payment.update.button\" })}\n \n
    \n );\n } else {\n setErrorMessage(paddleError.error.detail);\n }\n } catch (e) {\n setErrorMessage(error.message);\n }\n });\n }}\n currentPlan={{\n name: formatMessage({ id: currentPlan?.name }),\n price:\n prices.find(\n (item) =>\n item.price.id ===\n (subscription.billingCycle === \"year\" ? currentPlan?.yearlyPriceId : currentPlan?.monthlyPriceId)\n )?.formattedTotals.total ?? \"0\",\n billingCycle: subscription.billingCycle ?? \"year\",\n }}\n newPlan={{\n name: selectedPlan ? formatMessage({ id: selectedPlan?.name }) : \"\",\n price:\n currentBillingCycle === \"year\"\n ? prices.find((item) => item.price.id === selectedPlan?.yearlyPriceId)?.formattedTotals.total ?? \"0\"\n : prices.find((item) => item.price.id === selectedPlan?.monthlyPriceId)?.formattedTotals.total ?? \"0\",\n billingCycle: currentBillingCycle,\n }}\n preview={previewData}\n />\n {prices.length > 0 ? (\n
    \n {/* 计费周期选择器 */}\n
    \n

    \n {formatMessage({\n id: \"plan.subscribe.billingCycle.monthly\",\n })}\n

    \n
    \n {\n setCurrentBillingCycle((pre) => (pre === \"year\" ? \"month\" : \"year\"));\n }}\n />\n }\n >\n {formatMessage({ id: \"plan.subscribe.billingCycle.yearly.tooltip\" })}\n \n
    \n

    \n {formatMessage({\n id: \"plan.subscribe.billingCycle.yearly\",\n })}\n

    \n
    \n\n {/* 计划卡片网格 */}\n
    \n {plans.map((plan) => (\n \n {plan.planId === currentPlan?.planId && (\n
    \n {formatMessage({ id: \"plan.subscribe.current\" })}\n
    \n )}\n
    \n {/* 计划标题和价格 */}\n
    \n

    {formatMessage({ id: plan.name })}

    \n
    \n \n {currentBillingCycle === \"year\"\n ? prices.find((item) => item.price.id === plan.yearlyPriceId)?.formattedTotals.total ?? 0\n : prices.find((item) => item.price.id === plan.monthlyPriceId)?.formattedTotals.total ?? 0}\n \n {isNotBlank(plan.monthlyPriceId) && (\n
    \n \n {formatMessage(\n { id: \"plan.billing.per\" },\n { cycle: formatMessage({ id: `time.${currentBillingCycle}` }) }\n )}\n \n {currentBillingCycle === \"year\" && (\n

    \n {formatMessage({ id: \"plan.subscribe.yearly.discount\" })}\n

    \n )}\n
    \n )}\n
    \n
    \n\n {/* 计划描述 */}\n

    \n {formatMessage({ id: plan.description })}\n

    \n\n {/* 特性列表 */}\n
      \n {Object.entries(plan.features)\n .filter(([key]) => key !== \"optimizations\")\n .sort(([, a], [, b]) => (a.sort || 0) - (b.sort || 0))\n .map(([key, feature]) => (\n
    • \n {feature.enabled ? (\n \n \n \n ) : (\n \n )}\n \n {formatMessage({ id: feature.nameKey })}\n {feature.threshold && (\n {feature.threshold}\n )}\n \n
    • \n ))}\n
    \n\n {/* 操作按钮 */}\n {(currentPlan?.sort ?? 1) <= plan.sort && (\n {\n if (isBlank(plan.monthlyPriceId)) {\n return;\n }\n if (isFree) {\n openCheckout(\n currentBillingCycle === \"year\" ? plan.yearlyPriceId : plan.monthlyPriceId,\n plan.planId\n );\n } else {\n setSelectedPlan(plan);\n handlePreviewUpdate(\n currentBillingCycle === \"year\" ? plan.yearlyPriceId : plan.monthlyPriceId\n );\n }\n }}\n >\n {loadingPriceId ===\n (currentBillingCycle === \"year\" ? plan.yearlyPriceId : plan.monthlyPriceId) ? (\n \n \n \n \n ) : (\n formatMessage({\n id: `${\n (isFree && plan.name === \"plan.free.name\") ||\n (currentBillingCycle === subscription.billingCycle && plan.planId === currentPlan?.planId)\n ? \"plan.subscribe.current\"\n : \"plan.subscribe.upgrade\"\n }`,\n })\n )}\n \n )}\n
    \n
    \n ))}\n
    \n \n ) : (\n \n )}\n \n );\n};\n","import React, { useState } from \"react\";\nimport { FormattedMessage } from \"react-intl\";\nimport { Accordion, AccordionDetails, AccordionSummary } from \"@mui/material\";\nimport { RiArrowDownSLine } from \"@remixicon/react\";\n\nexport const PricingFAQ: React.FC = () => {\n const [expanded, setExpanded] = useState(false);\n\n const handleChange = (panel: string, isExpanded: boolean) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const faqItems = [\n {\n question: \"pricing.faq.query.optimization.extras\",\n answer: \"pricing.faq.query.optimization.extras.answer\",\n },\n {\n question: \"pricing.faq.optimization.credit\",\n answer: \"pricing.faq.optimization.credit.answer\",\n },\n {\n question: \"pricing.faq.credits.carryover\",\n answer: \"pricing.faq.credits.carryover.answer\",\n },\n {\n question: \"pricing.faq.pay.optimize\",\n answer: \"pricing.faq.pay.optimize.answer\",\n },\n {\n question: \"pricing.faq.pricing.work\",\n answer: \"pricing.faq.pricing.work.answer\",\n },\n {\n question: \"pricing.faq.pay.monthly\",\n answer: \"pricing.faq.pay.monthly.answer\",\n },\n {\n question: \"pricing.faq.payment.methods\",\n answer: \"pricing.faq.payment.methods.answer\",\n },\n {\n question: \"pricing.faq.change.cancel\",\n answer: \"pricing.faq.change.cancel.answer\",\n },\n {\n question: \"pricing.faq.upgrade.refund\",\n answer: \"pricing.faq.upgrade.refund.answer\",\n },\n {\n question: \"pricing.faq.vat.taxes\",\n answer: \"pricing.faq.vat.taxes.answer\",\n },\n {\n question: \"pricing.faq.custom.plans\",\n answer: \"pricing.faq.custom.plans.answer\",\n },\n ];\n\n return (\n
    \n

    \n \n

    \n\n {faqItems.map((item, index) => (\n {\n handleChange(`panel${index}`, isExpanded);\n }}\n className=\"m-0 !shadow-none !border-none !bg-transparent last:border-b-0 border-b border-gray-100\"\n >\n \n \n
    \n }\n aria-controls={`panel${index}bh-content`}\n id={`panel${index}bh-header`}\n className=\"p-6 py-6 min-h-0\"\n >\n
    \n \n
    \n \n \n
    \n \n
    \n
    \n \n ))}\n \n );\n};\n","import React from \"react\";\nimport { PlanUserSubscriptionRead, PricePlanRead, PaddleCustomerPortalResponse } from \"core/request/PawsqlClient\";\nimport { LineItem } from \"@paddle/paddle-js/types/price-preview/price-preview\";\nimport { Paddle } from \"@paddle/paddle-js\";\nimport { SubscriptionPlan } from \"./SubscriptionPlan\";\nimport { PricingFAQ } from \"./PricingFAQ\";\n\ninterface Props {\n subscription: PlanUserSubscriptionRead;\n plans: PricePlanRead[];\n paddle: Paddle | null;\n prices: LineItem[];\n paddlePortalSession: PaddleCustomerPortalResponse;\n}\n\nexport const SubscriptionPricing: React.FC = ({ subscription, plans, paddle, prices, paddlePortalSession }) => {\n return (\n
    \n \n \n
    \n );\n};\n","import React, { Suspense, useMemo, useState, useEffect } from \"react\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport styled from \"styled-components\";\nimport { initializePaddle, Paddle } from \"@paddle/paddle-js\";\n\nimport { LoadingPage, MainPageWithScroll, PageTitle } from \"components\";\nimport HeadTitle from \"components/HeadTitle\";\n\nimport SideMenu from \"components/SideMenu\";\nimport { FlexContainer, FlexItem } from \"components/ui/Flex\";\nimport { CategoryItem, SideMenuItem } from \"components/SideMenu/SideMenu\";\nimport { Navigate, Route, Routes, useLocation, useNavigate } from \"react-router-dom\";\n// import { useConfig } from \"config\";\nimport { SubscriptionOverview } from \"./components/SubscriptionOverview\";\nimport { SubscriptionPricing } from \"./components/SubscriptionPricing\";\nimport { useGetPaddleLink, useGetUserSubscription } from \"hooks/services/usePlanSubscriptionHook\";\nimport { useMyAuthService } from \"services/auth/MyAuthService\";\nimport { usePricingPlanList } from \"hooks/services/usePricingPlanHook\";\nimport { LineItem } from \"@paddle/paddle-js/types/price-preview/price-preview\";\nimport { mergeValidPriceDetails } from \"config/utils\";\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: flex-start;\n gap: 10px;\n`;\n\nexport const LeftFieldCol = styled.div`\n width: 470px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nexport type ConnectionFormMode = \"create\" | \"edit\" | \"readonly\";\n\nconst token = \"test_fac95a8e3ce4c932122f2a64ea2\";\n\nconst NewBillingPage: React.FC = () => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const onSelectMenuItem = (newPath: string) => navigate(newPath);\n const { pathname } = useLocation();\n\n const { user } = useMyAuthService();\n const { data: subscription } = useGetUserSubscription(user.userId);\n\n const { data: paddlePortalSession } = useGetPaddleLink(user.userId);\n\n const { data: plans } = usePricingPlanList({ status: 1, type: \"recurring\" });\n\n const currentPlan = plans.find((item) => item.planId === subscription.planId);\n const isFree = currentPlan?.name === \"plan.free.name\";\n\n const [paddle, setPaddle] = useState(null);\n const [prices, setPrices] = useState(mergeValidPriceDetails(plans) ?? []);\n\n useEffect(() => {\n setPrices(mergeValidPriceDetails(plans) ?? []);\n }, [plans]);\n\n useEffect(() => {\n // 初始化 Paddle SDK\n initializePaddle({\n environment: \"sandbox\", // 或 'production'\n token: token,\n })\n .then((paddleInstance) => {\n if (paddleInstance) {\n setPaddle(paddleInstance);\n }\n })\n .catch((error) => {\n console.error(\"Error initializing Paddle:\", error);\n });\n }, []);\n\n const data: CategoryItem[] = useMemo(() => {\n const categories = [\n {\n category: formatMessage({ id: \"pricing.page.user.subscription\" }),\n routes: [\n {\n path: \"overview\",\n name: formatMessage({ id: \"pricing.page.subscription.overview\" }),\n component: () => (\n <>\n \n \n ),\n },\n {\n path: \"pricing\",\n name: formatMessage({ id: \"pricing.page.subscription.pricing\" }),\n component: () => (\n <>\n \n \n ),\n },\n ],\n },\n ];\n\n return categories;\n }, [formatMessage, subscription, plans, paddle, prices, isFree]);\n\n return (\n }\n pageTitle={} />}\n >\n \n \n \n }>\n \n {data\n .flatMap((menuItem) => menuItem.routes)\n .filter(\n (menuItem): menuItem is SideMenuItem & { component: NonNullable } =>\n !!menuItem.component\n )\n .map(({ path, component: Component }) => (\n } />\n ))}\n\n } />\n \n \n \n \n \n );\n};\n\nexport default NewBillingPage;\n","import { RiCloseCircleFill } from \"@remixicon/react\";\nimport { useIntl } from \"react-intl\";\nimport { useState } from \"react\";\nimport { LoadingPage, Switch } from \"components\";\nimport { LineItem } from \"@paddle/paddle-js/types/price-preview/price-preview\";\nimport { isBlank, isNotBlank } from \"utils/common\";\nimport { PricePlanRead } from \"core/request/PawsqlClient\";\nimport useRouter from \"hooks/useRouter\";\nimport { RoutePaths } from \"pages/routePaths\";\n\ninterface Props {\n plans: PricePlanRead[];\n prices: LineItem[];\n}\nexport const SubscriptionPlanNotLogin: React.FC = ({ plans, prices }) => {\n const [currentBillingCycle, setCurrentBillingCycle] = useState(\"month\");\n const { push } = useRouter();\n\n const currentPlan = plans.find((item) => item.name === \"plan.free.name\");\n const { formatMessage } = useIntl();\n\n return (\n <>\n {prices.length > 0 ? (\n
    \n {/* 计费周期选择器 */}\n
    \n

    \n {formatMessage({\n id: \"plan.subscribe.billingCycle.monthly\",\n })}\n

    \n
    \n {\n setCurrentBillingCycle((pre) => (pre === \"year\" ? \"month\" : \"year\"));\n }}\n />\n
    \n

    \n {formatMessage({\n id: \"plan.subscribe.billingCycle.yearly\",\n })}\n

    \n
    \n\n {/* 计划卡片网格 */}\n
    \n {plans.map((plan) => (\n \n {plan.planId === currentPlan?.planId && (\n
    \n {formatMessage({ id: \"plan.subscribe.current\" })}\n
    \n )}\n
    \n {/* 计划标题和价格 */}\n
    \n

    {formatMessage({ id: plan.name })}

    \n
    \n \n {currentBillingCycle === \"year\"\n ? prices.find((item) => item.price.id === plan.yearlyPriceId)?.formattedTotals.total ?? 0\n : prices.find((item) => item.price.id === plan.monthlyPriceId)?.formattedTotals.total ?? 0}\n \n {isNotBlank(plan.monthlyPriceId) && (\n
    \n \n {formatMessage(\n { id: \"plan.billing.per\" },\n { cycle: formatMessage({ id: `time.${currentBillingCycle}` }) }\n )}\n \n {currentBillingCycle === \"year\" && (\n

    \n {formatMessage({ id: \"plan.subscribe.yearly.discount\" })}\n

    \n )}\n
    \n )}\n
    \n
    \n\n {/* 计划描述 */}\n

    \n {formatMessage({ id: plan.description })}\n

    \n\n {/* 特性列表 */}\n
      \n {Object.entries(plan.features)\n .filter(([key]) => key !== \"optimizations\")\n .sort(([, a], [, b]) => (a.sort ?? 0) - (b.sort ?? 0))\n .map(([key, feature]) => (\n
    • \n {feature.enabled ? (\n \n \n \n ) : (\n \n )}\n \n {formatMessage({ id: feature.nameKey })}\n {feature.threshold && (\n {feature.threshold}\n )}\n \n
    • \n ))}\n
    \n\n {/* 操作按钮 */}\n {(currentPlan?.sort ?? 1) <= plan.sort && (\n {\n if (isBlank(plan.monthlyPriceId)) {\n return;\n }\n push(RoutePaths.Login);\n }}\n >\n {formatMessage({\n id: `${plan.name === \"plan.free.name\" ? \"plan.subscribe.current\" : \"plan.subscribe.upgrade\"}`,\n })}\n \n )}\n
    \n
    \n ))}\n
    \n \n ) : (\n \n )}\n \n );\n};\n","import React, { useState, useEffect } from \"react\";\nimport styled from \"styled-components\";\nimport { initializePaddle } from \"@paddle/paddle-js\";\n\nimport { usePricingPlanList } from \"hooks/services/usePricingPlanHook\";\nimport { LineItem } from \"@paddle/paddle-js/types/price-preview/price-preview\";\nimport { SubscriptionPlanNotLogin } from \"./components/SubscriptionPlanNotLogin\";\nimport { PricingFAQ } from \"./components/PricingFAQ\";\nimport { StaticLayout } from \"pages/LandingPage/pages/LandingPage/components/StaticLayout\";\nimport HeadTitle from \"components/HeadTitle\";\nimport { LoadingPage } from \"components\";\nimport { useIntl } from \"react-intl\";\nimport { logos } from \"pages/LandingPage/pages/LandingPage/PawSQLLandingPage\";\nimport { CompanyBanner } from \"pages/LandingPage/pages/LandingPage/components/CompanyBanner\";\nimport { mergeValidPriceDetails } from \"config/utils\";\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: flex-start;\n gap: 10px;\n`;\n\nexport const LeftFieldCol = styled.div`\n width: 470px;\n`;\n\nexport const RightFieldCol = styled.div`\n width: 300px;\n`;\n\nexport type ConnectionFormMode = \"create\" | \"edit\" | \"readonly\";\n\nconst token = \"test_fac95a8e3ce4c932122f2a64ea2\";\n\nconst PricingPage: React.FC = () => {\n const { data: plans } = usePricingPlanList({ status: 1, type: \"recurring\" });\n const { formatMessage } = useIntl();\n\n const [prices, setPrices] = useState(mergeValidPriceDetails(plans) ?? []);\n\n useEffect(() => {\n setPrices(mergeValidPriceDetails(plans) ?? []);\n }, [plans]);\n\n useEffect(() => {\n // 初始化 Paddle SDK\n initializePaddle({\n environment: \"sandbox\", // 或 'production'\n token: token,\n }).catch((error) => {\n console.error(\"Error initializing Paddle:\", error);\n });\n }, []);\n\n if (!prices || prices.length === 0 || !plans) {\n return ;\n }\n\n return (\n }>\n
    \n \n
    \n

    \n \n \n {formatMessage({ id: \"landing.page.header.title\" })}\n \n \n {formatMessage({ id: \"landing.page.header.title\" })}\n

    \n

    \n \n \n {formatMessage({ id: \"landing.page.header.message\" })}\n \n \n {formatMessage({ id: \"landing.page.header.message\" })}\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n

    \n {formatMessage({ id: \"landing.page.start.message\" })}\n

    \n

    \n \n {logos.map((item) => {\n return

    {item}
    ;\n })}\n
    \n }\n />\n

    \n \n
    \n
    \n \n
    \n
    \n );\n};\n\nexport default PricingPage;\n","import React from \"react\";\nimport { Navigate, Route, Routes, useLocation } from \"react-router-dom\";\nimport { useEffectOnce } from \"react-use\";\nimport { WebSocketProvider } from \"WebSocketProvider\";\n\nimport { LoadingPage } from \"components\";\nimport ApiErrorBoundary from \"components/ApiErrorBoundary\";\n\nimport { OnboardingServiceProvider } from \"hooks/services/Onboarding\";\nimport { useGetConfig } from \"hooks/services/useConfigHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { MyAuthenticationProvider, useMyAuthService } from \"services/auth/MyAuthService\";\nimport { useUserService } from \"services/users/UsersService\";\nimport { storeUtmFromQuery } from \"utils/utmStorage\";\nimport { QueryDetailPage } from \"views/analyses/QueryDetailPage/QueryDetailPage\";\nimport { SlowQueryDetailPage } from \"views/analyses/SlowQueryDetailPage/SlowQueryDetailPage\";\nimport { Auth } from \"views/auth\";\nimport { RuleDetailPage } from \"views/docs\";\nimport WLDefinitionPage from \"views/docs/WLDefinitionPage\";\nimport WPDefinitionPage from \"views/docs/WPDefinitionPage\";\nimport MainView from \"views/layout/MainView\";\n\nimport CronConfigPage from \"./CronConfigPage\";\nimport ExplainPage from \"./ExpalinPage\";\nimport { NoLoggedExplainPage } from \"./ExpalinPage/NoLoggedExplainPage\";\nimport InstancesPage from \"./InstancesPage\";\nimport PptTablesPage from \"./PptTablesPage\";\nimport { RoutePaths } from \"./routePaths\";\nimport SettingsPage from \"./SettingsPage\";\nimport SlowQueryPage from \"./SlowQueryPage\";\n// import VariablesPage from \"./VariablesPage\";\nimport DbObjectPage from \"./DbObjectPage\";\nimport SelfHostPage from \"./SelfHostPage\";\nimport PptMainView from \"views/layout/MainView/PptMainView\";\nimport AnalysisPage from \"./AnalysisPage\";\nimport WorkspacesPage from \"./WorkspacesPage\";\nimport { PptConfigPage } from \"./ConfigPage/PptConfigPage\";\nimport { AppConfigPage } from \"./ConfigPage/AppConfigPage\";\nimport AllInstancesPage from \"./InstancesPage/pages/AllInstancesPage\";\nimport StatementExplainPage from \"./ExpalinPage/pages/StatementExplainPage\";\nimport SQLAuditsPage from \"./SQLAuditsPage\";\nimport { AuditConfigPage } from \"./ConfigPage/AuditConfigPage\";\nimport AuditMainView from \"views/layout/MainView/AuditMainView\";\nimport { InstanceProvider } from \"./InstancesPage/pages/AllInstancesPage/components/InstanceContext\";\nimport CreateAuditPage from \"./SQLAuditsPage/pages/CreatAuditPage\";\n// import SettingsPageOld from \"./SettingsPage/SettingsPageOld\";\nimport LandingPage from \"./LandingPage\";\nimport IntegrationPage from \"./IntegrationPage\";\nimport AllCloudConfigPage from \"cloud/pages/ConfigPage/AllCloudConfigPage\";\nimport { useGetLicense } from \"hooks/services/useUserHook\";\nimport { QuerySimpleDetailPage } from \"views/analyses/QuerySimpleDetailPage/QuerySimpleDetailPage\";\nimport { useConfig } from \"config\";\nimport TermsPage from \"views/auth/TermsPage/TermsPage\";\nimport PrivacyPage from \"views/auth/PrivacyPage/PrivacyPage\";\nimport NewBillingPage from \"cloud/views/billing/BillingPage/NewBillingPage\";\nimport PricingPage from \"cloud/views/billing/BillingPage/PricingPage\";\n\nconst MainViewRoutes: React.FC = () => {\n const { isOrgAdmin, isAdmin, isOrgCreator, isDemo, isOrgMember, isNormal, isBetaUser } = useMyAuthService();\n const { enablePlan } = useConfig();\n const { data: adminConfig } = useGetConfig();\n const { pathname } = useRouter();\n const { data: license } = useGetLicense();\n\n const urlParams = new URLSearchParams(window.location.search);\n const redirectPath = urlParams.get(\"from\");\n if (redirectPath) {\n // 如果存在重定向路径,那么跳转到该路径\n window.location.href = decodeURIComponent(redirectPath);\n }\n\n if (\n license &&\n license.authorizedProductCode.includes(\"ppt\") &&\n pathname.startsWith(RoutePaths.Ppt) &&\n (isAdmin || adminConfig.enablePpt || isBetaUser)\n ) {\n return (\n \n \n \n \n } />\n } />\n } />\n } />\n {/* } /> */}\n } />\n } />\n } />\n {enablePlan && (\n } />\n )}\n {(isAdmin || isBetaUser || adminConfig.enableExplain) && (\n } />\n )}\n {/* {(isOrgAdmin || isAdmin || isOrgCreator) && } />} */}\n } />\n } />\n \n \n \n \n );\n } else if (pathname.startsWith(RoutePaths.Audit)) {\n return (\n \n \n \n }\n />\n\n } />\n } />\n } />\n } />\n } />\n } />\n \n \n \n );\n } else {\n return (\n \n \n \n {isAdmin && } />}\n {enablePlan && (\n } />\n )}\n } />\n } />\n } />\n {(isAdmin || isBetaUser || adminConfig.enableExplain) && (\n } />\n )}\n } />\n {/* } /> */}\n {(isDemo || isNormal || isOrgMember || isOrgAdmin || isAdmin || isOrgCreator) && (\n } />\n )}\n \n \n \n );\n }\n};\n\nconst RoutingWithInstance: React.FC = () => {\n return (\n \n \n \n );\n};\n\nexport const AutoSelectFirstInstance: React.FC = () => {\n const location = useLocation();\n\n return (\n \n );\n};\n\nexport const CloudRouting: React.FC = () => {\n const inited = true;\n const { enablePlan } = useConfig();\n const location = useLocation();\n const { search } = location;\n const { isLogin, setIsLogin } = useUserService();\n const { pathname } = useRouter();\n useEffectOnce(() => {\n storeUtmFromQuery(search);\n });\n\n if (!inited) {\n return ;\n }\n\n if (pathname === \"/\") {\n return ;\n }\n\n if (\n pathname.startsWith(`${RoutePaths.Wechat}`) ||\n pathname.startsWith(`${RoutePaths.Docs}`) ||\n pathname.startsWith(`${RoutePaths.ProductSupport}`) ||\n pathname.startsWith(`${RoutePaths.Pricing}`) ||\n pathname.startsWith(`${RoutePaths.Statement}`) ||\n pathname.startsWith(`${RoutePaths.Query}`) ||\n pathname.startsWith(`${RoutePaths.SlowQuery}`) ||\n pathname.startsWith(`${RoutePaths.Ppv}`) ||\n pathname.startsWith(`${RoutePaths.Static}`) ||\n pathname.startsWith(`${RoutePaths.PrivacyPolicy}`) ||\n pathname.startsWith(`${RoutePaths.Terms}`)\n ) {\n return (\n \n } />\n } />\n } />\n {enablePlan && } />}\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n \n );\n }\n\n if (\n !isLogin ||\n pathname.startsWith(`${RoutePaths.ResetPassword}`) ||\n pathname.startsWith(`${RoutePaths.ResetPasswordAction}`)\n ) {\n return setIsLogin(true)} />;\n }\n\n return (\n <>\n {isLogin && (\n <>\n \n \n \n } />\n \n \n \n \n )}\n \n );\n};\n","import { useGetLicense } from \"hooks/services/useUserHook\";\nimport { useIntl } from \"react-intl\";\n\nexport default function License() {\n const { formatMessage } = useIntl();\n const { data: license } = useGetLicense();\n\n return (\n
    \n
    \n
    \n

    {formatMessage({ id: \"license.page.title\" })}

    \n

    \n {formatMessage({ id: \"license.page.authorizedProduct\" }, { authorizedProduct: license.authorizedProduct })}\n

    \n

    {formatMessage({ id: \"license.page.authorizer\" }, { authorizer: license.authorizer })}

    \n

    \n {formatMessage({ id: \"license.page.authorizedPerson\" }, { authorizedPerson: license.authorizedPerson })}\n

    \n

    \n {formatMessage(\n { id: \"license.page.authorizedPersonEmail\" },\n { authorizedPersonEmail: license.authorizedPersonEmail }\n )}\n

    \n

    {formatMessage({ id: \"license.page.macAddress\" }, { macAddress: license.macAddress })}

    \n

    \n {formatMessage(\n { id: \"license.page.authorizationExpirationDate\" },\n { authorizationExpirationDate: license.authorizationExpirationDate }\n )}\n

    \n

    \n {formatMessage({ id: \"license.page.authorizationTime\" }, { authorizationTime: license.authorizationTime })}\n

    \n

    \n {formatMessage({ id: \"license.page.token\" })}\n

    {license.token}

    \n

    \n

    \n {formatMessage(\n { id: \"license.page.notice\" },\n { email: support@pawsql.com }\n )}\n

    \n
    \n
    \n
    \n );\n}\n","import React, { Suspense } from \"react\";\nimport styled from \"styled-components\";\n\nimport { LoadingPage } from \"components\";\n\nimport License from \"./components/License\";\n\nconst Content = styled.div`\n margin: 0 32px 10px 27px;\n`;\nconst HomeLicensePage: React.FC = () => {\n return (\n }>\n \n \n \n \n );\n};\n\nexport default HomeLicensePage;\n","import { LicensePage } from \"./LicensePage\";\n\nexport default LicensePage;\n","import React, { Suspense } from \"react\";\nimport { Route, Routes } from \"react-router-dom\";\n\nimport { LoadingPage } from \"components\";\nimport HomeLicensePage from \"./pages/PricingPage/HomeLicensePage\";\n\nexport const LicensePage: React.FC = () => (\n }>\n \n } />\n \n \n);\n","import { StaticLayout } from \"pages/LandingPage/pages/LandingPage/components/StaticLayout\";\nimport License from \"./components/License\";\n\nexport const PawSQLLicensePage: React.FC = () => {\n return (\n \n \n \n );\n};\n","import React from \"react\";\nimport { Navigate, Route, Routes, useLocation } from \"react-router-dom\";\nimport { useEffectOnce } from \"react-use\";\nimport { WebSocketProvider } from \"WebSocketProvider\";\n\nimport { LoadingPage } from \"components\";\nimport ApiErrorBoundary from \"components/ApiErrorBoundary\";\n\nimport { OnboardingServiceProvider } from \"hooks/services/Onboarding\";\nimport { useGetConfig } from \"hooks/services/useConfigHook\";\nimport useRouter from \"hooks/useRouter\";\nimport { MyAuthenticationProvider, useMyAuthService } from \"services/auth/MyAuthService\";\nimport { useUserService } from \"services/users/UsersService\";\nimport { storeUtmFromQuery } from \"utils/utmStorage\";\nimport { QueryDetailPage } from \"views/analyses/QueryDetailPage/QueryDetailPage\";\nimport { SlowQueryDetailPage } from \"views/analyses/SlowQueryDetailPage/SlowQueryDetailPage\";\nimport { Auth } from \"views/auth\";\nimport { RuleDetailPage } from \"views/docs\";\nimport WLDefinitionPage from \"views/docs/WLDefinitionPage\";\nimport WPDefinitionPage from \"views/docs/WPDefinitionPage\";\nimport MainView from \"views/layout/MainView\";\n\nimport CronConfigPage from \"./CronConfigPage\";\nimport ExplainPage from \"./ExpalinPage\";\nimport { NoLoggedExplainPage } from \"./ExpalinPage/NoLoggedExplainPage\";\nimport InstancesPage from \"./InstancesPage\";\nimport PptTablesPage from \"./PptTablesPage\";\nimport { RoutePaths } from \"./routePaths\";\nimport SettingsPage from \"./SettingsPage\";\nimport SlowQueryPage from \"./SlowQueryPage\";\nimport DbObjectPage from \"./DbObjectPage\";\nimport PptMainView from \"views/layout/MainView/PptMainView\";\nimport AnalysisPage from \"./AnalysisPage\";\nimport WorkspacesPage from \"./WorkspacesPage\";\nimport { PptConfigPage } from \"./ConfigPage/PptConfigPage\";\nimport { AppConfigPage } from \"./ConfigPage/AppConfigPage\";\nimport AllInstancesPage from \"./InstancesPage/pages/AllInstancesPage\";\nimport LicensePage from \"./LicensePage\";\nimport { PawSQLLicensePage } from \"./LicensePage/pages/PricingPage/PawSQLLicensePage\";\nimport StatementExplainPage from \"./ExpalinPage/pages/StatementExplainPage\";\nimport { InstanceProvider } from \"./InstancesPage/pages/AllInstancesPage/components/InstanceContext\";\nimport { useGetLicense } from \"hooks/services/useUserHook\";\nimport { QuerySimpleDetailPage } from \"views/analyses/QuerySimpleDetailPage/QuerySimpleDetailPage\";\nimport PrivacyPage from \"views/auth/PrivacyPage/PrivacyPage\";\nimport TermsPage from \"views/auth/TermsPage/TermsPage\";\n\nconst MainViewRoutes: React.FC = () => {\n const { isOrgAdmin, isAdmin, isOrgCreator, isDemo, isOrgMember, isNormal, isBetaUser } = useMyAuthService();\n const { data: adminConfig } = useGetConfig();\n const { pathname } = useRouter();\n const { data: license } = useGetLicense();\n\n if (\n license &&\n license.authorizedProductCode.includes(\"ppt\") &&\n pathname.startsWith(RoutePaths.Ppt) &&\n (isAdmin || adminConfig.enablePpt || isBetaUser)\n ) {\n return (\n \n \n \n \n } />\n } />\n\n {/* } /> */}\n } />\n } />\n {/* } /> */}\n } />\n } />\n } />\n {(isAdmin || isBetaUser || adminConfig.enableExplain) && (\n } />\n )}\n {/* {(isOrgAdmin || isAdmin || isOrgCreator) && } />} */}\n } />\n } />\n } />\n \n \n \n \n );\n } else {\n return (\n \n \n \n } />\n } />\n } />\n {(isAdmin || isBetaUser || adminConfig.enableExplain) && (\n } />\n )}\n } />\n {/* } /> */}\n {(isDemo || isNormal || isOrgMember || isOrgAdmin || isAdmin || isOrgCreator) && (\n } />\n )}\n } />\n \n \n \n );\n }\n};\n\nconst RoutingWithInstance: React.FC = () => {\n return (\n \n \n \n );\n};\n\nexport const AutoSelectFirstInstance: React.FC = () => {\n const location = useLocation();\n\n return (\n \n );\n};\n\nexport const InternalRouting: React.FC = () => {\n const inited = true;\n\n const location = useLocation();\n const { search } = location;\n const { isLogin, setIsLogin } = useUserService();\n const { pathname } = useRouter();\n\n useEffectOnce(() => {\n storeUtmFromQuery(search);\n });\n\n if (!inited) {\n return ;\n }\n\n // if (pathname === \"/\") {\n // return ;\n // }\n\n if (\n pathname.startsWith(`${RoutePaths.License}`) ||\n pathname.startsWith(`${RoutePaths.Docs}`) ||\n pathname.startsWith(`${RoutePaths.Statement}`) ||\n pathname.startsWith(`${RoutePaths.Query}`) ||\n pathname.startsWith(`${RoutePaths.SlowQuery}`) ||\n pathname.startsWith(`${RoutePaths.Ppv}`) ||\n pathname.startsWith(`${RoutePaths.Static}`) ||\n pathname.startsWith(`${RoutePaths.PrivacyPolicy}`) ||\n pathname.startsWith(`${RoutePaths.Terms}`)\n ) {\n return (\n \n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n \n );\n }\n\n if (\n !isLogin ||\n pathname.startsWith(`${RoutePaths.ResetPassword}`) ||\n pathname.startsWith(`${RoutePaths.ResetPasswordAction}`)\n ) {\n return setIsLogin(true)} />;\n }\n\n return (\n <>\n {isLogin && (\n <>\n \n \n \n {/* } /> */}\n } />\n \n \n \n \n )}\n \n );\n};\n","import { useConfig } from \"config\";\nimport { CloudRouting } from \"./routescloud\";\nimport { InternalRouting } from \"./routesinternal\";\n\nexport const Routing: React.FC = () => {\n const { isInternal } = useConfig();\n return isInternal ? : ;\n};\n","import React, { Suspense, useState } from \"react\";\nimport { BrowserRouter as Router } from \"react-router-dom\";\nimport { ThemeProvider } from \"styled-components\";\n\nimport { ApiServices } from \"core/ApiServices\";\nimport { I18nProvider } from \"core/i18n\";\nimport { ServicesProvider } from \"core/servicesProvider\";\nimport { ConfirmationModalService } from \"hooks/services/ConfirmationModal\";\nimport { FeatureService } from \"hooks/services/Feature\";\nimport { FormChangeTrackerService } from \"hooks/services/FormChangeTracker\";\nimport { ModalServiceProvider } from \"hooks/services/Modal\";\nimport { NotificationService } from \"hooks/services/NotificationOld\";\nimport { UserServiceProvider } from \"services/users/UsersService\";\nimport { isDefined } from \"utils/common\";\nimport { AnalyticsProvider } from \"views/common/AnalyticsProvider\";\nimport { StoreProvider } from \"views/common/StoreProvider\";\n\nimport ApiErrorBoundary from \"./components/ApiErrorBoundary\";\nimport LoadingPage from \"./components/LoadingPage\";\nimport {\n Config,\n ConfigServiceProvider,\n defaultConfig,\n envConfigProvider,\n ValueProvider,\n windowConfigProvider,\n} from \"./config\";\nimport GlobalStyle from \"./global-styles\";\nimport en from \"./locales/en.json\";\nimport zh from \"./locales/zh_CN.json\";\nimport { WorkspaceServiceProvider } from \"./services/workspace/WorkspacesService\";\nimport { theme } from \"./theme\";\nimport \"./styles.css\";\nimport WeChatQRModal from \"components/WeChatQRModal\";\nimport { Routing } from \"pages/routes\";\n// import { InternalRouting } from \"pages/routesinternal\";\n\nconst StyleProvider: React.FC = ({ children }) => (\n \n \n {children}\n \n);\n\nconst configProviders: ValueProvider = [envConfigProvider, windowConfigProvider];\n\nconst Services: React.FC = ({ children }) => (\n \n \n \n \n \n \n \n \n \n {children}\n \n \n \n \n \n \n \n \n \n);\n\nconst App: React.FC = () => {\n const userLang = navigator.language;\n const isEn = userLang === \"en\";\n\n const [locale, setLocale] = useState(\n isDefined(localStorage.getItem(\"locale\")) ? localStorage.getItem(\"locale\") : isEn ? \"en\" : \"zh\"\n );\n const onChangeLocale = () => {\n setLocale(localStorage.getItem(\"locale\") && localStorage.getItem(\"locale\") === \"zh\" ? \"en\" : \"zh\");\n localStorage.setItem(\n \"locale\",\n localStorage.getItem(\"locale\") && localStorage.getItem(\"locale\") === \"zh\" ? \"en\" : \"zh\"\n );\n };\n\n return (\n \n \n \n \n \n }>\n \n \n \n \n {/* */}\n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default App;\n"],"names":["FeatureItem","isDefined","a","undefined","isNotBlank","isBlank","BASE_DOCS_LINK","BASE_GUIDES_LINK","window","GUIDES_URL","links","technicalSupport","termsLink","location","protocol","host","privacyLink","helpLink","gitLink","updateLink","productReleaseStages","slackLink","twitterLink","emailLink","email","supportTicketLink","pricingLink","docsLink","locale","selfHostLink","guidesLink","configurationArchiveLink","normalizationLink","namespaceLink","statusLink","recipesLink","demoLink","contactSales","webpageLink","cronReferenceLink","airwallexLink","prcingDescription","features","id","AllowUploadCustomImage","AllowCustomDBT","AllowCreateConnection","AllowSync","AllowCreateAnalysis","defaultConfig","segment","enabled","token","healthCheckInterval","version","apiUrl","API_URL","pawsqlIps","PAWSQL_IPS","integrationUrl","oauthRedirectUrl","isInternal","IS_INTERNAL","enablePlan","ENABLE_PLAN","isDemo","windowConfigProvider","TRACKING_STRATEGY","SEGMENT_TOKEN","PAWSQL_VERSION","IS_DEMO","cloud","CLOUD","envConfigProvider","process","REACT_APP_API_URL","REACT_APP_INTEGRATION_DOCS_URLS","REACT_APP_SEGMENT_TOKEN","applyProviders","defaultValue","providers","value","provider","partialConfig","merge","getTextColor","props","wasActive","danger","theme","dangerColor","primaryColor","secondary","iconOnly","darkGreyColor","whiteColor","styled","full","greyColor30","getBorderColor","size","getPadding","getFontSize","clickable","primaryColor12","getBackgroundColor","getDisabledOpacity","greyColor40","getDisabledTextColor","getShadowOnHover","greyColor20","textColor","SpinAnimation","keyframes","SymbolSpinner","FontAwesomeIcon","ButtonView","Button","dangerColor25","primaryColor25","Invisible","isLoading","icon","faCircleNotch","children","style","fontSize","height","Card","widthPer","cardShadowColor","$withPadding","CheckBoxInput","CheckBoxContainer","checked","indeterminate","onClick","event","stopPropagation","className","type","faMinus","faCheck","Text","fullText","regularFont","primary","setColor","OptionView","isSelected","greyColor0","dataTestId","data","testId","includes","label","c","isMulti","isDisabled","onChange","selectOption","img","equal","o1","o2","isEqual","naturalComparator","b","localeCompare","numeric","naturalComparatorBy","keyF","Arrow","faSortDown","Menu","components","ItemView","Icon","SingleValue","React","CustomSelect","Select","$withBorder","$error","SelectContainer","wrapperProps","selectProps","role","innerProps","Object","assign","DropDown","ref","propsComponents","DropdownIndicator","Option","IndicatorSeparator","MultiValueRemove","currentValue","options","filter","op","find","o","styles","menuPortal","base","menuPortalProps","zIndex","name","error","classNamePrefix","menuPortalTarget","document","body","placeholder","isSearchable","closeMenuOnSelect","hideSelectedOptions","dataItem","InputContainer","greyColor10","light","disabled","InputComponent","isPassword","greyColor55","VisibilityButton","Input","defaultFocus","formatMessage","useIntl","inputRef","useRef","useToggle","isContentVisible","setIsContentVisible","focused","toggleFocused","isVisibilityButtonVisible","onInputFocusChange","useEffect","current","focus","onFocus","onBlur","faEyeSlash","faEye","fixedWidth","Multiselect","ReactMultiselect","showScroll","mediumPrimaryColor","Tag","Delete","item","onDeleteTag","MainContainer","InputElement","TagInput","inputProps","onEnter","onDelete","validationRegex","onError","addOnBlur","inputElement","useState","selectedElementId","setSelectedElementId","currentInputValue","setCurrentInputValue","onAddValue","match","inputPlaceholder","length","map","key","autoComplete","onKeyDown","keyCode","preventDefault","nextId","target","Switch","loading","small","labelStyle","classnames","spanStyle","TextArea","lineHeight","H1","h1","bold","center","parentColor","highlighted","redColor","H2","attrs","as","H3","H5","h5","H6","Content","EditorHeader","itemsCount","onAddItem","mainTitle","addButtonText","mode","values","count","DeleteButton","EditorRow","onEdit","onRemove","buttonLabel","faTimes","ItemsList","ButtonContainer","SmallButton","ArrayOfObjectsEditor","onStartEdit","onDone","onCancelEdit","items","editableItemIndex","Title","darkPrimaryColor","shadowColor","title","loader","paths","vs","RoutePaths","width","viewBox","fill","xmlns","d","IconContainer","IconDefaultContainer","getIcon","startsWith","alt","src","encodeURIComponent","brightColor","additionLength","MessageText","success","successColor","message","nextLine","ControlContainer","ControlLabels","labelAdditionLength","LabeledSwitch","checkbox","classNames","htmlFor","Link","ReactLink","$light","$clear","SpinnerWheel","BreakRec","backgroundColor","Container","useTheme","Footer","config","useConfig","Date","getFullYear","rel","href","headTitle","pageTitle","fadeIn","Overlay","onClose","clear","closeOnBackground","handleUserKeyPress","useCallback","closeModal","addEventListener","removeEventListener","createPortal","withLine","MiddleBlock","MiddleTitleBlock","EndBlock","TitleBlock","middleComponent","middleTitleBlock","endComponent","Row","Header","Cell","flex","lighter","greyColor60","ellipsis","MoonIcon","fillRule","clipRule","spinAnimation","SpinnerSVG","x1","y1","x2","y2","spreadMethod","gradientUnits","gradientTransform","offset","stopColor","_iconByStatus","sleep","faBan","warning","faExclamationTriangle","_themeByStatus","inactive","big","getBadgeWidth","Badge","status","Value","valueElement","faClose","allowedAttributes","sanitizeHtml","text","sanitizedHtmlText","transformTags","dangerouslySetInnerHTML","__html","GrowAnimation","fadeInAnimation","Bar","Progress","runTime","delay","animationRunTime","blue50","scss","blue100","blue200","blue300","blue400","blue500","blue600","blue700","blue800","blue900","blue","blueTransparent","darkBlue50","darkBlue100","darkBlue200","darkBlue300","darkBlue400","darkBlue500","darkBlue600","darkBlue700","darkBlue800","darkBlue900","darkBlue","grey30","grey50","grey100","grey200","grey300","grey400","grey500","grey600","grey700","grey800","grey900","grey","orange50","orange100","orange200","orange300","orange400","orange500","orange600","orange700","orange800","orange900","orange","green50","green100","green200","green300","green400","green500","green600","green700","green800","green900","green","red50","red100","red200","red300","red400","red500","red600","red700","red800","red900","red","beige50","beige100","beige","black","white","yellow50","yellow100","yellow200","yellow300","yellow400","yellow500","yellow600","yellow700","yellow800","yellow900","yellow","mediumPrimaryColor20","darkPrimaryColor60","brightPrimaryColor","lightPrimaryColor","warningColor","warningBackgroundColor","lightDangerColor","dangerTransparentColor","successColor20","lightTextColor","textColor90","darkBlue90","greyColor70","blackColor","beigeColor","darkBeigeColor","borderTableColor","lightTableColor","lightRedColor","redTransparentColor","transparentColor","highlightFont","codeFont","italicFont","GAIcon","color","CommonRequestError","response","msg","statusText","__type","_status","this","Error","ServerError","VersionError","getRequestBody","stringifiedData","JSON","stringify","apiOverride","url","method","params","headers","responseType","signal","requestUrl","replace","middlewares","middleware","jwtToken","localStorage","getItem","Authorization","fetch","URLSearchParams","parseResponse","removeItem","currentPath","pathname","loginPath","loginUrl","console","log","history","back","get","blob","json","resultJsonResponse","DestinationSyncMode","SyncMode","NamespaceDefinitionType","EntityStatus","ReleaseStage","manualCollect","collectRequestBody","createAudit","auditCreate","Accept","checkOperation","operatorConfiguration","checkDBConnection","request","createWithoutSignup","Stage","$small","ReleaseStageBadge","stage","MainComponent","Details","EntityIcon","ConnectionName","InstanceDetails","InstanceName","connectionName","instanceName","releaseStage","ConfigContext","configService","useContext","useMemo","NormalizationType","ConfigServiceInner","useAsync","Provider","ConfigServiceProvider","Status","PawsqlRequestService","rootUrl","path","requestOptions","preparedOptions","OperationService","rs","DestinationDefinitionService","destinationDefinitionId","destinationDefinitionIdRequestBody","destinationDefinitionUpdate","destinationDefinitionCreate","SourceDefinitionService","sourceDefinitionId","sourceDefinitionIdRequestBody","sourceDefinitionUpdate","sourceDefinitionCreate","DeploymentService","URL","createObjectURL","file","pawsqlArchive","HealthService","ServicesProviderContext","ServicesProvider","inject","useMap","registeredServices","remove","set","ctxValue","register","getService","serviceType","unregister","useInjectServices","serviceInject","useServicesProvider","entries","forEach","service","keys","diService","useGetService","serviceToken","ApiServices","i18nContext","setMessageOverwrite","changeLocal","useI18nContext","I18nProvider","messages","overwrittenMessages","setOvewrittenMessages","i18nOverwriteContext","mergedMessages","defaultRichTextElements","chunk","ErrorIcon","ExclamationLight","faExclamation","SlideUpAnimation","Singleton","hasError","CloseButton","reducer","initialState","actions","useReducer","state","dispatch","boundActions","newActions","reduce","action","actionCreator","dispatcher","apply","arguments","addNotification","createAction","deleteNotificationById","clearAll","notifications","notificationServiceReducer","createReducer","handleAction","notification","n","findNotification","payload","concat","notificationId","removeNotification","_","notificationServiceContext","NotificationService","useTypesafeReducer","notificationService","firstNotification","isError","nonClosable","useNotificationService","dependencies","registerNotification","unregisterNotificationById","unregisterAllNotifications","setIsLoading","showFeedback","setShowFeedback","errorNotificationId","errorNotification","startAction","feedbackAction","setTimeout","ButtonContent","ButtonWithMargin","ConfirmationModal","onSubmit","submitButtonText","submitButtonDataId","cancelButtonText","useLoadingState","openConfirmationModal","closeConfirmationModal","isOpen","confirmationModal","confirmationModalServiceReducer","ConfirmationModalServiceContext","useConfirmationModalService","confirmationModalService","ConfirmationModalService","featureServiceContext","FeatureService","additionFeatures","setAdditionFeatures","instanceWideFeatures","featureMethods","registerFeature","newFeatures","oldFeatures","unregisterFeature","unregisteredFeatures","feature","featureService","hasFeature","featureId","useFeatureService","useChangedFormsById","createGlobalState","useUniqueFormId","formId","uniqueId","useFormChangeTrackerService","changedFormsById","setChangedFormsById","clearAllFormChanges","clearFormChange","trackFormChange","changed","Boolean","FormChangeTrackerService","blocker","block","navigator","NavigationContext","unblock","tx","autoUnblockingTx","retry","useBlocker","some","formChanged","Box","classNameProp","toClassName","FlexContainer","direction","gap","alignItems","justifyContent","otherProps","fullClassName","FlexItem","grow","alignSelf","sizes","sm","md","lg","xl","colors","Heading","centered","inverseColor","remainingProps","getHeadingClassNames","displayName","_extends","i","source","prototype","hasOwnProperty","call","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_ref2","SvgArrowLeftIcon","_ref","svgRef","titleId","ForwardRef","SvgArrowRightIcon","SvgArticleIcon","SvgCalendarIcon","SvgCheckIcon","SvgChevronDownIcon","SvgChevronLeftIcon","SvgChevronRightIcon","SvgChevronUpIcon","SvgClockIcon","SvgClockOutlineIcon","SvgCopyIcon","_ref3","SvgCreditsIcon","SvgCrossIcon","SvgDayIcon","SvgDestinationIcon","SvgDisabledIcon","SvgDocsIcon","SvgDownloadIcon","clipPath","SvgDuplicateIcon","SvgEarthIcon","SvgErrorIcon","SvgExpandIcon","SvgEyeIcon","SvgFileIcon","SvgFlashIcon","SvgFolderIcon","SvgGAIcon","SvgGearIcon","SvgGlobeIcon","SvgGridIcon","SvgImportIcon","SvgInfoIcon","SvgLensIcon","SvgLocationIcon","SvgLockedIcon","SvgMinusIcon","SvgModificationIcon","SvgMoonIcon","SvgMoveHandleIcon","SvgNestedIcon","SvgNoteIcon","SvgNotificationIcon","SvgOptionsIcon","SvgParametersIcon","SvgPauseIcon","SvgPauseOutlineIcon","SvgPencilIcon","SvgPlayIcon","SvgPlusIcon","SvgPodcastIcon","SvgPrefixIcon","SvgReduceIcon","SvgResetIcon","SvgRotateIcon","SvgShareIcon","SvgShrinkIcon","SvgSleepIcon","SvgSourceIcon","SvgStarIcon","SvgStopIcon","SvgStopOutlineIcon","SvgSuccessIcon","SvgSuccessOutlineIcon","SvgSyncIcon","SvgTargetIcon","SvgTrashIcon","SvgUnlockedIcon","SvgUserIcon","SvgWarningIcon","SvgWarningOutlineIcon","colorMap","affordance","sizeMap","xs","Icons","arrowLeft","ArrowLeftIcon","arrowRight","ArrowRightIcon","article","ArticleIcon","calendar","CalendarIcon","check","CheckIcon","chevronDown","ChevronDownIcon","chevronLeft","ChevronLeftIcon","chevronRight","ChevronRightIcon","chevronUp","ChevronUpIcon","clock","ClockIcon","clockOutline","ClockOutlineIcon","copy","CopyIcon","credits","CreditsIcon","cross","CrossIcon","day","DayIcon","destination","DestinationIcon","DisabledIcon","docs","DocsIcon","download","DownloadIcon","duplicate","DuplicateIcon","earth","EarthIcon","eye","EyeIcon","expand","ExpandIcon","FileIcon","flash","FlashIcon","folder","FolderIcon","gA","gear","GearIcon","globe","GlobeIcon","grid","GridIcon","import","ImportIcon","info","InfoIcon","lens","LensIcon","LocationIcon","locked","LockedIcon","minus","MinusIcon","modification","ModificationIcon","moon","moveHandle","MoveHandleIcon","nested","NestedIcon","note","NoteIcon","NotificationIcon","OptionsIcon","parameters","ParametersIcon","pause","PauseIcon","pauseOutline","PauseOutlineIcon","pencil","PencilIcon","play","PlayIcon","plus","PlusIcon","podcast","PodcastIcon","prefix","PrefixIcon","ReduceIcon","reset","ResetIcon","rotate","RotateIcon","share","ShareIcon","shrink","ShrinkIcon","SleepIcon","SourceIcon","star","StarIcon","stop","StopIcon","stopOutline","StopOutlineIcon","SuccessIcon","successOutline","SuccessOutlineIcon","sync","SyncIcon","TargetIcon","trash","TrashIcon","unlocked","UnlockedIcon","user","UserIcon","WarningIcon","warningOutline","WarningOutlineIcon","withBackground","classes","variant","cardStyleBySize","Modal","cardless","wrapIn","setIsOpen","onModalClose","Wrapper","open","p","modalServiceContext","ModalServiceProvider","modalOptions","setModalOptions","resultSubjectRef","openModal","Subject","firstValueFrom","then","reason","next","preventCancel","content","onCancel","UserService","loginRequestBody","resetPasswordRequestBody","resetPasswordActionRequestBody","updatePasswordRequestBody","updateNameRequestBody","updateCompanyNameRequestBody","requestBody","userId","logoutUser","emailSendRead","emailTaskCreate","userIdRequestBody","useParams","useLocation","navigate","useNavigate","query","queryString","search","push","useSuspenseQuery","queryKey","queryFn","useQuery","suspense","SCOPE_USER","useDefaultRequestMiddlewares","useInitService","f","deps","userKeys","all","lists","listOrgs","list","filters","currentUser","detail","UserServiceContext","UserServiceProvider","isLogin","setIsLogin","logout","ctx","useUserService","userService","useUserApiService","useCurrentUser","useGetUser","useLoginUser","useMutation","userInfo","login","AnalyticsService","context","getSegmentAnalytics","analytics","alias","newId","page","track","properties","pawsql_version","environment","identify","traits","group","organisationId","analyticsServiceContext","AnalyticsServiceProvider","initialContext","analyticsContext","setAll","analyticsService","setContext","addContextProps","removeContextProps","ErrorId","useAnalyticsService","useAnalytics","script","createElement","innerText","async","appendChild","AnalyticsProvider","useSegment","queryClient","QueryClient","defaultOptions","queries","refetchOnWindowFocus","refetchOnReconnect","StoreProvider","QueryClientProvider","client","ErrorOccurredView","onCtaButtonClick","ctaButtonText","ResourceNotFoundErrorBoundary","setState","errorComponent","onReset","messageId","StartOverErrorView","ApiErrorBoundary","prevProps","errorId","didRetry","onRetry","VersionMismatch","ServerUnavailable","isVersionError","isNetworkBoundaryMessage","is502","UnknownError","useQueryErrorResetBoundary","GlobalStyle","createGlobalStyle","WorkspaceService","requestParams","workspaceIdRequestBody","workspaceUpdate","webBackendWorkspaceState","WorkspaceServiceContext","WorkspaceServiceProvider","selectWorkspace","useQueryClient","useRouter","workspace","workspaceId","removeQueries","useSelectWorkspace","exitWorkspace","storedData","currentTime","getTime","parse","timestamp","storedIsOpen","setItem","InstanceService","currentUserId","dbinstanceId","idRequestBody","instanceCreate","instanceId","instanceFieldUpdate","configuration","checkVariablesRequestBody","instanceUpdate","updateInstanceName","ConfigService","configUpdate","updateConfig","configsKeys","useConfigService","requestAuthMiddleware","useGetConfig","getConfig","useUpdateConfig","onSuccess","invalidateQueries","usersKeys","listOrg","license","useGetLicense","getLicense","useListUsers","MyAuthContext","MyAuthenticationProvider","currentLicense","adminConfig","userName","authorities","authority","setIsDemo","isNormal","setIsNormal","isAdmin","setIsAdmin","isOrgCreator","setIsOrgCreator","isOrgAdmin","setIsOrgAdmin","isOrgMember","setIsOrgMember","isBetaUser","setIsBetaUser","setLicense","useMyAuthService","authService","instancesKeys","statusDetail","detailWithType","jobType","jobDetail","variablesDetail","useInstanceService","useInstanceList","useGetInstance","useCheckSlowQueryVariables","checkVariables","SlowQueryTemplateService","searchQuery","statusList","databaseList","sqlTypeList","shardList","isBusiness","pageController","pageSlowQueryRequestBody","pagination","remarkUpdate","statusUpdate","batchStatusUpdate","slowQueryTemplatesKeys","listsOfInstance","slowQueryTemplateId","summary","details","useSlowQueryTemplateService","variablesKeys","listWithInstanceId","defaultListWithDbType","dbType","variableId","DbObjectService","dbObjectRequestBody","dbObjectsKeys","dbObjectId","dropdownData","globalTags","statisticData","useDbObjectService","useGetStatisticData","getStatisticData","AnalysisService","connectionId","connectionIdRequestBody","analysisId","jiraIssueCraete","analysisIdRequestBody","statementId","update","updateAnalysisName","prompt","openaiRequestBody","analysisRequestBody","listAnalysesForUser","analysisCreate","analysesKeys","getState","getSummary","getJiraIssue","getDetail","listOfWorkspace","getDetailList","useAnalysisService","useGetAnalysis","getAnalysis","useCreateJiraIssue","useGetStatementDetail","PptJobsService","jobRequestBody","onlyEnabled","pptJobListRequestBody","pptJobsKeys","jobTypes","usePptJobsService","useGetInstanceJob","getJob","PlanSubscriptionService","transactionId","completeSubscription","priceId","planSubscriptionsKeys","planSubscriptionId","usage","subscriptionId","link","usePlanSubscriptionService","PricingPlanService","pricingPlansKeys","pricingPlanId","usePricingPlanService","usePricingPlanList","WebSocketContext","WebSocketProvider","SOCKET_URL","split","setMessages","Client","brokerURL","reconnectDelay","heartbeatIncoming","heartbeatOutgoing","onConnect","subscribe","result","field","fieldData","job","onDisconnect","activate","deactivate","OnboardingServiceContext","OnboardingServiceProvider","useLocalStorage","feedbackPassed","setFeedbackPassed","skippedUseCases","setSkippedUseCases","passFeedback","visibleUseCases","casesConfig","useCase","useCaseLinks","skipCase","skipId","UTM_STORAGE_KEY","storeUtmFromQuery","utmParams","Array","from","fromEntries","QueryDetailContext","QueryDetailProvider","CodeBlock","codeString","language","customStyle","docco","lineProps","fontFamily","wordBreak","whiteSpace","wrapLines","CreateExplainContext","String","raw","useCreateExplainState","CreateExplainState","CreateExplainProvider","databaseType","setDatabaseType","explainFormat","setExplainFormat","explainName","setExplainName","explainSource","setExplainSource","querySource","setQuerySource","LinkButton","samples","sampleName","substring","foundItem","animate","Actions","Body","additional","headerLink","nullRef","useKey","useClickAway","Control","$cursor","$showCursor","ToolTipView","$maxWidth","$disabled","control","cursor","maxWidth","ToolTipBlock","ToolTip","Info","StatusIcon","ErrorBlock","ErrorText","ErrorSection","errorMessage","errorTitle","TestingConnectionError","TestingWorkspaceError","TestingInstanceError","TestingWorkloadError","JiraCreateError","CreateEmailTaskError","OrgCreateError","FetchingCreatorError","Buttons","ControlLabelsWithMargin","validationSchema","yup","shape","issueType","required","jiraBaseUrl","jiraUserName","apiToken","projectId","currentValues","hasFeedback","initialValues","validateOnBlur","validateOnChange","meta","touched","autoFocus","initialName","setHasFeedback","createJiraIssue","mutateAsync","setErrorMessage","translatedADF","fnTranslate","click","removeChild","catch","e","StyledSection","Controls","QueryDetailsModal","isEn","isOpenRequestModal","toggleOpenRequestModal","statementDetail","analysisStmtId","detailMarkdown","detailMarkdownZh","analysisName","statementName","setOpen","setStatementDetail","handleClick","RuleService","ruleCode","objectType","ruleTypeRequestBody","ruleListUpdate","updateUserRule","updateDefault","rule","rulesKeys","listsWithObjectType","defaultList","defaultListWithObjectType","useRuleService","useRuleList","useDefaultRuleList","listDefault","useUpdateDefaultRules","setContent","handleMouseEnter","descEn","descCn","onMouseEnter","StyledMarkdown","rehypePlugins","linkTarget","skipHtml","remarkPlugins","remarkFrontmatter","remarkGfm","pre","node","code","inline","exec","button","faCopy","Links","LanguageChangeButton","BackLink","FormLink","TextBlock","Logo","username","to","InnerContent","Page","Part","StaticMDView","Suspense","fallback","WORKSPACE_DEFINITIONS","workspaceDefinitions","workspaceDefinitionId","dockerRepository","dockerImageTag","documentationUrl","isOnlineWorkspace","isOnlineInstance","dbVersion","getValidateFlagByDefinitionId","definition","getValidateFlagByWorkspace","ToolTipButton","disable","CreateJiraTaskButton","faTasks","ReactCodeDiff","contentBefore","contentAfter","compareMethod","DiffMethod","oldValue","newValue","splitView","Splitter","SQLDiffSideView","diagramWidth","setDiagramWidth","rewriteSQLEn","rewriteSQLZh","rewriteRules","ruleNameEn","ruleNameZh","violatedQueriesStr","frag","fragStr","onMouseDown","initialPos","clientX","splitterRect","getBoundingClientRect","containerSize","innerWidth","sideviewSize","left","handleMouseMove","currentPos","newSize","handleMouseUp","ButtonCell","QueryDetailPage","lang","queryId","analysis","openDiff","setOpenDiff","sqls","rewrittenQuery","temp","rewrittenQueriesStr","stmtText","showDiffButton","showBeforeExplainBtn","validationDetails","beforePlan","showAfterExplainBtn","afterPlan","position","faExchangeAlt","stmtId","faChartSimple","SlowQueryService","slowQueryChartRequestBody","slowQueryId","onlyBusiness","slowQueryTrendRequestBody","cronConfigUpdate","updateSlowQueryRemark","slowQueriesKeys","periodData","dropDown","avgTimeRankList","useSlowQueryService","CreditStatus","useGetAvgTimeRankList","getAvgTimeRankList","useGetSlowQueryDetails","getDetails","useGetPeriodData","getPeriodData","useUpdateCronConfig","updateCronConfig","SlowQueryDetailContext","SlowQueryDetailProvider","SlowQueryDetailPage","fetchDocumentation","documentationKeys","useDocumentation","refetchOnMount","DocumentationPanelContext","createContext","useDocumentationPanelState","documentationPanelOpen","setDocumentationPanelOpen","setDocumentationUrlState","documentTitle","setDocumentTitle","setDocumentationUrl","useDocumentationPanelContext","DocumentationPanelProvider","DocumentationContainer","DocumentationContent","Markdown","DocumentationPanel","urlReplacerPlugin","urls","element","tagName","docPath","rehypeSlug","maxSize","LeftPanelContainer","dimensions","screenWidth","useWindowSize","RightPanelContainer","DocumentationLayout","orientation","windowResizeAware","propagateDimensions","minSize","border","background","faGripLinesVertical","DocumentationWrapper","toLogin","MainBlock","FormContainer","loginWithDemo","Form","FormikForm","FieldItem","RowFieldItem","BottomBlock","FormTitle","ResetPasswordPageValidationSchema","newPassword","ResetPasswordConfirmPage","confirmPasswordReset","resetPasswordAction","useResetPasswordAction","useRouterHook","isSubmitting","titles","intl","PAWSQL","platformTitle","join","Helmet","titleTemplate","defaultTitle","LoginPageValidationSchema","password","setFieldError","setLogin","redirectPath","decodeURIComponent","err","requirePasswordReset","resetPassword","useResetPassword","FormikBag","isHeading","test","isHeadingType","headingStyles","textStyles","getTextClassNames","SignupPageValidationSchema","min","companyName","highlightStyle","setLanguage","signup","setQueryData","useSignupUser","successMessage","setSuccessMessage","hasStmtId","hl","mobile","isValid","Termslnk","Privacylnk","demoAccount","loginIsLoading","useGetRuleByCode","workloadType","workspaceType","Metric","BufferLocation","BufferType","errorType","CreditsLink","AlertBanner","alertType","lnk","AlertBannerWithLogout","TopBanner","bannerTextEn","bannerTextZh","NavLinkItem","NavLink","MenuItem","WorkspaceButton","LanguageButton","wechatModal","toggleWechatModal","display","textAlign","placeItems","enableExplain","faCoins","faCloud","BodyContainer","enableBanner","expireDays","index","IllustrationContainer","OctaviaImg","EmptyResourceListView","resourceType","onCreateClick","disableCreateButton","singularResourceType","baseMessageId","headingMessageId","buttonMessageId","toUpperCase","resource","SortDirection","EstimateDirection","CenterMode","NodeProp","HighlightType","NONE","DURATION","ROWS","COST","PropType","NodePropChinese","Plans","Schema","Alias","Workers","Output","nodeId","arrayIndex","plan_","Filter","Limit","Sort","Access","sites","nodePropTypes","ACTUAL_ROWS","rows","ACTUAL_LOOPS","loops","PLAN_ROWS","PLAN_WIDTH","bytes","ACTUAL_ROWS_REVISED","PLAN_ROWS_REVISED","ACTUAL_TOTAL_TIME","duration","ACTUAL_STARTUP_TIME","STARTUP_COST","cost","TOTAL_COST","PARALLEL_AWARE","boolean","WORKERS","SORT_SPACE_USED","kilobytes","ROWS_REMOVED_BY_FILTER","ROWS_REMOVED_BY_JOIN_FILTER","ROWS_REMOVED_BY_FILTER_REVISED","ROWS_REMOVED_BY_JOIN_FILTER_REVISED","HEAP_FETCHES","OUTPUT","SORT_KEY","PRESORTED_KEY","WAL_RECORDS","WAL_BYTES","WAL_FPI","EXCLUSIVE_DURATION","EXCLUSIVE_COST","PLANNER_ESTIMATE_FACTOR","factor","PLANNER_ESTIMATE_DIRECTION","estimateDirection","IO_READ_TIME","IO_WRITE_TIME","EXCLUSIVE_IO_READ_TIME","EXCLUSIVE_IO_WRITE_TIME","AVERAGE_IO_READ_TIME","transferRate","AVERAGE_IO_WRITE_TIME","EXCLUSIVE_SHARED_HIT_BLOCKS","blocks","EXCLUSIVE_SHARED_READ_BLOCKS","EXCLUSIVE_SHARED_DIRTIED_BLOCKS","EXCLUSIVE_SHARED_WRITTEN_BLOCKS","EXCLUSIVE_TEMP_READ_BLOCKS","EXCLUSIVE_TEMP_WRITTEN_BLOCKS","EXCLUSIVE_LOCAL_HIT_BLOCKS","EXCLUSIVE_LOCAL_READ_BLOCKS","EXCLUSIVE_LOCAL_DIRTIED_BLOCKS","EXCLUSIVE_LOCAL_WRITTEN_BLOCKS","FULL_SORT_GROUPS","sortGroups","PRE_SORTED_GROUPS","SortGroupsProp","SortSpaceMemoryProp","WorkerProp","WORKER_NUMBER","increment","denominator","days","Math","floor","remainder","hours","minutes","seconds","milliseconds","parseFloat","toPrecision","toLocaleString","slice","keysToString","v","formatBytes","precision","k","dm","units","valueString","pow","unit","percent","isNaN","formatNodeProp","over","under","listItems","line","innerHTML","durationClass","pgsql_","hljs","pgsql","Worker","workerNumber","INDEX_NAME","NODE_TYPE","PLANS","SUBPLAN_NAME","Stage_NAME","WORKERS_LAUNCHED","WORKERS_PLANNED","WORKERS_PLANNED_BY_GATHER","DATABASE_TYPE","Node","trim","scanMatches","bitmapMatches","indexMatches","indexMatchesMySQL","indexMatchesOracle","indexMatchesOceanbase","indexMatchesDameng","cteMatches","stageMatches","functionMatches","subqueryMatches","filterMatches","filterMatchesDameng","projectionMatchesDameng","deleteMatchesDameng","updateMatchesDameng","insertMatchesDameng","groupMatches","aggregateMatches","aggregateMatchesDameng","limitMatches","zeroMatches","sortMatches","sortMatchesDameng","spoolMatchesDameng","nttsMatchesDameng","selectMatches","streamingMatches","constValueListMatches","RELATION_NAME","ALIAS","CTE_NAME","FUNCTION_NAME","SLCT_PUSHDOWN","Extra","Index_Cond","Index_Over","With_Index_Cond","scan_type","scan_range","is_global","Aggregate_Table","grp_num","sfun_num","distinct_flag","slave_empty","delete_table","delete_type","mpp_opt","hp_opt","update_table","update_type","Group_Aggregate","Zero_Rows","sort_key_num","partition_key_num","is_distinct","top_flag","is_adaptive","spool_key_num","spool_num","is_atom","has_var","Streaming_Type","ROW_NUM","COL_NUM","for_mdis","parallelMatches","nestedLoopMatches","joinMatches","joinModifierMatches","joinMatchesDameng","Join_Condition","JOIN_TYPE","RKEY_UNIQUE","KEY_NUM","KEY_NULL_EQU","HelpService","nodeType","NODE_DESCRIPTIONS","NODE_DESCRIPTIONS_Zh","helpMessage","HELP_MESSAGES","HELP_MESSAGES_Zh","LIMIT","SORT","HASH","AGGREGATE","HASHAGGREGATE","MEMOIZE","GATHER","scrollChildIntoParentView","parent","child","shouldCenter","done","parentRect","childRect","scrollLeft","isChildViewableX","right","isChildViewableY","scrollTop","top","bottom","startX","startY","changeX","changeY","startDate","animateScroll","easeInOutQuad","start","change","requestAnimationFrame","smoothScroll","newCurrentTime","splitBalanced","input","pattern","r","RegExp","stack","buffer","results","$0","$1","$e","$o","$c","$t","$s","pop","handleSelectNode","lines","parentLine","isParentFound","parseMysqlJsonExplain","explain","queryBlock","query_block","cost_info","select_list_subqueries","optimized_away_subqueries","totalCost","isArray","query_cost","toFixed","treeExplain","traverseQueryBlock","firstLine","matches","currentLevel","fromType","subTree","traverseMessage","traverseTable","traverseInsertFrom","traverseGroupingOperation","traverseNestedLoop","traverseDuplicatesRemoval","traverseOrderingOperation","traverseSubListQueries","traverseUnionResult","traverseOptimizedAwaySubListQueries","tree","subCost","flag","modifiedStr","_match","newCost","repeat","getCondition","attached_condition","tableCondition","conditionString","matchIf","regex","Set","tableName","add","has","table_name","initLevel","insert","hasFilter","read_cost","eval_cost","rows_produced_per_join","replaceAll","table","accessType","access_type","using_index","rows_examined_per_scan","used_key_parts","index_condition","getNodeTypeByAccessType","attached_subqueries","traverseTableSubQueries","materialized_from_subquery","union_result","buffer_result","using_temporary_table","prefix_cost","reverse","select_id","dependent","cacheable","subTreeExplain","nested_loop","query_specifications","traverseQuerySpecifications","isUnionAll","using_filesort","grouping_operation","duplicates_removal","outerTable","innerTable","hasSelect","filterCost","filterRows","using_join_buffer","currentItemLevel","parseOracleExplain","tableText","objects","firstLineIndex","findIndex","toLowerCase","header","lastLineIndex","obj","j","trimEnd","matchResult","convertToNumber","timeParts","timeInSeconds","parseInt","timeComponents","actualTime","handleNodes","predicates","mergedLines","previousLine","predicateFrontBlank","breakLineBlank","mergeLines","firstDashIndex","firstPart","predicateList","handlePredicates","Operation","Name","endsWith","handleOperation","OperationLevel","Cost","ATime","Id","predicate","nodeAtribute","charAt","parseOceanbaseExplain","indexName","analyze","Rows","extractHivePlan","hiveText","dependenciesStart","plansStart","dependenciesEnd","planEnd","plan","parseDependencies","dependencyOutput","rest","parents","isRootStage","dependsOnMatch","parentStages","s","consistsOfMatch","childStages","parseStages","explainOutput","stages","stageName","textValue","level","parentStageList","childrenStageList","childStageName","childIndex","stageMap","Map","levels","max","childStageIndex","updateLevels","operationMapping","NSET","PRJT","SLCT","AAGR","FAGR","HAGR","BLKUP","CSCN","SSEK","CSEK","SSCN","NEST","MERGE","ACTRL","PIPE","SPL","DELETE","UPDATE","INSERT","NTTS","getNodeType","nodeName","baseType","mappedType","formatTree","indent","operation","scanType","idxName","tabName","scanRange","replaceScanRangeBrackets","adviceInfo","parseDamengTableExplain","nodes","cell","planId","planName","createTime","rowNum","cpuCost","ioCost","joinCond","pstart","pstop","parsePlanTable","root","buildTree","parseLine","extra","parseDamengTreeExplain","officialPlan","isRealPlan","lastIndex","parsedLines","str","getRuleLevelConfig","RuleLevelConfig","getRuleCategoryConfig","category","RuleCategoryConfig","calculateDatabaseUptime","startTime","timeDifference","decimalToPercentage","decimal","convertReactCronToQuartz","reactCron","reactParts","convertQuartzToReactCron","getTableRuleSummary","levelDesc","description","getDatabaseTypeByDefinitionName","modifyCronExpression","internal","cronParts","mergeValidPriceDetails","plans","flatMap","monthlyPriceDetail","yearlyPriceDetail","PlanService","planContent","planQuery","Plan","PEV_PLAN_TAG","toString","toDateString","createdOn","planStats","ctes","isAnalyze","isVerbose","findOutputProperty","processNode","calculateMaximums","PARENT_RELATIONSHIP","calculatePlannerEstimate","isCTE","isSTAGE","calculateActuals","calculateExclusives","calculateIoTimingsAverage","recurse","flat","cte","largest","maxRows","maxRowsNodeId","NODE_ID","costliest","maxCost","maxCostNodeId","totalCostliest","maxTotalCost","slowest","sumShared","maxDuration","maxDurationNodeId","maxBlocks","highestShared","sumTemp","shared","highestTemp","sumLocal","highestLocal","sumIo","local","maxIo","highestIo","workers","childrenDuration","subPlan","prop","revisedProp","revised","none","isJson","_errorMessage","stagePlans","getDatabaseType","inStagePlan","stageIndent","currentIndent","newIndent","reformatHiveExplain","getHiveExplainStagePlans","stagePlan","parseHiveExplain","filteredLines","foundExecutionPlan","convertedLine","spaceCount","newLines","operatorMatch","operator","startPos","endPos","findClosingBracket","newLine","parseSQLServerExplain","cleanupSource","treeStr","fromText","parseJson","fromJson","sourceLines","l","useSource","parser","clarinet","elements","duplicated","onvalue","onopenobject","onkey","onopenarray","oncloseobject","onclosearray","popped","write","close","out","countChar","ch","closingParIndex","openingParIndex","closingFirst","handleSubQuery","p1","_p2","p3","p4","splitIntoLines","elementsAtDepth","indentationRegex","depth","typeRegex","estimationRegex","nonCapturingGroupOpen","nonCapturingGroupClose","actualRegex","emptyLineMatches","headerMatches","nodeMatches","prefixRegex","subMatches","triggerMatches","workerMatches","jitMatches","extraMatches","previousElement","subelementType","cteName","worker","getWorker","parseSort","x","Triggers","Time","parseTime","Calls","JIT","lastElement","parseBuffers","parseWAL","parseIOTimings","parseOptions","parseTiming","parseSettings","parseSortGroups","parseStatisticsLine","parseSortKey","property","neverExecuted","insideParentheses","char","replaceInnerParentheses","newNode","el","SORT_METHOD","SORT_SPACE_TYPE","buffersMatches","infos","m","parseBuffer","WALMatches","t","typeCaps","iotimingsMatches","timing","nodeProp","optionsMatches","Options","option","timingMatches","Timing","timings","settingsMatches","Settings","settings","groups","GROUP_COUNT","SORT_METHODS_USED","SORT_SPACE_MEMORY","AVERAGE_SORT_SPACE_USED","PEAK_SORT_SPACE_USED","numRows","sum","exclusivePropertyString","ioReadTime","sharedReadBlocks","localReadBlocks","ioWriteTime","sharedWriteBlocks","localWriteBlocks","copied","setCopied","useCopyToClipboard","copyToClipboard","copyRaw","faClipboard","Tooltip","arrow","PlanContext","usePlanState","PlanState","PlanProvider","selectedNodeId","setSelectedNodeId","highlightedNodeId","setHighlightedNodeId","updateNodeSize","selectNode","viewOptions","setViewOptions","scale","rootNode","toggleRender","init","EditLaterMessage","Label","getHelpMessage","Diagram","forwardRef","container","rowRefs","setPlans","metric","time","buffersMetric","diagramViewOptions","setDiagramViewOptions","flatten","planBufferLocation","getTooltipContent","timeTooltip","rowsTooltip","estimate_factor","estimateFactorTooltip","costTooltip","buffers","buffersTooltip","io","ioTooltip","estimateFactor","hit","read","written","dirtied","averageRead","averageWrite","row","output","isLast","branches","subnode","estimateFactorPercent","Infinity","maxEstimateFactor","dataAvailable","highlightType","colSpan","setRowRef","onMouseLeave","_e","executionTime","round","pev","pevtwo","numberToColorHsl","rgb","h","g","q","hue2rgb","hslToRgb","useNode","NaN","executionTimePercent","setExecutionTimePercent","costPercent","setCostPercent","barWidth","setBarWidth","highlightValue","setHighlightValue","plannerRowEstimateValue","setPlannerRowEstimateValue","plannerRowEstimateDirection","setPlannerRowEstimateDirection","rowsRemoved","setRowsRemoved","rowsRemovedPercent","setRowsRemovedPercent","rowsRemovedPercentString","setRowsRemovedPercentString","calculateBar","Number","calculateDuration","calculateCost","rowsRemovedProp","removed","actual","calculateRowsRemoved","barColor","isParallelAware","nodeKey","estimationClass","costClass","rowsRemovedClass","heapFetchesClass","filterTooltip","isNeverExecuted","workersLaunchedCount","workersPlannedCount","workersPlannedCountReversed","workersPlanned","arr","OPEN_TAG","CLOSE_TAG","SyntaxHighlightService","keyItems","LANG_SQL","keyItem","COMMENT_MODE","COMMENT","case_insensitive","illegal","contains","beginKeywords","end","endsWithParent","keywords","keyword","literal","built_in","begin","BACKSLASH_ESCAPE","C_NUMBER_MODE","C_BLOCK_COMMENT_MODE","PlanNodeContext","PlanNodeProvider","updateSize","setNode","outerEl","planNodeState","usePlanNodeState","nodeProps","setNodeProps","activeTab","setActiveTab","helpService","getNodeTypeDescription","notMiscProperties","SHARED_HIT_BLOCKS","SHARED_READ_BLOCKS","SHARED_DIRTIED_BLOCKS","SHARED_WRITTEN_BLOCKS","TEMP_READ_BLOCKS","TEMP_WRITTEN_BLOCKS","LOCAL_HIT_BLOCKS","LOCAL_READ_BLOCKS","LOCAL_DIRTIED_BLOCKS","LOCAL_WRITTEN_BLOCKS","GROUP_KEY","HASH_CONDITION","omit","shouldShowPlannerEstimate","shouldShowProp","shouldShowIoBuffers","hasSeveralLoops","tilde","formattedProp","propName","timeout","clearTimeout","faClock","faInfoCircle","faDollarSign","faUndo","maxHeight","onWheel","syntaxHighlightService","showDetails","setShowDetails","showQuery","setShowQuery","setSize","_node","_setNode","rect","centerCte","cteNode","subplanName","findNodeBySubplanName","sort","presort","SCHEMA","ACCESS","faDatabase","overflow","minWidth","relationName","groupKey","hashCondition","highlight","getFormattedQuery","SortedTableContext","SortedTableProvider","dir","sortBy","SortLink","SortedTableState","useSortedTableState","asc","faArrowDownShortWide","desc","faArrowDownWideShort","expanded","setExpanded","durationPercent","timePercent","SortedTableIndexStats","currentDir","setCurrentDir","currentSort","setCurrentSort","sortedValues","scope","SortedTableNodeStats","SortedTableTableStats","Stats","setNodes","setExecutionTime","perTable","tables","perNodeType","nodeTypes","perIndex","indexes","padding","layout","flextree","nodeSize","spacing","nodeA","nodeB","getPlanState","planJson","layoutRootNode","hierarchy","actualTotalTimeArray","descendants","isTemporary","planningTime","planCost","triggers","jitTime","Total","planSource","svgHeight","toggleInit","render","diagram","rootEl","queryText","setQueryText","validationMessage","setValidationMessage","menuHidden","showHighlightBar","showPlanStats","planEl","planService","transform","setTransform","edgeWeight","d3","domain","range","zoomListener","scaleExtent","on","toCteLinks","setToCteLinks","toStageLinks","setToStageLinks","currentPlan","fromSource","createPlan","currentPlanStats","currentCtes","currentStages","doLayout","mainLayoutExtent","getLayoutExtent","cteRootNode","currentCteExtent","currentWidth","each","y","stageLevelOffsetMap","currentStageName","stageRootNode","currentStageExtent","currentHeight","toCteLinksTemp","sourceCte","targetCte","toStageLinksTemp","currentStagePlan","parentStageName","parentStage","stageNode","useLayoutEffect","extent","x0","y0","transition","translate","lineGen","abs","ySize","moveTo","lineTo","bezierCurveTo","stageLineGen","targetStageMaxY","treeNode","trees","found","findTreeNode","centerNode","childNode","xSize","sizeData","setSizeData","newSizeData","arr1","arr2","arraysEqual","stroke","strokeWidth","strokeLinecap","layoutExtent","fillOpacity","rx","ry","parentElement","splitterSize","offsetWidth","ExplainService","explainId","explainRequestBody","explainCreate","explainUpdate","explainsKeys","useExplainService","SlowQueryServiceStatus","InstanceStatus","SortOrderEnum","useGetExplain","SearchInput","SearchContent","onSearch","placeHolder","onDeleteButtonClick","RowWrapper","noBorder","RowContent","TreeRowWrapper","SlowQueryFieldRowInner","overflowX","SlowQueryFieldRow","memo","RowsContainer","ExpandTable","isDetailRowExpanded","onDetailExpand","ArrowContainer","ArrowView","$isOpen","isItemHasChildren","isItemOpen","onExpand","faChevronRight","TableView","Tr","erroredRows","hasClick","Td","customPadding","collapse","customWidth","Th","ServerPaginationTable","columns","onClickRow","defaultPagesize","hoverTitle","setPageController","totalNumber","useExpandedFunc","expandedType","hideSearch","pl","plConfig","useSortBy","plugins","useTable","pageIndex","pageSize","useExpanded","usePagination","getTableProps","getTableBodyProps","headerGroups","prepareRow","toggleRowExpanded","headerGroup","getHeaderGroupProps","paddingLeft","column","columnKey","getHeaderProps","headerHighlighted","getRowProps","original","isExpanded","cells","getCellProps","sqlText","TablePagination","sx","tablePaginationClasses","labelRowsPerPage","showFirstButton","showLastButton","rowsPerPage","rowsPerPageOptions","backIconButtonProps","nextIconButtonProps","onPageChange","_event","toPage","skipNull","onRowsPerPageChange","SelectProps","MenuProps","WorkspaceIcon","StepsTypes","Space","Image","statusIconStatus","notify","marginRight","SortButtonView","lowToLarge","faCaretUp","faCaretDown","tableProps","sortOrder","order","delete","useDeleteExplain","deleteExplain","onSortClick","ASC","DESC","setSortBy","setOrder","sortData","sortingData","accessor","createUserName","deleteFlag","toogleRefresh","setPageIndex","setPageSize","ExplainContext","useExplainState","ExplainState","ExplainProvider","planData","setPlanData","porps","explains","LeftFieldCol","RightFieldCol","FlexRow","searchString","setSearchString","refresh","setTotalNumber","useExplainList","records","setExplains","total","faSearch","margin","StepView","lightMode","isActive","nonClickable","Num","num","isPartialSuccess","onSelect","activeStep","currentStep","setCurrentStep","steps","OVERVIEW","DETAILS","getNowFormattedDate","date","getMonth","getDate","getHours","getMinutes","SubmitButton","TestingExplainError","library","fas","CustomLabel","ExplainForm","draggingPlan","toggleDraggingPlan","draggingQuery","toggleDraggingQuery","setSamples","setError","formatQuery","format","create","useCreateExplain","createExplain","databseDropdownData","handleDrop","currentTarget","HTMLTextAreaElement","dataTransfer","files","reader","FileReader","onload","ArrayBuffer","dispatchEvent","Event","readAsText","onFormSubmit","_values","createUserId","explainValidationSchema","when","is","otherwise","setFieldValue","withBorder","onDragEnter","onDragLeave","onDrop","isTestConnectionInProgress","dateTime","SuccessBlock","CopyToClipButton","onCopyLink","faLink","withKeystrokeHandler","WrapperComponent","onEscape","restProps","PlanStepsTypes","InputWithKeystroke","editingState","setEditingState","setLoading","explainNameBackup","setExplainNameBackup","useUpdateExplain","updateExplain","updateExplainAsync","explainNameTrimmed","faPenToSquare","MainLayout","handleNewClick","shareLink","origin","overflowY","DynamicPlanView","setExplain","explainResult","StaticPlanView","validationMessageOri","setValidationMessageOri","validationMessageNew","setValidationMessageNew","selectedNodeIdOri","setSelectedNodeIdOri","selectedNodeIdNew","setSelectedNodeIdNew","highlightedNodeIdOri","setHighlightedNodeIdOri","highlightedNodeIdNew","setHighlightedNodeIdNew","viewOptionsOri","setViewOptionsOri","viewOptionsNew","setViewOptionsNew","planOri","planNew","planElOri","planElNew","planStatsOri","planStatsNew","rootNodeOri","rootNodeNew","treeOri","treeNew","transformOri","setTransformOri","transformNew","setTransformNew","scaleOri","scaleNew","edgeWeightOri","edgeWeightNew","minScale","zoomListenerOri","zoomListenerNew","layoutRootNodeOri","layoutRootNodeNew","ctesOri","ctesNew","toCteLinksOri","setToCteLinksOri","toCteLinksNew","setToCteLinksNew","nodeArrayOri","nodeArrayNew","currentPlanOri","currentPlanNew","planJsonOri","planJsonNew","contentOri","contentNew","descendantsOri","descendantsNew","currentPlanStatsOri","currentPlanStatsNew","currentCtesOri","currentCtesNew","doLayoutOri","doLayoutNew","timeoutOri","timeoutNew","selectNodeOri","centerNodeOri","currentNode","centerNodeNew","selectNodeNew","findTreeNodeOri","findTreeNodeNew","planState","faBarsStaggered","faHourglass","COMPARE","BEFORE","planPhase","setPlanPhase","AFTER","flexDirection","marginBottom","stagesOri","stagesNew","toStageLinksOri","setToStageLinksOri","toStageLinksNew","setToStageLinksNew","currentStagesOri","currentStagesNew","stageLevelOffsetMapOri","toStageLinksTempOri","stageLevelOffsetMapNew","toStageLinksTempNew","indexRecommended","marginTop","NoLoggedExplainPage","PaginationTable","updateCurrentPageData","hasClickSort","gotoPage","queryLogId","instance","dbinstanceName","setInstanceName","instanceNameBackup","setInstanceNameBackup","useUpdateInstanceName","updateInstance","updateInstanceAsync","instanceNameTrimmed","dbConnectStatus","uninitialized","verified","tooltip","RiDeleteBinLine","hideIcon","checkConnection","useCheckConnection","finally","dbinstanceDefinitionId","stepOrder","InstanceContext","InstanceProvider","instances","currentInstanceId","setInstanceId","InstanceActionButton","useDeleteInstanceById","deleteInstanceById","slowQueryStatus","currentState","slowQueryThreshold","dbObjectStatus","ImplementationInstanceTable","openInstanceInNewTab","onCreateInstance","filteredStreams","setFilteredStreams","sortedSchema","stream","dbHost","dbPort","dbUser","defaultDb","createOrgName","every","swapOpacity","headerRef","selectedIndex","setSelectedIndex","handleClickBedge","currentRead","threads","statDt","threadsRunning","dataQps","qps","dataTps","tps","bufferPool","bufferPoolHitRate","getDeltaType","threadsBadgeData","setThreadsBadgeData","qpsBadgeData","setQpsBadgeData","tpsBadgeData","setTpsBadgeData","bufferBadgeData","setBufferBadgeData","numItemsSm","numItemsLg","threadsConnected","deltaType","categories","showXAxis","showGridLines","startEndOnly","showYAxis","showLegend","maxConnections","comSelect","comCommit","comRollback","bufferPoolSize","StatusLineChart","periodReads","chartdata","indexMeta","onIndexChange","valueFormatter","number","yAxisWidth","getStatus","useGetInstanceStatus","ariaExpanded","SlowQueryBarChart","currentDate","resultList","setDate","toISOString","slowQueryNum","slowQueryTemplateNum","DbObjectBarList","summaryData","ruleRankData","ddlAdvisorRuleRankInfo","objectList","dataCount","dbObjectSchema","dbObjectName","strokeLinejoin","schemaList","ruleSummaryData","ruleNameCn","violateCount","dbObjectRuleCode","barData","setBarData","CHINESE_LOCALE","everyText","emptyMonths","emptyMonthDays","emptyMonthDaysShort","emptyWeekDays","emptyWeekDaysShort","emptyHours","emptyMinutes","emptyMinutesForHourPeriod","yearOption","monthOption","weekOption","dayOption","hourOption","minuteOption","rebootOption","prefixPeriod","prefixMonths","prefixMonthDays","prefixWeekDays","prefixWeekDaysForMonthAndYearPeriod","prefixHours","prefixMinutes","prefixMinutesForHourPeriod","suffixMinutesForHourPeriod","errorInvalidCron","clearButtonText","months","weekDays","altMonths","altWeekDays","allowedPeriods","instanceJob","cronExpression","setCronExpression","updateCronSuccessMessage","setUpdateCronSuccessMessage","updateCronFailedMessage","setUpdateCronFailedMessage","useAsyncFn","updateLoading","onUpdateConfig","setValue","clearButton","allowEmpty","allowClear","defaultPeriod","enableCronTask","setEnableCronTask","setQueriesData","lst","jobId","FixPosition","hasBanner","unshift","runningTime","basicSummary2","setBasicSummary2","borderRadius","InstanceDefinitionService","instanceDefinitionId","instanceDefinitions","instanceDefinitionKeys","useGetInstanceDefinitionService","LogsRequestError","jobInfo","isLogsRequestError","createFormErrorMessage","maxWorkloadMembers","workloadMaxSize","currentSize","workloadCurrentSize","FormChangeTracker","prevChanged","usePrevious","isWorkspaceDefinition","isInstanceDefinition","isWorkspaceDefinitionSpecification","MyWorkspaceNameControl","formType","useField","fieldMeta","MyWorkspace","workloadDefinitionId","latestDockerImageTag","isDeprecated","WorkspaceHelper","isInstance","destinationId","PptInstanceServiceTypeControl","availableServices","selectedService","LoadingContainer","StyledButton","isCancellable","onCancelTesting","hasSuccess","fetchingCreatorError","isLoadSchema","isFirstStep","disableCreate","setDisableCreate","Success","makeConnectionConfigurationPath","myServerProvidedOauthPaths","creator","advancedAuth","oauthConfigSpecification","completeOAuthOutputSpecification","completeOAuthServerOutputSpecification","OrderComparator","aIsNumber","isInteger","bIsNumber","fieldKey","FormWidgetContext","usePptServiceForm","serviceFormHelpers","PptServiceFormContextProvider","widgetsInfo","setUiWidgetsInfo","selectedInstance","getValues","isLoadingSchema","isEditMode","readonly","useFormikContext","isAuthFlowSelected","authFieldsToHide","path_in_instance_config","unfinishedFlows","addUnfinishedFlow","removeUnfinishedFlow","resetUiFormProgress","dirty","onRetest","longLoading","setLongLoading","timer","GroupTitle","FormGroup","useServiceForm","SectionContainer","GroupLabel","ConditionControls","ConditionSection","formField","setValues","currentlySelectedCondition","selectedItem","onOptionChange","newSelectedPath","conditions","newValues","_type","acc","const","setIn","FormSection","skipAppend","hasFiles","FileView","mainText","useDropzone","acceptedFiles","getRootProps","getInputProps","faFile","ComponentContainer","isEditInProgress","showButtons","component","controlRef","form","examples","enum","arrayHelpers","newItem","dataItems","default","DropZoneSubtitle","DropZoneMainText","maxFiles","multiline","isSecret","maxLength","unfinishedSecret","isFormInEditMode","initialValue","onStart","startValue","inputType","LabelMessage","exampleText","constructExamples","labelText","labelRequiredAppendix","isRequired","displayError","PropertySection","propertyPath","formikBag","overriddenComponent","FormNode","sectionPath","hasOauth","ArraySection","sections","flattenedBlocks","pawsql_hidden","flow","PptConditionSection","PptFormSection","CustomControlLabels","SectionHeader","requestRDSValidationSchema","accessKeyId","accessKeySecret","region","DBInstanceId","Section","outerField","meetCondition","toggleMeetCondition","hasDbinstanceId","checkStatus","setCheckStatus","toggleIsLoading","setChecked","submitForm","endpoint","isValidating","ExclamationCircleIcon","errorDescription","enable","ConfigFlexRow","iconMap","uncheck","CheckCircleIcon","failed","ExclamationTriangleIcon","enableRegularlyDelete","frequency","frequencyList","periodicityOnDoubleClick","enableFullCollection","onValueChange","skip","RuleTemplatesService","commonRequestBody","ruleTemplateCreate","ruleTemplateDeleteRequestBody","ruleTemplateDetailUpdate","ruleTemplateNameUpdate","ruleTemplateRequestDto","ruleTemplatesKeys","listsWithParamRoot","listsWithParam","ruleTemplateId","defaultDetail","useRuleTemplatesService","useRuleTemplateList","useGetDefaultRuleTemplate","getDefault","useDeleteRuleTemplate","defaultTemplate","ruleTemplateList","isGlobal","allTemplates","dbObjectRuleTemplateId","dbObjectRuleTemplateName","templateName","requestTDSQLValidationSchema","secretId","secretKey","requestTDSQLXValidationSchema","port","database","PptPropertySection","LoaderContainer","LoadingMessage","PptFormRoot","formFields","fetchingInstanceError","fetchingIstanceError","onStopTestingInstance","resetForm","buildYupFormForJsonSchema","jsonSchema","uiConfig","parentSchema","propertyKey","schema","oneOf","selectedSchema","condition","minimum","maximum","of","objectSchema","keyEntries","hasDefault","buildPathInitialState","formBlock","formValues","widgetState","widgetStateBuilder","formItem","resultObject","defaultCondition","subConditionItems","selectedValues","isValidSync","selectedPath","jsonSchemaToUiWidget","isKeyRequired","pickDefaultFields","is_auth","pawsql_secret","defaultFields","partialSchema","useBuildInitialSchema","instanceSpecification","connectionSpecification","useBuildForm","connectionConfiguration","useBuildUiWidgetsContext","uiOverrides","overriddenWidgetState","mergedState","setUiWidgetsInfoSubState","widgetId","updatedValues","uiWidgetsInfo","useConstructValidationSchema","usePatchFormik","setFieldTouched","validateForm","errors","FormikPatch","PatchInitialValuesWithWidgetConfig","valueRef","constPatchedValues","defaultPatchedValues","getIn","SetDefaultName","hasInstanceDefinitionId","PptServiceForm","hasStepOrder","initialRequestName","setInitialRequestName","onStopTesting","selectedInstanceDefinitionSpecification","specifications","selectedServiceDefinition","serviceDefinitionId","componentProps","onChangeServiceType","onServiceSelect","onOpenRequestInstanceModal","cast","stripUnknown","valuesToSend","instanceType","experimentContext","useExperiment","experimentService","onChanges$","getExperimentChanges$","EMPTY","useObservable","getExperiment","SingleValueContent","CreatorList","StageLabel","defaultMessage","MyWorkspaceServiceTypeControl","onOpenRequestCreatorModal","orderOverwrite","sortedDropDownData","getNoOptionsMessage","handleSelect","MenuList","onMenuOpen","eventName","noOptionsMessage","textAlignments","gradient","align","italicized","Collapsible","showErrorIndicator","hideWhenEmpty","initiallyOpen","defaultOpen","faAngleRight","unmount","iconPosition","buttonProps","buttonStyles","widthStyle","ICON_MAPPING","faInfo","STYLES_BY_TYPE","Message","onAction","actionBtnText","actionBtnProps","secondaryText","childrenClassName","iconOverride","mainMessage","Pre","useMyServiceForm","MyServiceFormContextProvider","MyConditionSection","MyFormSection","MyPropertySection","MyFormRoot","fetchingWorkspaceError","onStopTestingWorkspace","definitionId","AllowlistIpBanner","creatorId","MyEditControls","allowlistIpsOpen","setAllowlistIpsOpen","newOpenState","MyServiceForm","testWorkspace","selectedWorkspaceDefinitionSpecification","privateIpRegex","ObjectSchema","fields","hostField","updatedValidationSchema","ReactGA","CreateInstanceStepsTypes","useCheckCreator","workspaceService","useGetWorkspaceService","instanceService","useGetInstanceService","selectedCreatorId","selectedCreatorDefinitionId","check_connection","useTestWorkspace","isSuccess","abortControllerRef","abort","controller","AbortController","PptInstanceCard","saved","setSaved","errorStatusRequest","setErrorStatusRequest","onHandleSubmit","testInstance","InstanceForm","instanceDefinition","afterSelectInstance","defaultDefineId","setInstanceDefinitionId","onSubmitForm","initConfig","extractJobInfo","parentDefinition","createWorkspacePayload","instanceCreator","useCreateInstance","createInstance","successRequest","setSuccessRequest","instanceDefinitionSpecifications","updateDescription","getSteps","newData","useGetInstanceDefinitionSteps","currentOrder","setCurrentOrder","currentDefinition","setCurrentDefinition","CUSTOM_CONFIG","onSubmitInstanceStep","PageContainer","InstanceButton","InstanceGrid","onInstanceButtonClick","containerClassName","adornment","buttonRef","inputSelectionStartRef","useImperativeHandle","toggleIsContentVisible","setFocused","focusOnInputElement","selectionStart","setSelectionRange","readOnly","activeElement","tabIndex","SelectInstanceType","onSelectInstanceDefinition","searchTerm","setSearchTerm","filteredSearchResults","toLocaleLowerCase","CustomDiv","SelectInstancePage","useInstanceDefinitionList","px","pt","pb","TextField","PptTableService","pptTablesKeys","pptTableId","usePptTableList","usePptTableService","Item","Counter","Category","CategoryName","activeItem","categoryItem","routes","route","indicatorCount","FeedbackService","feedbackCreate","messageIdsRequestBody","useFeedbackService","useRecoveryHistoryMessage","isQueryDetailPage","listQueryFeedbackById","useListQueryFeedbackById","listUserFeedbackById","useListUserFeedbackById","markAllQueryAsRead","messageIds","useMarkAllQueryAsRead","markAllUserAsRead","useMarkAllUserAsRead","handleMarkAllAsRead","ids","messageType","messageStatus","queryFeedbackMessageId","userFeedbackMessageId","handleRecovery","addUserMessage","addResponseMessage","setBadgeCount","OrgService","orgId","betaFuncRole","orgBetaFuncRequestBody","organizationUpdate","orgBetaFuncUpdate","organizationQuit","organizationDelete","updateOrgRequestBody","organizationCreate","orgsKeys","useOrgService","kickoutOrg","useKickoutOrg","kickout","approveOrg","useApproveOrg","approve","rejectOrg","useRejectOrg","reject","setAdmin","useSetAdmin","cancelAdmin","useCancelAdmin","invalidUsers","handleKickout","reload","handleApprove","handleReject","handleSetAdmin","handleCancelAdmin","getOptions","orgApproved","orgRole","setSelectedEmails","selectedEmails","hasSelected","isCheckAll","onCheckAll","clickRow","setClickRow","recoverHistoryMessage","handleTalkToUser","currentTalkUser","dropMessages","toggleWidget","marginLeft","users","orgName","productType","entity","hasOrg","listOrgUsers","useListOrgUsers","SettingsRowCard","ContentCard","CustomSettingsRowCard","CustomContentCard","BottomElement","greyColro0","Block","inputValue","OrganizationControl","toggleApprovable","approvable","orgList","setOrgList","availableOrganizations","priorityA","priorityB","hasApproved","useOrg","changeOrg","useChangeOrg","setSubmitting","RequestButton","introduce","createOrg","useCreateOrg","orgSectionValidationSchema","OrgInitSection","formikHelpers","OrgAdminSection","editable","org","useGetOrg","updateOrg","useUpdateOrg","deleteOrg","useDeleteOrg","quit","quitOrg","useQuitOrg","errorMessageLeft","setErrorMessageLeft","successMessageLeft","setSuccessMessageLeft","onUpdateSubmit","onDeleteSubmit","onQuitSubmit","InputRow","EmailForm","accountValidationSchema","activatable","reactive","useReactiveUser","enableReinitialize","licenseCode","updatePassword","useUpdatePassword","changePassword","passwordConfirmation","currentPassword","oldPassword","AuthErrorCodes","usePassword","useChangeName","updateName","useUpdateName","changeName","nameSectionValidationSchema","NameSection","useChangeCompanyName","updateCompanyName","useUpdateCompanyName","changeCompanyName","CompanyNameSection","FieldCol","AccountSettingsView","teamCategreyRoutes","newPath","menuItem","Component","SpinnerBlock","FetchMessage","PptAnalysisService","pptAnalysisId","pptAnalysisCreate","updatePptAnalysisName","usePptAnalysisService","useCreatePptAnalysis","analyzeFlag","validateFlag","updateStatsBeforeValidationFlag","deduplicateFlag","indexOnly","maxMembersForIndexOnly","maxMembers","maxPerTable","maxSpace","closeRewrite","slowQueryIds","rules","exampleAfter","exampleBefore","Loader","additionBottomControls","RuleFieldRowInner","RuleFieldRow","RuleFieldTable","HeaderCell","ArrowCell","getDefaultRulesTreeWithTraversal","ruleReadVoList","buildTreeWithTraversal","parentId","pid","isLeaf","rootNodes","treeNodes","rulesTree","dropdownStyle","popupMatchSelectWidth","virtual","treeData","treeDefaultExpandAll","RuleInfoHeader","isRowExpanded","selectHandler","updateRule","currentRule","setCurrentRule","streamHeaderContentStyle","threshold","setThreshold","setCategory","setLevel","setPid","defaultValidate","enableClear","hasChange","pidHasChange","RuleInfoCatalogSectionInner","changedSelected","toggleDetailRowExpand","hasFields","RuleInfoCatalogSection","TreeViewContainer","no_border_bottom","RulesInfoSection","setRules","newRules","validate","currentPageRules","setCurrentPageRules","RuleInfoCatalogHeader","catalogHeaderStyle","withTreeNode","ruleNode","borderBottom","UserConfigService","userConfigUpdate","updateUserConfig","userConfigsKeys","useUserConfigService","useGetUserConfig","getUserConfig","schedule","timeUnit","nullable","defined","namespaceDefinition","namespaceFormat","syncCatalog","streams","isRequest","strip","selected","syncMode","destinationSyncMode","primaryKey","cursorField","createError","sourceDefinedCursor","noUnknown","analysisValidationSchema","submitError","setSubmitError","userConfig","usePptAnalysisInitialValues","userRules","onSubmitComplete","afterSubmitAnalysis","hasSlowQueryIds","sqlCount","createAnalysis","onSubmitConnectionStep","getElementById","scrollIntoView","behavior","faAngleDown","PptCreationFormPage","_analysis","updateSlowQueryTemplateStatus","useUpdateSlowQueryTemplateRemark","slowQuery","updateRemark","ruleService","userConfigService","configById","slowQuerySqlText","dbName","numberOfRewrite","numberOfRewriteRules","numberOfIndex","numberOfViolations","performanceImprove","MarkdownView","SlowQueryDetailView","isAnalysisDeleted","openDetails","toggleOpenDetails","slowQueryService","analyzService","setDetails","setAnalysis","getPptAnalysis","footer","isOpenRequestJiraModal","toggleOpenRequestJiraModal","faJira","_statusConfig","statusIconProps","unoptimized","faPlay","adopted","faCheckDouble","ignored","faTrash","allQueries","setSelected","paginationProps","currentIds","selectedIds","baseColumns","prev","prevCount","sqlTextIndex","col","splice","nodeInfo","filterQueries","onConfirm","onConfirmButtonClick","latestJobRun","jobStatus","failedMessage","setFailedMessage","setRepeat","useManualCollect","onManualCollect","SQLTypeChart","setSqlTypes","handleClear","fieldValue","amount","fieldCount","SQLStatusChart","setStatuses","statusOptions","opt","EmptyCard","SlowQueryTrendBarChart","BasicSummaryCard","toggleOnlyBusiness","summaryVo","useSlowQueryTemplateSummary","slowQueryCnt","businessSlowQueryCnt","lastSlowQueryCronTime","SQLTimeRankBarList","avgTimeRankListOnlyBusiness","allValue","fieldAttr","summaryDataOnlyBusiness","SlowQuerySummaryDashBoard","cronTaskFlag","getStatusList","useGetStatusList","getSqlTypeList","useGetSqlTypeList","getShardList","useGetShardList","statuses","sqlTypes","shards","setShards","listWithPage","useSlowQueryTemplateListWithPage","slowQueries","onCreateAnalysisTask","selectedSlowQueries","batchUpdateStatus","useBatchUpdateStatus","updateStatus","menu","placement","setRow","detailsEn","detailsZh","updateInstanceField","useUpdateInstanceField","templateId","setTemplateId","notExist","SQLSchemaChart","setSchemas","DBObjectRuleRiskChart","setRuleCodes","levelRankInfo","ddlAdvisorRuleRiskRankInfo","levelSummaryData","ruleCodeList","RuleRankBarList","dbObjectCount","lastDbObjectCollectTime","DBObjectRankBarList","onClickObject","DBObjectSummaryDashBoard","setSearchQuery","dropdownDataResult","getDropdownData","useGetDbObjectDropdownData","schemas","ruleCodes","isViolated","toggleIsViolated","isNewObject","toggleIsNewObject","useDbObjectPageList","tag","dbObjects","setDbObjects","fieldLabelEn","fieldLabelZh","SelfHostsService","selfHostCreate","applyId","selfHostsKeys","useSelfHostsService","Yup","contactName","companyEmail","amountOfUsers","productSet","infoChannels","isComplete","toggleIsComplete","solutionOptions","userAmountOptions","save","useSaveSelfHost","applySlefHost","handleFormSubmit","subTitle","remark","StaticLayout","clip","borderWidth","instancesPath","switchDashboard","suffix","useDeleteAnalysis","deleteAnalysis","workspaceIcon","getAnalysisTableData","analyses","workloadDefinitions","workloadIcon","workspaceName","workloadName","numberOfQuery","numberOfSyntaxError","numberOfViolatedQuery","commentCount","needReply","WorkspaceDefinitionService","getWorkspaceDefinitionById","workspaceDefinitionKeys","useWorkspaceDefinition","useGetWorkspaceDefinitionService","useWorkspaceDefinitionList","stmtList","analysisStatementList","useAnalysisList","setAnalyses","analysisTimes","BreadcrumbsContainer","LastBreadcrumbsItem","BreadcrumbsItem","setAnalysisName","analysisNameBackup","setAnalysisNameBackup","useUpdateAnalysisName","updateAnalysisAsync","analysisNameTrimmed","QueryDetailView","CustomTh","CustomTr","QueriesView","useGetStatementList","numberOfHitIndex","performance","contributingIndices","SummaryView","useGetAnalysisSummary","summaryInfo","basicSummary","summaryMarkdown","summaryMarkdownZh","WorkspacesLink","CreateWorkspaceHint","HintText","ArrowIcon","StatusMainInfo","hasWorkspace","workspaceDefinition","workloadId","workspaceAnalysisPath","setShareLink","setSummary","setBreadcrumbsData","breadcrumbsData","textOverflow","MyAnalysisName","stmtName","useAnalysisInitialValues","DBRulesMap","ruleId","rewrite","dbTypeDefinitionId","workload","noTitles","useCreateAnalysis","MyWorkspaceService","FormData","append","workspaceCreate","createMyWorkspace","workspacesKeys","views","useWorkspaceService","useWorkspaceList","useGetWorkspace","useCreateWorkspace","workspaceCreator","WorkloadService","workloadIdRequestBody","workloadCreate","updateWorkload","workloadsKeys","useWorkloadService","EntityStepsTypes","useGetWorkload","useCreateWorkload","useUpdateWorkload","upload","FieldError","Context","BatchEditProvider","currentPageNodeIds","selectedBatchNodeIds","setSelectedBatchNodeIds","allChecked","onCheckAllPages","onCheckConfigItemSize","sortedNodes","useWorkloadBulkEdit","useWorkloadBulkEditSelect","isIncluded","queryMode","changePageNodes","setsortOrder","toggleHasClickSort","setSortingData","initState","setInitState","QueriesCatalogField","updateSelectedQueries","setCurrentPageNodeIds","dbname","userHost","queryTime","tempStr","setTempStr","updateQueries","queryIds","updateRawText","goBack","workloadAndWorkspaceValidationSchema","workloadFile","rawText","Blob","afterSubmit","isOpenWorkloadModal","toggleOpenWorkloadModal","updateError","setUpdateError","createWorkload","setWorkload","handleUpdate","handleDirectlyUpdate","onSubmitWorkloadAndWorkspaceForm","setQueryMode","setRawText","definitionList","currentWorkspace","currentWorkspaceDefinition","dbTypeDefinition","setDbTypeDefinition","databaseTypeDropdownData","dbVersionDropDown","setDbVersionDropDown","WorkloadCreateControls","useGetWorkspaceDefinitionSpecification","withDBType","definitions","$schema","additionalProperties","configType","configId","createdAt","endedAt","succeeded","logs","logLines","metastoreInfo","metastoreType","validateServer","validateHost","validatePort","validateUsername","validatePassword","textAndFileType","textAndFileTypeWitoutDbType","specification","WorkspaceCard","testWorkspaceWithTracking","WorkspaceForm","afterSelectWorkspace","setWorkspaceDefinitionId","workspaceDefinitionSpecification","afterCreate","createWorkspace","onSubmitWorkspaceStep","workspaceRead","isOpenWorkspaceForm","toggleIsOpenWorkspaceForm","setWorkspaceId","FormContent","PaddingBlock","workspaces","dropDownData","dropdownList","workspaceDef","sd","entityId","hasWorkspaceId","hasWorkloadId","CreationAnalysisFormPage","ANALYSIS","hasWorkspaces","CREATE_ANALYSIS","CREATE_WORKSPACE","CREATE_WORKLOAD","WORKSPACE","WORKLOAD","currentEntityStep","setCurrentEntityStep","onSelectExistingWorkspace","usePreloadData","renderStep","AnalysisBlockItem","LightContentCard","ExtraBlock","itemFrom","itemTo","alignContent","WorkloadForm","ConnectionCreateWorkloadForm","onSubmitWorkloadForm","AnalysisCreateSourceForm","CreationFormPage","locationType","workloadDefinition","useDeleteWorkspaceById","deleteWorkspaceById","setAsDemo","useSetWorkspaceAsDemo","setWorkspaceAsDemo","loadingList","setLoadingList","allColumns","entities","entityItem","entitySoDId","entityDefinitionId","def","entityName","numberOfAnalysis","latestAnalysisTime","latestAuditTime","numberOfAudit","tableNum","viewNum","indexNum","parseErrorNum","getMyEntityTableData","onCreateWorkspace","FilterContent","getIndexes","useGetWorkspaceIndexes","setIndexes","doAction","tblName","schemaName","idxText","tmpTables","getTables","useGetWorkspaceTables","tmpViews","getViews","useGetWorkspaceViews","setTables","primarykey","columnCount","rowCount","viewColumns","FilterDropDown","currentType","setCurrentType","AuditService","auditId","auditRequestBody","auditObjectListRequestBody","auditsKeys","object","auditObjectId","objectDetail","groupCount","useAuditService","useGetGroupCountRead","aduitId","getGroupCountRead","useAuditList","useDeleteAudit","deleteAudit","audit","audits","reuslt","auditObjectList","WorkspaceGrid","SelectWorkspaceType","SelectWorkspacePage","showTitle","WorkspaceTypeControl","onChangeWorkspaceType","databaseDefinitionId","DatabaseTypeControl","NewFormRoot","NewServiceForm","NewWorkspaceCard","NewWorkspaceForm","formDefinitionId","setFormDefinitionId","LoadingButton","LeftFieldColInput","RightFieldColInput","ConfigFields","setUpdateStatsBeforeValidationFlag","setValidateFlag","setAnalyzeFlag","setDeduplicateFlag","setIndexOnly","setMaxMembersForIndexOnly","setMaxMembers","setMaxPerTable","setMaxSpace","currentField","setCurrentField","OnUpdate","valueAsNumber","setCloseRewrite","useUpdateUserConfig","defaultRules","resetAndUpdateSuccessMessage","setResetAndUpdateSuccessMessage","useUpdateUserRules","updateUserRules","updateDefaultRules","resetAndUpdate","allPptJobs","PptJobTable","filterPptJobs","pptJob","setDbinstanceId","setJobType","toggleOnlyEnabled","usePptJobListWithPage","pptJobs","setPptJobs","getJobType","useGetJobTypes","jobTypeOptions","instanceOptions","ConnectorLabel","setMaxWorkloadMembers","UpdateButton","onUpdate","updateOrgToBeta","updateBetaFunc","useUpdateOrgToBeta","listBetaOrg","useOrgBetaFuncList","betaExplainOrgList","setBetaExplainOrgList","setEnableExplain","enablePpt","setEnablePpt","setSwitchDashboard","setOpenInstanceInNewTab","setEnableBanner","setBannerTextZh","setBannerTextEn","busy","setBusy","gptButtonFlag","enableVariableOpt","showSelectedItemsInList","caseSensitive","textField","dataKey","betaExplainFlag","emptyFilter","emptyList","_value","newList","renderListItem","renderTagValue","RuleTemplateActionButton","deleteRuleTemplate","handleDelete","ruleList","ruleTemplate","baseTemplateId","afterSubmitBasicInfo","tempDbTypeDropdownData","getDbTypeDropdownData","dbTypeDropdownData","setBaseTemplateId","splitIntoRows","getFieldMeta","currentTemplates","currentRow","renderCards","span","hoverable","bordered","gutter","TemplateRuleInfoHeader","setRuleList","baseIsGlobal","afterUpdateSingleRule","setValidate","updateSingleRule","useUpdateTemplateRule","TemplateRuleInfoCatalogSection","TemplateRulesInfoSection","TemplateRuleInfoCatalogHeader","cx","twMerge","clsx","badgeVariants","tv","variants","neutral","defaultVariants","forwardedRef","focusRing","Checkbox","CheckboxGroup","AntdCheckBox","allRuleList","mapData","checkedList","setCheckedList","secondOptions","secondPidList","checkAll","firstPid","nameEn","nameZh","secondPid","findChildren","nodeList","CustomDivider","Divider","CustomBlankDivider","allRules","nodeLevel","childNodeIds","secondOfFirstMapData","allDbType","allRiskList","riskList","setRiskList","setDisable","checkedCategoryList","setCheckedCategoryList","risk","curr","onCheck","RiSearchLine","onCheckedChange","useCreateRuleTemplate","createRuleTemplate","setAllRuleList","wrappedSetRuleList","prevState","newState","prevAllRules","updatedRule","handleCreateRuleTemplate","CONFIG_BASIC_INFO","currentBasicInfo","setCurrentBasicInfo","CONFIG_RULES","toggleIsOpen","template","ruletemplates","DeleteConfirm","static","setBaseIsGlobal","filterRuleList","setFilterRuleList","PptConfigPage","AppConfigPage","AuditObjectDetailContext","AuditObjectDetailProvider","rawSql","parsingException","ruleTemplateName","auditScore","ruleRankInfo","RuleRiskChart","AuditSummaryDashBoard","auditObjects","scoreUp","setScoreUp","scoreDown","setScoreDown","setData","listAuditObjectList","step","marks","onAfterChange","AuditObjectDetailView","detailId","useGetAudit","getAuditObject","auditName","setAudits","AuditConfigPage","audtiValidationSchema","useCreateAudit","onSubmitAuditForm","setDbType","isOpenRuleTemplateForm","toggleIsOpenRuleTemplateForm","templateDropDownData","workspaceDropDownData","setWorkspaceDropDownData","isClearable","ProductSection","appFeatures","pptFeatures","auditFeatures","responsive","paddingTop","CompanyBanner","gradientWidth","DatabaseSupport","logos","PawSQLLandingPage","verticalAlign","textDecoration","textWrap","gridTemplateColumns","userSelect","touchAction","transformOrigin","draggable","InternalPawSQLLandingPage","TestingIntegrationError","IntegrationService","reuqest","getBranches","updateIntegrationItem","deleteIntegrationItem","addIntegrationItem","integrationsKeys","repositories","useIntegrationService","useGetIntegration","getIntegration","githubValidationSchema","accessToken","addOrUpdateAccessToken","useAddOrUpdateAccessToken","addAccessToken","GitHubIntegrationConfig","InitialGitHubConfig","Spinner","LoadingBackdrop","ResponseMessage","messageStyle","devopsIntegrationItemId","useUpdateIntegrationItem","enableIntegrationItem","useDeleteIntegrationItem","toggleLoading","AllIntegrationPage","validateAccessToken","useValidateAccessToken","integration","integrationItems","listIntegrationItem","useListIntegrationItem","setStatus","repository","branch","baseDirectory","events","getRepositories","useGetRepositories","useGetBranches","useAddIntegrationItem","repositoryOptions","setRepositoryOptions","devopsIntegrationId","branchOptions","setBranchOptions","showBranch","toggleShowBranch","showBaseDirectory","toggleShowBaseDirectory","allEvent","setEvents","GitHubIntegrationItemConfig","EmailTemplatesService","emailTemplateCreate","emailTemplateId","emailTemplatesKeys","useEmailTemplatesService","useEmailTemplateList","titleZh","titleEn","contentZh","contentEn","filterRules","defaultValues","saveOrUpdate","useSaveOrUpdateEmailTemplate","saveOrUpdateEmailTemplate","handleCreateTemplate","RiCloseLine","senderNikeNameZh","senderNikeNameEn","titleMessageZh","titleMessageEn","EmailRemindersService","emailReminderCreate","emailReminderId","emailRemindersKeys","useEmailRemindersService","useSaveOrUpdateEmailReminder","ConfirmTestTask","hasSend","toggleHasSend","testTask","useTestEmailTemplateTask","testEmailTemplateTask","handleCreateReminder","TableHeaderCellStyled","TableHeaderCell","EllipsisTableCell","TableCell","setdefaultValues","useDeleteEmailTemplate","deleteEmailTemplate","ruleOptions","saveOrUpdateEmailReminder","templates","getTemplateById","expression","executeOnlyOnce","DoTaskConfirm","reminderId","doTask","useDoEmailReminderTask","doEmailReminderTask","useEmailReminderList","useDeleteEmailReminder","deleteEmailReminder","handleEnableReminder","EmailReminderForm","LogService","tail","describeContainerLogRequestBody","textBody","useLogService","BasicLogViewer","setStartTime","setTail","logViewerRef","getLog","getEciLog","useGetLog","handleOnClick","hasLineNumbers","isTextWrapped","toolbar","Toolbar","ToolbarContent","ToolbarItem","minSearchChars","Decoder","setText","setResult","decode","useDecoder","resultStr","dbPassword","dbSchemaName","faArrowRight","LogCard","VersionContainer","VersionLabel","VersionText","setContentBefore","showDiff","setShowDiff","oracleExplain","setOracleExplain","oracleContent","setOracleContent","jarVersion","senderNickname","emialSend","createEmailTask","useCreateEmailTask","emails","sendEmails","useSendEmails","emailList","setEmails","toggleOpenEmailModal","currentLanguage","setCurrentLanguage","isOpenEmailFormModal","toggleOpenEmailFormModal","isOpenEmailTaskFormModal","toggleOpenEmailTaskFormModal","isOpenEmailModal","demoText","setDemoText","demoResult","setDemoResult","CardHeader","CardContent","CenteredContent","SimpleDetailView","QuerySimpleDetailPage","setIsEn","extractedContent","ok","PlanUsageSection","subscription","paddle","getUsage","useGetUserSubscriptionUsage","loadingPriceId","setLoadingPriceId","onTimePlans","lastPlan","monthlyPriceId","lastPaddlePriceId","yearlyPriceId","lastPlanLimit","oneTimePriceId","handleSwitchPlan","handleOneTimePlan","Checkout","customer","quantity","successUrl","customData","lastPlanRemaining","used","remaining","planAnalysisLimit","currentRemaining","nextResetTime","toLocaleDateString","oneTimeLimit","oneTimeRemaining","cy","PlanManagementSection","prices","paddlePortalSession","isFree","isPastDue","currentPrice","price","paddlePriceId","formattedTotals","cancelUrl","subscriptions","cancel_subscription","invoiceUrl","general","overview","handleClickCancel","billingCycle","autoRenewal","periodEnd","dayjs","utc","timezone","formatDateWithTimezone","BillingSection","withSubscription","updatePaymentMethodUrl","update_subscription_payment_method","SubscriptionOverview","formatCurrency","currency","numericAmount","Intl","NumberFormat","currencyDisplay","SubscriptionUpdatePreview","newPlan","preview","cycle","immediate_transaction","billing_period","starts_at","endDate","ends_at","update_summary","currency_code","line_items","price_id","totals","subtotal","tax","proration","rate","tax_rates_used","tax_rate","SubscriptionPlan","currentBillingCycle","setCurrentBillingCycle","toggleUpdateLoading","updateSubscriptionPlan","useUpdateSubscribePlan","previewUpdateSubscriptionPlan","usePreviewUpdateSubscriptionPlan","previewData","setPreviewData","showUpdatePreview","setShowUpdatePreview","selectedPlan","setSelectedPlan","handlePreviewUpdate","openCheckout","jsonStr","lastIndexOf","paddleError","nameKey","PricingFAQ","question","answer","Accordion","panel","handleChange","AccordionSummary","expandIcon","AccordionDetails","SubscriptionPricing","useGetUserSubscription","getPaddleLink","useGetPaddleLink","setPaddle","setPrices","initializePaddle","paddleInstance","SubscriptionPlanNotLogin","MainViewRoutes","authorizedProductCode","RoutingWithInstance","CloudRouting","useEffectOnce","License","authorizedProduct","authorizer","authorizedPerson","authorizedPersonEmail","macAddress","authorizationExpirationDate","authorizationTime","PawSQLLicensePage","InternalRouting","Routing","StyleProvider","configProviders","Services","setLocale","en","zh"],"sourceRoot":""}