{"version":3,"file":"javascript/main.js","mappings":"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","sources":["webpack:///./index.js","webpack:///./polyfill.js","webpack:///./jsw/index.js","webpack:///./jsw/namespace.js","webpack:///./jsw/createComponent.js","webpack:///./jsw/component.js","webpack:///./jsw/tooltip.js","webpack:///./jsw/escapeHtml.js","webpack:///./jsw/Locale.js","webpack:///./jsw/api.js","webpack:///../common/user-activity-tracking.js","webpack:///./helpers/isNetworkError.js","webpack:///./jsw/addUrlParams.js","webpack:///./jsw/emptyFn.js","webpack:///./jsw/Observer.js","webpack:///./components/common/Translate.js","webpack:///../common/react-compat.js","webpack:///external var \"window.PleskUiLibrary\"","webpack:///./jsw/render.js","webpack:///./jsw/onReady.js","webpack:///./jsw/addStatusMessage.js","webpack:///./jsw/status-message.js","webpack:///./jsw/prepareUrl.js","webpack:///./jsw/createElement.js","webpack:///./jsw/clearStatusMessages.js","webpack:///./helpers/pageData.js","webpack:///./jsw/showInternalError.js","webpack:///./jsw/escapeAttribute.js","webpack:///./jsw/unescapeHtml.js","webpack:///./jsw/fireCustomEvent.js","webpack:///./jsw/keyCode.js","webpack:///./jsw/hint.js","webpack:///./helpers/createHtmlElement.js","webpack:///./jsw/button.js","webpack:///./jsw/small-button.js","webpack:///./jsw/big-button.js","webpack:///./jsw/split-button.js","webpack:///./jsw/command-button.js","webpack:///./jsw/custom-button.js","webpack:///./jsw/tool-list.js","webpack:///./jsw/container.js","webpack:///./jsw/form-redirect.js","webpack:///./jsw/form.js","webpack:///./jsw/form-ajax.js","webpack:///./jsw/list-container.js","webpack:///./jsw/layout.js","webpack:///../common/cookie.js","webpack:///./jsw/panel.js","webpack:///./jsw/message-box.js","webpack:///./jsw/modal-dialog-box.js","webpack:///./jsw/dropdown-header.js","webpack:///./jsw/dropdown-manager.js","webpack:///./jsw/small-tools.js","webpack:///./jsw/list/Filters.js","webpack:///./images/blank.gif","webpack:///./jsw/collapsible-block.js","webpack:///./jsw/pathbar.js","webpack:///./jsw/bar.js","webpack:///./jsw/dynamic-sub-form.js","webpack:///./jsw/box.js","webpack:///./jsw/gauge.js","webpack:///./jsw/popup-form.js","webpack:///./jsw/ajax-popup-form.js","webpack:///./jsw/Popup.js","webpack:///./jsw/double-list-selector.js","webpack:///./jsw/enhanced-double-list-selector.js","webpack:///./images/search-input.png","webpack:///./images/clear-search.png","webpack:///./jsw/dynamic-popup-hint.js","webpack:///./jsw/password-meter.js","webpack:///./helpers/estimatePassword.js","webpack:///./apolloClient.js","webpack:///./jsw/password-generator.js","webpack:///./helpers/shuffle.js","webpack:///./jsw/upgrade-failure-notification.js","webpack:///./jsw/webserver-configuration-failure.js","webpack:///./jsw/confirmation-popup-manager.js","webpack:///./jsw/lookup.js","webpack:///./jsw/list/index.js","webpack:///./jsw/list/List.js","webpack:///./jsw/list/ListContextMenu.js","webpack:///./jsw/isRtl.js","webpack:///./jsw/list/constants.js","webpack:///./icons/16/plesk/menu.png","webpack:///./helpers/stripTags.js","webpack:///./jsw/list/AdditionalActions.js","webpack:///./jsw/unresolved-domain-warning.js","webpack:///./jsw/task-progress-bar.js","webpack:///./helpers/toasts.js","webpack:///./jsw/pleskWS.js","webpack:///./jsw/task-status-message.js","webpack:///./jsw/active-list.js","webpack:///./icons/16/plesk/settings-toolbar.png","webpack:///./icons/16/plesk/order-ascending.png","webpack:///./icons/16/plesk/order-descending.png","webpack:///./icons/16/plesk/list-type-active.png","webpack:///./icons/16/plesk/list-type-classic.png","webpack:///./jsw/file-manager/tree.js","webpack:///./helpers/fileManager.js","webpack:///./icons/16/plesk/uplevel.png","webpack:///./icons/16/plesk/file-folder.png","webpack:///./icons/16/plesk/file-txt.png","webpack:///./icons/16/plesk/file-image.png","webpack:///./icons/16/plesk/file-audio.png","webpack:///./icons/16/plesk/file-private.png","webpack:///./icons/16/plesk/file-webscript.png","webpack:///./icons/16/plesk/file-html.png","webpack:///./icons/16/plesk/file-arch.png","webpack:///./icons/16/plesk/file-binary.png","webpack:///./images/tree-open.gif","webpack:///./images/indicator.gif","webpack:///./images/tree-close.gif","webpack:///./jsw/file-manager/upload-adapter-iframe.js","webpack:///./jsw/directory-browser.js","webpack:///./jsw/drop-area.js","webpack:///./jsw/groups-list.js","webpack:///./jsw/issue-reporter.js","webpack:///./jsw/object-switcher.js","webpack:///./jsw/PopupSlider.js","webpack:///./jsw/scrollable-list.js","webpack:///./jsw/uat.js","webpack:///../common/gdpr-storage.js","webpack:///./jsw/getControlPanelLoginHtml.js","webpack:///./jsw/punycode.js","webpack:///./plesk.js","webpack:///./components/App.js","webpack:///./routes/index.js","webpack:///./helpers/dates.js","webpack:///./helpers/routesTransformer.js","webpack:///./queries/License.graphql","webpack:///./components/layouts/AppLayout.js","webpack:///./helpers/getId.js","webpack:///./components/DynamicModule.js","webpack:///./queries/TaskProgressBar.graphql","webpack:///./components/layouts/CpPagesLayout.js","webpack:///./components/layouts/PageLayout/PageLayout.js","webpack:///../common/hooks/useClickOutside.js","webpack:///../common/hooks/useEventListener.js","webpack:///../common/hooks/useLocalStorage.js","webpack:///../common/helpers/readLocalStorageValue.js","webpack:///../common/hooks/useMediaQuery.js","webpack:///../common/hooks/useDebounce.js","webpack:///./components/layouts/CookiePolicy/CookiePolicy.js","webpack:///./hooks/useCollector.js","webpack:///./hooks/useConfirmation.js","webpack:///./hooks/useCreateFormInDrawer.js","webpack:///./components/common/DrawerWithProgress.js","webpack:///./hooks/useNavigate.js","webpack:///./queries/CreateFormInDrawer.graphql","webpack:///./queries/UpdateUserSettings.graphql","webpack:///./hooks/useListOperation.js","webpack:///./hooks/useList.js","webpack:///./hooks/useModal.js","webpack:///./components/layouts/CookiePolicy/Info.js","webpack:///./components/layouts/CookiePolicy/urls.js","webpack:///./components/layouts/CookiePolicy/Preferences/Preferences.js","webpack:///./components/layouts/CookiePolicy/Preferences/DrawerAdapter.js","webpack:///./components/layouts/CookiePolicy/Preferences/OverlayAdapter.js","webpack:///./components/layouts/CookiePolicy/Preferences/Overlay.js","webpack:///./queries/CookiePolicy.graphql","webpack:///./components/jsw/JswComponent.js","webpack:///./components/layouts/StatusMessages/StatusMessages.js","webpack:///./components/layouts/StatusMessages/LicenseLimitsMessage/LicenseLimitsMessage.js","webpack:///./components/common/Link.js","webpack:///./components/layouts/PageLayout/LicenseStatus.js","webpack:///./components/layouts/PageLayout/PageHeader/PageHeader.js","webpack:///./components/layouts/PageLayout/PageHeader/MainHeaderSearch/MainHeaderSearch.js","webpack:///./helpers/form.js","webpack:///./queries/MainHeaderSearch.graphql","webpack:///./components/layouts/PageLayout/PageHeader/MainHeaderSearch/RecentSearchHistoryQuery.graphql","webpack:///./components/layouts/PageLayout/PageHeader/MainHeaderSearch/DeleteRecentSearchResultMutation.graphql","webpack:///./components/layouts/PageLayout/PageHeader/MainHeaderNavbar.js","webpack:///./components/layouts/PageLayout/PageHeader/SubscriptionSwitcher.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenter.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/applyFilter.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/utils.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/PropTypes.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/api.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterView.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterList/index.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterList/SubjectColumn.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/notificationIntent.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/groupNotifications.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterList/DateColumn.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationDate.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationActions.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterList/FilterMenu.js","webpack:///./images/notification-center-empty.svg","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/getIntentByNotification.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/getMostIntentByNotifications.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationToast.js","webpack:///./queries/NotificationCenter.graphql","webpack:///./components/layouts/PageLayout/PageHeader/HelpMenu.js","webpack:///./queries/HelpMenu.graphql","webpack:///./queries/AccountMenu.graphql","webpack:///./queries/MainHeaderNavbar.graphql","webpack:///./icons/16/plesk/top-advisor.svg","webpack:///./images/logos/powered-logo.png","webpack:///./components/layouts/PageLayout/PageSidebar.js","webpack:///./components/layouts/PageLayout/ViewSwitcher.js","webpack:///./icons/16/plesk/nav-navigation.svg","webpack:///./components/layouts/Brand/Brand.js","webpack:///./queries/Branding.graphql","webpack:///./queries/MainMenu.graphql","webpack:///./components/layouts/PageLayout/PageFooter.js","webpack:///./queries/PageFooter.graphql","webpack:///./components/layouts/PageLayout/PageContentHeader.js","webpack:///./components/layouts/PageLayout/ObjectSwitcher.js","webpack:///./components/layouts/PageLayout/PageContentHeaderNav.js","webpack:///./components/layouts/PageLayout/getTitleForHelpSearchQuery.js","webpack:///./components/layouts/PageLayout/withPageLayout.js","webpack:///./components/layouts/PageLayout/withSimplePageLayout.js","webpack:///./components/layouts/PhpPagesLayout.js","webpack:///./components/AppBoundary.js","webpack:///../common/components/ErrorPage.js","webpack:///../common/components/RepairKitAlert.js","webpack:///../common/components/ExceptionDetails.js","webpack:///../common/components/ErrorPage.module.css?23dd","webpack:///./components/pages/LogsPage.js","webpack:///./components/common/GraphQlList/GraphQlList.js","webpack:///./components/common/GraphQlList/GraphQlListContext.js","webpack:///./components/common/GraphQlList/GraphQlListSearchBar.js","webpack:///./components/common/GraphQlList/useGraphQlList.js","webpack:///./components/common/GraphQlList/helpers.js","webpack:///./routes/odbcServerRoute.js","webpack:///./routes/odbcAddRoute.js","webpack:///./queries/OdbcAddPage.graphql","webpack:///./routes/odbcEditRoute.js","webpack:///./queries/OdbcEditPage.graphql","webpack:///./queries/OdbcEditFragment.graphql","webpack:///./queries/OdbcServerList.graphql","webpack:///./queries/OdbcListFragment.graphql","webpack:///./routes/domainOverviewRoutes.js","webpack:///./queries/HostingSettingsPage.graphql","webpack:///./routes/summaryReportRoute.js","webpack:///./queries/SummaryReportLayoutsPage.graphql","webpack:///./queries/SummaryReportLayoutAddPage.graphql","webpack:///./queries/SummaryReportLayoutEditPage.graphql","webpack:///./queries/TrafficHistoryReportPage.graphql","webpack:///./queries/SummaryReportSchedulesPage.graphql","webpack:///./queries/SummaryReportScheduleAddPage.graphql","webpack:///./queries/SummaryReportScheduleEditPage.graphql","webpack:///./queries/SummaryReportPrintPage.graphql","webpack:///./queries/SummaryReportFragment.graphql","webpack:///./queries/SummaryReportPage.graphql","webpack:///./routes/domainRoute.js","webpack:///./helpers/getContextUrl.js","webpack:///./routes/aspDotNetDomainSettingsRoute.js","webpack:///./queries/AspDotNetDomainSettingsPage.graphql","webpack:///./routes/bandwidthLimitingDomainRoute.js","webpack:///./queries/BandwidthLimitingPage.graphql","webpack:///./routes/hotlinkProtectionDomainRoute.js","webpack:///./queries/HotlinkProtectionPage.graphql","webpack:///./routes/odbcDomainRoute.js","webpack:///./queries/OdbcDomainList.graphql","webpack:///./queries/OdbcDomainPage.graphql","webpack:///./queries/DomainSubscriptionOdbcLimitFragment.graphql","webpack:///./routes/protectedDirectoriesRoute.js","webpack:///./routes/protectedDirectoryListRoute.js","webpack:///./routes/protectedDirectoryAddRoute.js","webpack:///./queries/ProtectedDirectoryAddPage.graphql","webpack:///./routes/protectedDirectoryEditRoute.js","webpack:///./queries/ProtectedDirectoryEditPage.graphql","webpack:///./queries/ProtectedDirectoryEditFragment.graphql","webpack:///./queries/ProtectedDirectoryList.graphql","webpack:///./routes/protectedDirectoryUserListRoute.js","webpack:///./routes/protectedDirectoryUserAddRoute.js","webpack:///./queries/ProtectedDirectoryPath.graphql","webpack:///./routes/protectedDirectoryUserPasswordRoute.js","webpack:///./queries/ProtectedDirectoryUserList.graphql","webpack:///./queries/ProtectedDirectoryUserListFragment.graphql","webpack:///./routes/virtualDirectoryRoute.js","webpack:///./components/sidebars/VirtualDirectorySidebar.js","webpack:///./components/sidebars/SidePanel.js","webpack:///./helpers/buildUrl.js","webpack:///./queries/VirtualDirectoryPage.graphql","webpack:///./queries/CreateVirtualDirectoryPage.graphql","webpack:///./queries/VirtualDirectoryParentContentFragment.graphql","webpack:///./queries/EditVirtualDirectoryPage.graphql","webpack:///./queries/VirtualDirectoryBrowsePage.graphql","webpack:///./queries/VirtualDirectoryProtectionPage.graphql","webpack:///./queries/VirtualDirectoryProtectionUserList.graphql","webpack:///./queries/VirtualDirectoryMimeTypeList.graphql","webpack:///./queries/VirtualDirectoryErrorDocList.graphql","webpack:///./queries/VirtualDirectoryContentList.graphql","webpack:///./queries/VirtualDirectoryPhpPage.graphql","webpack:///./queries/IisManagerMimeContentTypes.graphql","webpack:///./queries/VirtualDirectoryEditMimeTypePage.graphql","webpack:///./queries/VirtualDirectoryEditErrorDocPage.graphql","webpack:///./routes/trafficUsageByDomainRoute.js","webpack:///./queries/TrafficUsageByDomainPage.graphql","webpack:///./queries/DomainTrafficUsage.graphql","webpack:///./queries/DomainPage.graphql","webpack:///./routes/trafficUsageByViewerResellersRoute.js","webpack:///./queries/TrafficUsageIntervals.graphql","webpack:///./queries/TrafficUsageByViewerClientsList.graphql","webpack:///./queries/TotalTrafficUsageByViewerClients.graphql","webpack:///./routes/trafficUsageByResellerRoute.js","webpack:///./queries/TrafficUsageByResellerClientsList.graphql","webpack:///./queries/TotalTrafficUsageByReseller.graphql","webpack:///./routes/trafficUsageByCustomerDomainsRoute.js","webpack:///./routes/trafficUsageByClientDomainsRoute.js","webpack:///./queries/ClientTrafficUsageIntervals.graphql","webpack:///./queries/TrafficUsageByClientDomainsList.graphql","webpack:///./queries/TotalTrafficUsageByClientDomains.graphql","webpack:///./queries/ClientTotalTrafficUsageByDomainsFragment.graphql","webpack:///./routes/trafficUsageByViewerCustomersRoute.js","webpack:///./routes/trafficUsageByViewerDomainsRoute.js","webpack:///./queries/TrafficUsageByViewerDomainsList.graphql","webpack:///./queries/TotalTrafficUsageByViewerDomains.graphql","webpack:///./routes/homeRoute.js","webpack:///./components/pages/HomePage/queries/index.js","webpack:///./components/pages/HomePage/constants.js","webpack:///./queries/AdminHomeServerInfo.graphql","webpack:///./queries/AdminHomeUpdates.graphql","webpack:///./queries/AdminHomeOverusedSubscriptions.graphql","webpack:///./queries/AdminHomeMySubscriptions.graphql","webpack:///./queries/AdminHomeExtensions.graphql","webpack:///./queries/AdminHomeChangeLog.graphql","webpack:///./components/pages/HomePage/TitleAddon.js","webpack:///./components/pages/HomePage/common/isEmptyLayout.js","webpack:///./queries/AdminHomePage.graphql","webpack:///./components/pages/HomePage/queries/Customization.graphql","webpack:///./routes/infoAndStatisticsRoute.js","webpack:///./routes/resourceUsageByDomainRoute.js","webpack:///./queries/DomainsResourceUsage.graphql","webpack:///./queries/InfoAndStatisticsPage.graphql","webpack:///./queries/ServerInformationPage.graphql","webpack:///./queries/ViewerType.graphql","webpack:///./queries/IpAddressDomainsPage.graphql","webpack:///./queries/ChangeSubscriptionsOwner.graphql","webpack:///./queries/VirtualHostTemplatePage.graphql","webpack:///./queries/LoginPage.graphql","webpack:///./queries/DnsRecordsPage.graphql","webpack:///./components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer/EditDnsRecord.graphql","webpack:///./components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer/AddDnsRecord.graphql","webpack:///./queries/DnsSoaRecordsPage.graphql","webpack:///./queries/EditInterfaceViewPage.graphql","webpack:///./queries/NotificationUiSetting.graphql","webpack:///./queries/BrandingPage.graphql","webpack:///./queries/DatabaseServersPage.graphql","webpack:///./queries/DatabaseServerUpgradePage.graphql","webpack:///./queries/DatabaseServerCreatePage.graphql","webpack:///./queries/DatabaseServerPropertiesPage.graphql","webpack:///./queries/DatabaseServerDatabasesPage.graphql","webpack:///./queries/DatabaseServerChangePasswordPage.graphql","webpack:///./queries/WebsitesDiagnosticPage.graphql","webpack:///./queries/SystemTimePage.graphql","webpack:///./queries/ServerMailSettingsPage.graphql","webpack:///./queries/ServerMailTabs.graphql","webpack:///./queries/ServerMailBlackListPage.graphql","webpack:///./queries/ServerMailWhiteListPage.graphql","webpack:///./queries/ServerMailAntivirusPage.graphql","webpack:///./queries/ServerMailSpamFilterPage.graphql","webpack:///./queries/ServerMailSpamStatistics.graphql","webpack:///./queries/ServerMailSmarthostPage.graphql","webpack:///./queries/PrimaryKeyInfoPage.graphql","webpack:///./queries/MasterKeyProcessingState.graphql","webpack:///./queries/PrimaryKeyUploadPage.graphql","webpack:///./queries/PrimaryKeyRevertPage.graphql","webpack:///./queries/AdditionalKeysPage.graphql","webpack:///./queries/AdditionalKeyUploadPage.graphql","webpack:///./queries/AdditionalKeyInfoPage.graphql","webpack:///./queries/AdditionalKeyRevertPage.graphql","webpack:///./queries/FirewallGeneralPage.graphql","webpack:///./queries/FirewallIcmpPage.graphql","webpack:///./queries/FirewallRulesPage.graphql","webpack:///./queries/ServerComponentsPage.graphql","webpack:///./queries/IpAddressPage.graphql","webpack:///./components/pages/IpAddressResellersPage/IpAddressResellerList.graphql","webpack:///./components/pages/IpAddressResellersPage/AssignIpAddressToResellerForm/UnassignedIpAddressResellers.graphql","webpack:///./queries/ClientIpAddress.graphql","webpack:///./components/pages/ClientIpAddressPage/ClietnIpAddressProperties.graphql","webpack:///./components/pages/ClientIpAddressPage/AssignClientIpAddress/AssignClientIpAddressDrawer.graphql","webpack:///./queries/PhpExtensionsPage.graphql","webpack:///./queries/TsSessionPage.graphql","webpack:///./queries/TsSessionsPage.graphql","webpack:///./queries/AspDotNetServerSettingsPage.graphql","webpack:///./queries/ServerAboutPage.graphql","webpack:///./queries/MassMailPage.graphql","webpack:///./queries/CreateMassMailTemplatePage.graphql","webpack:///./queries/SendMassMailPage.graphql","webpack:///./queries/EditMassMailTemplatePage.graphql","webpack:///./queries/ActionLogPage.graphql","webpack:///./queries/ServerSettingsPage.graphql","webpack:///./queries/SpamFilterSettingsTabs.graphql","webpack:///./queries/ServerMailSpamFilterBlackListPage.graphql","webpack:///./queries/ServerMailSpamFilterWhiteListPage.graphql","webpack:///./components/pages/LoginPage/LoginPage.js","webpack:///./components/Form.js","webpack:///./components/layouts/LoginLayout.js","webpack:///./components/layouts/LayoutBackground.js","webpack:///./components/pages/LoginPage/LoginMobileApplicationPromotion.js","webpack:///./icons/64/plesk/plesk.png","webpack:///./components/pages/LoginPage/SuggestResolvableHostname.js","webpack:///./components/common/LocaleSwitcher/LocaleSwitcher.js","webpack:///./components/pages/GetPasswordPage.js","webpack:///./queries/GetPasswordPage.graphql","webpack:///./components/pages/RestorePasswordPage.js","webpack:///./components/LocaleProvider.js","webpack:///./components/common/ErrorBoundary.js","webpack:///./app/index.js","webpack:///../common/sentry.js","webpack:///./legacy/index.js","webpack:///./legacy/admin-panel.js","webpack:///./legacy/smb.js","webpack:///./legacy/common.js","webpack:///./legacy/chk.js","webpack:///./legacy/Tooltip.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/chunk loaded","webpack:///webpack/runtime/create fake namespace object","webpack:///webpack/runtime/load script","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/ensure chunk","webpack:///webpack/runtime/get javascript chunk filename","webpack:///webpack/runtime/get mini-css chunk filename","webpack:///webpack/runtime/global","webpack:///webpack/runtime/harmony module decorator","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/sharing","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/compat","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport './styles/index.less';\r\nimport './app/index.less';\r\nimport './components/index.less';\r\nimport './views/index.less';\r\nimport './styles/themes.less';\r\n\r\nimport './polyfill';\r\n\r\nimport * as Jsw from './jsw';\r\nimport * as Plesk from './plesk';\r\nimport './legacy';\r\n\r\nwindow.Jsw = Jsw;\r\nwindow.Plesk = Plesk;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport 'core-js/stable';\r\n\r\n/**\r\n * Workaround for 'delete arrayProto.entries;' from prototype.js\r\n */\r\nif (!Array.prototype.entries) {\r\n // eslint-disable-next-line no-extend-native\r\n Array.prototype.entries = function () {\r\n let index = 0;\r\n const arr = this;\r\n return {\r\n next() {\r\n if (index < arr.length) {\r\n return { value: [index, arr[index++]], done: false };\r\n }\r\n return { value: undefined, done: true };\r\n },\r\n [Symbol.iterator]() {\r\n return this;\r\n },\r\n };\r\n };\r\n}\r\n\r\n\r\n/**\r\n * Workaround for Array.from(new Set(['1', '2'])) from prototype.js\r\n */\r\n// eslint-disable-next-line no-extend-native\r\nSet.prototype.toArray = function () {\r\n const array = [];\r\n this.forEach(item => array.push(item));\r\n return array;\r\n};\r\n\r\n/**\r\n * Workaround for Array.from(new Map([['a', 1], ['b', 2]])) from prototype.js\r\n */\r\n// eslint-disable-next-line no-extend-native\r\nMap.prototype.toArray = function () {\r\n const array = [];\r\n this.forEach((item, key) => array.push([key, item]));\r\n return array;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n/**\r\n * This is part of public Jsw API. Don't modify it!\r\n */\r\n\r\nexport const version = '1.0';\r\n\r\nexport { default as namespace } from './namespace';\r\nexport { default as createComponent } from './createComponent';\r\nexport { default as onReady, priority } from './onReady';\r\nexport { default as addStatusMessage } from './addStatusMessage';\r\nexport { default as clearStatusMessages } from './clearStatusMessages';\r\nexport { default as showInternalError } from './showInternalError';\r\nexport { default as prepareUrl } from './prepareUrl';\r\nexport { default as addUrlParams } from './addUrlParams';\r\nexport { default as render } from './render';\r\nexport { default as createElement } from './createElement';\r\nexport { default as escapeAttribute } from './escapeAttribute';\r\nexport { default as escapeHtml } from './escapeHtml';\r\nexport { default as unescapeHtml } from './unescapeHtml';\r\nexport { default as emptyFn } from './emptyFn';\r\nexport { default as fireCustomEvent } from './fireCustomEvent';\r\nexport { default as keyCode } from './keyCode';\r\n\r\nexport { Component, registerComponent, getComponent } from './component';\r\nexport { default as Locale } from './Locale';\r\nexport { Hint } from './hint';\r\nexport { Button } from './button';\r\nexport { SmallButton } from './small-button';\r\nexport { BigButton } from './big-button';\r\nexport { SplitButton } from './split-button';\r\nexport { CommandButton } from './command-button';\r\nexport { CustomButton } from './custom-button';\r\n\r\nexport { FormRedirect, submit, redirect, redirectPost } from './form-redirect';\r\n\r\nimport { DisplayField, Values } from './form';\r\nexport const form = {\r\n DisplayField,\r\n Values,\r\n};\r\n\r\nexport { FormAjax } from './form-ajax';\r\nexport { Container } from './container';\r\nexport { ListContainer } from './list-container';\r\n\r\nimport { TwoColumns } from './layout';\r\nexport const layout = {\r\n TwoColumns,\r\n};\r\n\r\nexport { default as Cookie } from 'common/cookie';\r\nexport { Panel } from './panel';\r\n\r\nexport { messageBox, MessageBox, AjaxMessageBox, MultiCheckboxMessageWindow, WebspaceFoldersMessageBox } from './message-box';\r\n\r\nexport { DropdownHeader } from './dropdown-header';\r\nexport { DropdownManager } from './dropdown-manager';\r\nexport { SmallTools } from './small-tools';\r\nexport { CollapsibleBlock } from './collapsible-block';\r\nexport { Pathbar } from './pathbar';\r\n\r\nexport { Bar, bar } from './bar';\r\n\r\nexport { DynamicSubForm, AddRemoveDynamicSubForm } from './dynamic-sub-form';\r\n\r\nexport { Box } from './box';\r\nexport { Gauge } from './gauge';\r\nexport { Tooltip } from './tooltip';\r\nexport { ModalDialogBox } from './modal-dialog-box';\r\nexport { PopupForm } from './popup-form';\r\nexport { AjaxPopupForm } from './ajax-popup-form';\r\nexport Popup from './Popup';\r\nexport { DoubleListSelector } from './double-list-selector';\r\nexport { EnhancedDoubleListSelector } from './enhanced-double-list-selector';\r\n\r\nexport { ToolList, toollist } from './tool-list';\r\n\r\nexport { DynamicPopupHint } from './dynamic-popup-hint';\r\nexport { PasswordMeter } from './password-meter';\r\nexport { PasswordGenerator } from './password-generator';\r\nexport { UpgradeFailureNotification } from './upgrade-failure-notification';\r\nexport { WebserverConfigurationFailure } from './webserver-configuration-failure';\r\nexport { ConfirmationPopupManager } from './confirmation-popup-manager';\r\nexport { LookUp } from './lookup';\r\nexport { StatusMessage } from './status-message';\r\nexport { default as Observer } from './Observer';\r\nexport { UnresolvedDomainWarning } from './unresolved-domain-warning';\r\n\r\nimport { ProgressBar } from './task-progress-bar';\r\nimport { StatusMessage, STATUS_DONE, STATUS_ERROR, STATUS_STARTED, STATUS_NOT_STARTED, STATUS_CANCELED } from './task-status-message';\r\nexport const Task = {\r\n ProgressBar,\r\n StatusMessage,\r\n STATUS_DONE,\r\n STATUS_ERROR,\r\n STATUS_STARTED,\r\n STATUS_NOT_STARTED,\r\n STATUS_CANCELED,\r\n};\r\n\r\nexport { ActiveList } from './active-list';\r\n\r\nimport { Tree } from './file-manager/tree';\r\nimport { UploadAdapterIframe } from './file-manager/upload-adapter-iframe';\r\nexport const FileManager = {\r\n Tree,\r\n UploadAdapterIframe,\r\n};\r\n\r\nexport { DirectoryBrowser } from './directory-browser';\r\nexport { DropArea } from './drop-area';\r\nexport { GroupsList } from './groups-list';\r\nexport { ReporterPopup } from './issue-reporter';\r\nexport { ObjectSwitcher } from './object-switcher';\r\nexport PopupSlider from './PopupSlider';\r\nexport { ScrollableList } from './scrollable-list';\r\nexport { UAT } from './uat';\r\n\r\nexport * from './list';\r\n\r\nexport { default as getControlPanelLoginHtml } from './getControlPanelLoginHtml';\r\nexport { default as api } from './api';\r\n\r\nexport { default as pleskWS } from './pleskWS';\r\nexport * from './punycode';\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Creates namespaces to be used for scoping variables and classes so that they are not global.\r\n * Specifying the last node of a namespace implicitly creates all other nodes. Usage:\r\n *\r\n * namespace('Module.SubModule.list');\r\n *\r\n * @param {String} ns\r\n * @param {Boolean} autoCreate=true\r\n * @return {Object} The object that is the namespace or class name.\r\n */\r\nexport default (ns, autoCreate = true) => {\r\n const nsParts = ns.split('.');\r\n let root = window;\r\n\r\n for (let partIndex = 0; partIndex < nsParts.length; partIndex++) {\r\n if (typeof root[nsParts[partIndex]] === 'undefined') {\r\n if (autoCreate) {\r\n root[nsParts[partIndex]] = {};\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n root = root[nsParts[partIndex]];\r\n }\r\n\r\n return root;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport namespace from './namespace';\r\n\r\n/**\r\n * Creates a new Component from the specified config object using the config object's\r\n * `componentType` to determine the class to instantiate.\r\n * @param {Object} config A configuration object for the Component you wish to create.\r\n * @returns {Component} The newly instantiated Component.\r\n */\r\nexport default config => {\r\n if (!config.componentType || config instanceof Component) {\r\n return config;\r\n }\r\n\r\n const Cls = typeof config.componentType === 'string'\r\n ? namespace(config.componentType, false)\r\n : config.componentType;\r\n if (!Cls) {\r\n throw new Error(`Unrecognized class name: ${config.componentType}`);\r\n }\r\n return new Cls(config);\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Tooltip } from './tooltip';\r\nimport Locale from './Locale';\r\nimport render from './render';\r\n\r\nconst registeredComponents = {};\r\n\r\nexport const registerComponent = (identity, component) => {\r\n registeredComponents[identity] = component;\r\n};\r\n\r\n/**\r\n * Returns an component by identity.\r\n * @param {String} identity The identity of the component.\r\n * @returns {Object} The component, undefined if not found.\r\n */\r\nexport const getComponent = identity => registeredComponents[identity];\r\n\r\n/**\r\n * The base class for all Jsw components.\r\n */\r\nexport class Component {\r\n /**\r\n * @cfg {String} id The unique id of this component instance.\r\n */\r\n /**\r\n * @cfg {String} cls CSS class names to apply for root element.\r\n */\r\n /**\r\n * @cfg {Object} attrs HTML attributes to apply for root element.\r\n */\r\n /**\r\n * @cfg {String} wrapperClass\r\n */\r\n /**\r\n * @cfg {Element|String} renderTo\r\n */\r\n /**\r\n * @cfg {String} renderMode=bottom\r\n */\r\n /**\r\n * @cfg {Element|String} applyTo\r\n */\r\n /**\r\n * @cfg {Object} locale\r\n */\r\n /**\r\n * @cfg {Boolean} hidden=false Hide component. See methods {@link #hide}/{@link #show}\r\n */\r\n\r\n static genId = 1;\r\n\r\n constructor(config = {}) {\r\n this.initialize(config);\r\n }\r\n\r\n // TODO EXTNODEJS-90: EXTDOCKER-50: PMT-4391: Need to move this logic to constructor\r\n initialize(config) {\r\n this._initConfiguration(config);\r\n this._registerComponent();\r\n\r\n this._initComponentElement();\r\n\r\n if (this._autoRender && ((null !== this._renderTarget) || (typeof this._applyTargetId === 'string' ? document.getElementById(this._applyTargetId) : this._applyTargetId))) {\r\n this.render();\r\n }\r\n\r\n if (this._getConfigParam('hidden', false)) {\r\n this.hide();\r\n }\r\n }\r\n\r\n _initConfiguration(config) {\r\n this.initialConfig = config;\r\n this._config = this.initialConfig;\r\n\r\n this._cls = this._getConfigParam('cls', '');\r\n this._attrs = this._getConfigParam('attrs', {});\r\n this._wrapperClass = this._getConfigParam('wrapperClass', '');\r\n this._autoRender = this._getConfigParam('autoRender', true);\r\n this._renderTarget = (this._getConfigParam('renderTo', null));\r\n if (typeof this._renderTarget === 'string') {\r\n this._renderTarget = document.getElementById(this._renderTarget);\r\n }\r\n this._renderMode = this._getConfigParam('renderMode', 'bottom');\r\n this._applyTargetId = this._getConfigParam('applyTo', null);\r\n this.setLocale(this._getConfigParam('locale', this._locale));\r\n\r\n this._id = (this._applyTargetId)\r\n ? this._applyTargetId\r\n : this._getConfigParam('id', null);\r\n\r\n if (null === this._id) {\r\n this._id = `gen-id-${Component.genId++}`;\r\n this._idIsRandom = true;\r\n }\r\n\r\n this._tag = (this._applyTargetId)\r\n ? (typeof this._applyTargetId === 'string' ? document.getElementById(this._applyTargetId) : this._applyTargetId).tagName\r\n : this._getConfigParam('tag', this._tag || 'div');\r\n }\r\n\r\n _registerComponent() {\r\n registerComponent(this._id, this);\r\n }\r\n\r\n _initComponentElement() {\r\n if (this._applyTargetId) {\r\n this._componentElement = typeof this._applyTargetId === 'string' ? document.getElementById(this._applyTargetId) : this._applyTargetId;\r\n return;\r\n }\r\n\r\n this._componentElement = document.createElement(this._tag);\r\n Object.keys(this._attrs).forEach(name => {\r\n this._componentElement.setAttribute(name, this._attrs[name]);\r\n });\r\n this._componentElement.id = this._id;\r\n this._componentElement.className = this._cls;\r\n }\r\n\r\n _initDisablerOverlay() {\r\n this._disablerOverlay = document.createElement('div');\r\n\r\n this._disablerOverlay.style.display = 'none';\r\n this._disablerOverlay.style.zIndex = this._componentElement.style.zIndex + 1000;\r\n\r\n this._disablerOverlay.classList.add('content-blocker');\r\n this._componentElement.appendChild(this._disablerOverlay);\r\n\r\n this._componentElement.style.position = 'relative';\r\n }\r\n\r\n addEventObserver(eventName, handler) {\r\n if ('undefined' !== typeof handler) {\r\n this._componentElement.addEventListener(eventName, handler);\r\n }\r\n }\r\n\r\n removeEventObserver(eventName, handler) {\r\n if ('undefined' !== typeof handler) {\r\n this._componentElement.removeEventListener(eventName, handler);\r\n }\r\n }\r\n\r\n _hasConfigParam(name) {\r\n return 'undefined' !== typeof this._config[name];\r\n }\r\n\r\n _getConfigParam(name, defaultValue) {\r\n return this._hasConfigParam(name)\r\n ? this._config[name]\r\n : defaultValue;\r\n }\r\n\r\n _getRandomNumber() {\r\n return Math.floor(1000000 * Math.random());\r\n }\r\n\r\n _addEvents() {\r\n // basic empty implementation\r\n }\r\n\r\n _addTooltips() {\r\n const description = this._getConfigParam('description');\r\n if (description) {\r\n this._tooltip = Tooltip.init(this._componentElement, { text: description });\r\n }\r\n }\r\n\r\n _updateComponentElement(content) {\r\n const oldElements = this._componentElement.childNodes;\r\n if (!oldElements.length) {\r\n render(this._componentElement, content);\r\n return;\r\n }\r\n\r\n render(this._componentElement, content, 'top');\r\n\r\n oldElements.forEach(oldElement => {\r\n if ('undefined' === typeof oldElement.id || '' === oldElement.id) {\r\n return;\r\n }\r\n\r\n const newElement = this._componentElement.querySelector(`#${oldElement.id}`);\r\n\r\n if (newElement) {\r\n newElement.parentNode.replaceChild(oldElement, newElement);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * See Component.wrapperClass for details.\r\n * @returns {String}\r\n */\r\n getWrapperClass() {\r\n return this._wrapperClass;\r\n }\r\n\r\n /**\r\n * Returns id of this component instance.\r\n * @returns {String}\r\n */\r\n getId() {\r\n return this._id;\r\n }\r\n\r\n /**\r\n * Set render target element.\r\n * @param {Element} target\r\n */\r\n setRenderTarget(target) {\r\n this._renderTarget = target;\r\n }\r\n\r\n /**\r\n * Get render target element.\r\n * @returns {Element}\r\n */\r\n getRenderTarget() {\r\n return this._renderTarget;\r\n }\r\n\r\n /**\r\n * Show component.\r\n */\r\n show() {\r\n this._componentElement.style.display = '';\r\n }\r\n\r\n /**\r\n * Hide component.\r\n */\r\n hide() {\r\n this._componentElement.style.display = 'none';\r\n }\r\n\r\n /**\r\n * Render component.\r\n */\r\n render() {\r\n if (this._renderTarget) {\r\n render(this._renderTarget, this._componentElement, this._renderMode);\r\n }\r\n\r\n this._addEvents();\r\n this._addTooltips();\r\n }\r\n\r\n setLocale(locale) {\r\n if (!(locale instanceof Locale)) {\r\n locale = new Locale(locale);\r\n }\r\n this.lmsg = locale.lmsg.bind(locale);\r\n this._locale = locale;\r\n }\r\n\r\n getLocale() {\r\n return this._locale;\r\n }\r\n\r\n /**\r\n * Remove this component.\r\n */\r\n remove() {\r\n this._renderTarget?.removeChild(this._componentElement);\r\n registerComponent(this._id);\r\n }\r\n\r\n getAttribute(name) {\r\n return this._attrs[name];\r\n }\r\n}\r\n\r\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\r\nComponent.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport escapeHtml from './escapeHtml';\r\n\r\nimport './tooltip.less';\r\n\r\n/**\r\n * @class Tooltip\r\n * @singleton\r\n */\r\nexport const Tooltip = {\r\n // show timeout\r\n showTimeoutStatus: true,\r\n\r\n // show timeout\r\n showTimeout: 0.55,\r\n\r\n // minimum viewport delta\r\n minDelta: 5,\r\n\r\n // horisonatl offset from cursor\r\n xOffsetLeft: -5,\r\n\r\n // horisonatl offset from cursor\r\n xOffsetRight: 5,\r\n\r\n // vertical offset from cursor\r\n yOffsetTop: 1,\r\n\r\n // vertical offset from cursor\r\n yOffsetBottom: 13,\r\n\r\n current: null,\r\n\r\n initData(contentElement) {\r\n let elements;\r\n\r\n if ('undefined' !== typeof contentElement) {\r\n elements = contentElement.querySelectorAll('.tooltipData');\r\n } else {\r\n elements = document.querySelectorAll('.tooltipData');\r\n }\r\n\r\n elements.forEach(tooltipData => {\r\n Tooltip.init(tooltipData.parentNode, { element: tooltipData });\r\n });\r\n },\r\n\r\n /**\r\n * @param {Element} element\r\n * @param {Object} config Tooltip config.\r\n * @param {String} config.text Text of tooltip.\r\n * @returns {Tooltip.Instance}\r\n */\r\n init(element, config) {\r\n return new Tooltip.Instance(element, config);\r\n },\r\n\r\n set(tooltip) {\r\n if (Tooltip.current && Tooltip.current !== tooltip) {\r\n Tooltip.hide();\r\n }\r\n if (Tooltip.current === tooltip) {\r\n return;\r\n }\r\n Tooltip.current = tooltip;\r\n tooltip.element.addEventListener('mousemove', Tooltip._onMouseMove);\r\n tooltip.element.addEventListener('mouseout', Tooltip._onMouseOut);\r\n\r\n Tooltip.show();\r\n },\r\n\r\n show() {\r\n Tooltip.showCancel();\r\n Tooltip.hideCancel();\r\n if (Tooltip.showTimeoutStatus) {\r\n Tooltip.showTask = setTimeout(Tooltip.showFinish, Tooltip.showTimeout * 1000);\r\n } else {\r\n Tooltip.showFinish();\r\n }\r\n },\r\n\r\n showCancel() {\r\n if (Tooltip.showTask) {\r\n clearTimeout(Tooltip.showTask);\r\n Tooltip.showTask = null;\r\n }\r\n },\r\n\r\n showFinish() {\r\n Tooltip.showCancel();\r\n const tooltipElement = Tooltip._fetchTooltipElement();\r\n const tooltip = Tooltip.current;\r\n let { text } = tooltip.config;\r\n text = typeof text === 'function' ? text() : text;\r\n\r\n if (text === false) {\r\n return;\r\n }\r\n\r\n if (text) {\r\n tooltipElement.querySelector('span').innerHTML = escapeHtml(text);\r\n } else if (tooltip.config.element) {\r\n tooltipElement.querySelector('span').innerHTML = tooltip.config.element.innerHTML;\r\n }\r\n tooltipElement.style.display = '';\r\n Tooltip.update();\r\n },\r\n\r\n hide() {\r\n Tooltip.showCancel();\r\n if (!Tooltip.current) {\r\n return;\r\n }\r\n const tooltip = Tooltip.current;\r\n Tooltip.current = null;\r\n const tooltipElement = Tooltip._fetchTooltipElement();\r\n tooltipElement.style.display = 'none';\r\n tooltip.element.removeEventListener('mousemove', Tooltip._onMouseMove);\r\n tooltip.element.removeEventListener('mouseout', Tooltip._onMouseOut);\r\n Tooltip.hideTask = setTimeout(Tooltip.hideFinish, Tooltip.showTimeout * 1000);\r\n },\r\n\r\n hideCancel() {\r\n if (Tooltip.hideTask) {\r\n clearTimeout(Tooltip.hideTask);\r\n Tooltip.hideTask = null;\r\n }\r\n },\r\n\r\n hideFinish() {\r\n Tooltip.showTimeoutStatus = true;\r\n },\r\n\r\n update() {\r\n if (!Tooltip.current) {\r\n return;\r\n }\r\n const tooltipElement = Tooltip._fetchTooltipElement();\r\n if (tooltipElement.style.display === 'none') {\r\n return;\r\n }\r\n const position = Tooltip._fetchTooltipPosition(tooltipElement);\r\n tooltipElement.style.top = `${position.y}px`;\r\n tooltipElement.style.left = `${position.x}px`;\r\n },\r\n\r\n _onMouseOut() {\r\n Tooltip.hide();\r\n },\r\n\r\n _onMouseMove(event) {\r\n Tooltip.tooltipX = event.clientX + (window.scrollX || window.pageXOffset);\r\n Tooltip.tooltipY = event.clientY + (window.scrollY || window.pageYOffset);\r\n Tooltip.update();\r\n },\r\n\r\n _fetchTooltipElement() {\r\n if (!Tooltip._tooltipElement) {\r\n const el = document.createElement('div');\r\n el.className = 'tooltip';\r\n el.innerHTML = '';\r\n el.style.display = 'none';\r\n document.body.appendChild(el);\r\n Tooltip._tooltipElement = el;\r\n }\r\n\r\n return Tooltip._tooltipElement;\r\n },\r\n\r\n _fetchTooltipPosition(tooltipElement) {\r\n let x;\r\n let y;\r\n\r\n const tDim = Element.getDimensions(tooltipElement);\r\n const vDim = document.viewport.getDimensions();\r\n const vScr = document.viewport.getScrollOffsets();\r\n\r\n const freeRight = vDim.width + vScr.left - Tooltip.tooltipX;\r\n const freeLeft = Tooltip.tooltipX - vScr.left;\r\n const freeTop = Tooltip.tooltipY - vScr.top;\r\n const freeBottom = vDim.height + vScr.top - Tooltip.tooltipY;\r\n\r\n // apply better x\r\n if (freeRight > tDim.width + Tooltip.minDelta + Tooltip.xOffsetRight) {\r\n x = Tooltip.tooltipX + Tooltip.xOffsetRight;\r\n } else if (freeLeft > tDim.width + Tooltip.minDelta + Tooltip.xOffsetLeft) {\r\n x = Tooltip.tooltipX - tDim.width - Tooltip.xOffsetLeft;\r\n } else {\r\n x = Tooltip.tooltipX - ((tDim.width + Tooltip.xOffsetLeft) / 2);\r\n }\r\n\r\n // apply better y\r\n if (freeBottom > tDim.height + Tooltip.minDelta + Tooltip.yOffsetBottom) {\r\n y = Tooltip.tooltipY + Tooltip.yOffsetBottom;\r\n } else if (freeTop > tDim.height + Tooltip.minDelta + Tooltip.yOffsetTop) {\r\n y = Tooltip.tooltipY - tDim.height - Tooltip.yOffsetTop;\r\n } else {\r\n y = Tooltip.tooltipY - ((tDim.height + Tooltip.yOffsetTop) / 2);\r\n }\r\n if (x < 0) {\r\n x = Tooltip.minDelta;\r\n }\r\n\r\n return { x, y };\r\n },\r\n};\r\n\r\nwindow.addEventListener('load', () => {\r\n Tooltip.initData();\r\n});\r\n\r\n/**\r\n * @class Tooltip.Instance\r\n */\r\nTooltip.Instance = class {\r\n constructor(element, config) {\r\n this.element = typeof element === 'string' ? document.getElementById(element) : element;\r\n this.config = config;\r\n\r\n // observe events\r\n this.element.removeEventListener('mouseover', this.set);\r\n this.element.addEventListener('mouseover', this.set);\r\n }\r\n\r\n set = () => {\r\n Tooltip.set(this);\r\n };\r\n\r\n setText(text) {\r\n this.config.text = escapeHtml(text);\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Converts HTML special characters to their entity equivalents.\r\n *\r\n * @param {String} value\r\n * @returns {String}\r\n */\r\nexport default value => String(value)\r\n .replace(/&/g, '&')\r\n .replace(//g, '>');\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport IntlMessageFormat from 'intl-messageformat';\r\nimport api from './api';\r\nimport Observer from './Observer';\r\nimport BaseTranslate from 'components/common/Translate';\r\n\r\n/**\r\n * @class Locale\r\n */\r\nclass Locale {\r\n static sections = {};\r\n\r\n /**\r\n * Register new locale section\r\n * @param {String} name\r\n * @param {Object} [messages]\r\n * @returns {Locale}\r\n */\r\n static addSection(name, messages) {\r\n this.sections[name] = new Locale(messages);\r\n Observer.notify({ name, messages }, 'plesk:addedLocaleSection');\r\n\r\n return this.sections[name];\r\n }\r\n\r\n /**\r\n * Register new locale sections\r\n * @param {Object} [sections]\r\n * @returns {Object}\r\n */\r\n static addSections(sections) {\r\n Object.entries(sections).forEach(([name, messages]) => {\r\n this.sections[name] = new Locale(messages);\r\n });\r\n Observer.notify({ sections }, 'plesk:addedLocaleSections');\r\n\r\n return this.sections;\r\n }\r\n\r\n /**\r\n * Returns registered locale section or created empty section\r\n * @param {String} name\r\n * @returns {Locale}\r\n */\r\n static getSection(name) {\r\n if (!this.sections[name]) {\r\n return new Locale();\r\n }\r\n return this.sections[name];\r\n }\r\n\r\n static getTranslate(name) {\r\n const Translate = props => ;\r\n return Translate;\r\n }\r\n\r\n /**\r\n * Load, register, and returns locale sections\r\n * @param {String[]} names\r\n * @param {String} [locale]\r\n * @returns {Promise}\r\n */\r\n static async loadSections(names, locale) {\r\n const namesToLoad = names.filter(name => locale || !this.sections[name]);\r\n\r\n if (namesToLoad.length) {\r\n const params = namesToLoad.map(section => `sections[]=${encodeURIComponent(section)}`);\r\n if (locale) {\r\n params.push(`locale=${encodeURIComponent(locale)}`);\r\n }\r\n try {\r\n const sections = await api.get(`/cp/locale?${params.join('&')}`);\r\n this.addSections(sections);\r\n } catch {}\r\n }\r\n\r\n return names.map(name => this.getSection(name));\r\n }\r\n\r\n /**\r\n * Load, register, and returns locale section\r\n * @param {String} name\r\n * @returns {Promise}\r\n */\r\n static async loadSection(name) {\r\n const [locale] = await this.loadSections([name]);\r\n return locale;\r\n }\r\n\r\n constructor(messages = {}) {\r\n this.messages = messages;\r\n }\r\n\r\n /**\r\n * Get locale message by key.\r\n * @param {String} key\r\n * @param {Object} [params]\r\n * @returns {String}\r\n */\r\n lmsg(key, params) {\r\n const value = this.messages[key];\r\n if ('undefined' === typeof value) {\r\n return `[${key}]`;\r\n }\r\n\r\n if ('undefined' === typeof params) {\r\n return value;\r\n }\r\n\r\n return Object.keys(params)\r\n .reduce((value, paramKey) => value.replace(`%%${paramKey}%%`, params[paramKey]), value);\r\n }\r\n\r\n /**\r\n * Get formatted locale message by key.\r\n * @param {String} key\r\n * @param {Object} [params]\r\n * @returns {String}\r\n */\r\n formatMessage(key, params) {\r\n return new IntlMessageFormat(this.lmsg(key, params), document.documentElement.lang || 'en-US').format(params);\r\n }\r\n}\r\n\r\nexport default Locale;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport UAT from 'common/user-activity-tracking';\r\nimport { isNetworkError } from 'helpers/isNetworkError';\r\nimport addUrlParams from './addUrlParams';\r\nimport emptyFn from './emptyFn';\r\n\r\nconst RETRY_DELAY = 500;\r\nconst GET_REQUEST_RETRY_COUNT = 3;\r\n\r\nconst request = (url, config = {}, retryCount = 0) => {\r\n if (window.Ajax) {\r\n window.Ajax.activeRequestCount++;\r\n }\r\n\r\n const headers = {\r\n 'X-Requested-With': 'XMLHttpRequest',\r\n };\r\n const tokenEl = document.getElementById('forgery_protection_token');\r\n if (tokenEl) {\r\n headers['X-Forgery-Protection-Token'] = tokenEl.content;\r\n }\r\n\r\n config = {\r\n credentials: 'same-origin',\r\n ...config,\r\n headers: {\r\n ...headers,\r\n ...config.headers,\r\n },\r\n };\r\n\r\n return fetch(url, config)\r\n .then(response => {\r\n if (response.status === 400) {\r\n window.location.reload();\r\n return new Promise(emptyFn);\r\n }\r\n if (!response.ok) {\r\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\r\n return response.json()\r\n .then(data => Promise.reject(new Error(data.message ?? JSON.stringify(data))));\r\n }\r\n return response.text()\r\n .then(body => Promise.reject(new Error(body)));\r\n }\r\n return response.json();\r\n })\r\n .catch(error => {\r\n if (error instanceof TypeError && isNetworkError(error)) {\r\n if (retryCount > 0) {\r\n return new Promise(resolve => setTimeout(() => resolve(), RETRY_DELAY))\r\n .then(() => request(url, config, --retryCount));\r\n }\r\n\r\n throw error;\r\n }\r\n throw error;\r\n })\r\n .finally(() => {\r\n if (window.Ajax) {\r\n window.Ajax.activeRequestCount--;\r\n }\r\n });\r\n};\r\n\r\nexport default {\r\n get: (url, params = {}) => request(addUrlParams(url, params), { method: 'GET' }, GET_REQUEST_RETRY_COUNT),\r\n post: (url, params = {}) => {\r\n UAT.dispatchAction('REQUEST', { url });\r\n const headers = {};\r\n let body;\r\n if (params instanceof FormData) {\r\n body = params;\r\n } else {\r\n body = JSON.stringify(params);\r\n headers['Content-Type'] = 'application/json; charset=utf-8';\r\n }\r\n return request(url, {\r\n method: 'POST',\r\n headers,\r\n body,\r\n });\r\n },\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nif (!Element.prototype.matches) {\r\n Element.prototype.matches = Element.prototype.msMatchesSelector;\r\n}\r\n\r\nimport Firehose from 'aws-sdk/clients/firehose';\r\nimport isURL from 'validator/lib/isURL';\r\n\r\nconst getPageUrl = ({ pathname, search }) => {\r\n const pageUrlParam = pathname.match(/^\\/smb\\/account\\/switch\\//i) ? 'returnUrl' : 'pageUrl';\r\n const re = new RegExp(`${pageUrlParam}=([^&]*)`);\r\n const result = re.exec(search);\r\n if (result && result[1]) {\r\n try {\r\n return decodeURIComponent(result[1]);\r\n } catch {\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nconst link = document.createElement('a');\r\nconst filterPleskUrl = url => {\r\n link.href = url;\r\n\r\n const { pathname, search, hash } = link;\r\n\r\n const pageUrl = getPageUrl(link);\r\n if (pageUrl) {\r\n return filterPleskUrl(pageUrl);\r\n }\r\n\r\n const sensitiveUrls = [\r\n /^\\/smb\\/file-manager\\//i,\r\n /^\\/(admin|smb)\\/backup\\//i,\r\n /\\/hosting\\/web-directories\\//i,\r\n ];\r\n\r\n if (sensitiveUrls.some(pattern => pathname.match(pattern))) {\r\n return pathname;\r\n }\r\n\r\n const sensitiveParams = [\r\n /\\[searchText]=[^&]*/g,\r\n /\\[sql_query]=[^&]*/g,\r\n ];\r\n const safeSearch = sensitiveParams.reduce((result, pattern) => result.replace(pattern, ''), search);\r\n\r\n return pathname + safeSearch + hash;\r\n};\r\n\r\nconst filterExternalUrl = url => {\r\n const allowedUrls = [\r\n /^https?:\\/\\/([\\w-]+\\.)*plesk\\.com/i,\r\n /^https?:\\/\\/(www\\.)?facebook\\.com\\/(groups\\/)?plesk$/i,\r\n /^https?:\\/\\/(www\\.)?twitter\\.com\\/plesk$/i,\r\n ];\r\n\r\n if (allowedUrls.some(pattern => url.match(pattern))) {\r\n return url.split('?')[0];\r\n }\r\n return null;\r\n};\r\n\r\nexport const getUrl = href => {\r\n // eslint-disable-next-line camelcase\r\n if (href && !isURL(href, { protocols: ['http', 'https'], require_host: false })) {\r\n return null;\r\n }\r\n\r\n if (href && href.match(/^(?:[a-z]+:)?\\/\\//i)) {\r\n return filterExternalUrl(href);\r\n }\r\n\r\n return filterPleskUrl(href ? href : window.location.href);\r\n};\r\n\r\nconst getElementCSSSelector = el => {\r\n if (!el || !el.localName) {\r\n return null;\r\n }\r\n let label = el.localName.toLowerCase();\r\n if (el.id) {\r\n label += `#${el.id}`;\r\n }\r\n if (el.classList) {\r\n for (let i = 0, len = el.classList.length; i < len; ++i) {\r\n label += `.${el.classList[i]}`;\r\n }\r\n }\r\n return label;\r\n};\r\n\r\nconst getElementCSSPath = (el, depth) => {\r\n const paths = [];\r\n for (let i = 0; el && el.nodeType === Node.ELEMENT_NODE && i < depth; el = el.parentNode, i++) {\r\n paths.splice(0, 0, getElementCSSSelector(el));\r\n }\r\n return paths.length ? paths.join(' ') : null;\r\n};\r\n\r\nconst getElement = event => {\r\n let { target } = event;\r\n const { currentTarget, type } = event;\r\n\r\n if (currentTarget\r\n && currentTarget.tagName\r\n && (type === 'load'\r\n || type === 'error'\r\n || (type === 'click'\r\n && currentTarget.tagName.toLowerCase() === 'input'\r\n && currentTarget.type === 'radio'\r\n )\r\n )\r\n ) {\r\n target = currentTarget;\r\n }\r\n\r\n return target.nodeType === Node.TEXT_NODE ? target.parentNode : target;\r\n};\r\n\r\nconst findElement = (event, selector) => {\r\n let element = getElement(event);\r\n\r\n if (!selector) {\r\n return element;\r\n }\r\n\r\n while (element) {\r\n if (element.nodeType === Node.ELEMENT_NODE && element.matches(selector)) {\r\n return element;\r\n }\r\n element = element.parentNode;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport const prepareNodeData = (el, textEl, config) => {\r\n const data = {};\r\n const PARENT_DEPTH_LIMIT = 5;\r\n data.css = getElementCSSPath(el, PARENT_DEPTH_LIMIT);\r\n if (el.id) {\r\n data.id = el.id;\r\n }\r\n if (config && config.attributes) {\r\n config.attributes.forEach(attr => {\r\n if (!el.hasAttribute(attr)) {\r\n return;\r\n }\r\n const value = (attr === 'href') ? getUrl(el.getAttribute(attr)) : el.getAttribute(attr);\r\n if (value) {\r\n data[attr] = value;\r\n }\r\n });\r\n }\r\n ['id', 'type', 'action', ...[config && config.dataset ? config.dataset : []]].forEach(param => {\r\n if (!(param in el.dataset)) {\r\n return;\r\n }\r\n if (!('dataset' in data)) {\r\n data.dataset = {};\r\n }\r\n data.dataset[param] = el.dataset[param];\r\n });\r\n return data;\r\n};\r\n\r\nconst getParents = target => {\r\n if (!target || !target.parentElement) {\r\n return [];\r\n }\r\n\r\n let parent = target;\r\n const parents = [];\r\n while (parent) {\r\n parents.push(parent.dataset.type);\r\n parent = parent.parentElement.closest('[data-type]');\r\n }\r\n\r\n if (parents.length > 1) {\r\n return parents.slice(1);\r\n }\r\n\r\n return [];\r\n};\r\n\r\nconst preparePostData = (action, target) => {\r\n const data = {};\r\n\r\n if (action.post && target) {\r\n if (action.post.self) {\r\n action.post.self.forEach(function (attr) {\r\n if (attr === 'value') {\r\n return;\r\n }\r\n const value = target.getAttribute(attr);\r\n if (value) {\r\n data[attr] = value;\r\n }\r\n });\r\n }\r\n if (action.post.selfText) {\r\n data.text = target.innerText;\r\n }\r\n }\r\n\r\n if (action.data) {\r\n Object.keys(action.data).forEach(function (key) {\r\n data[key] = action.data[key];\r\n });\r\n }\r\n\r\n const parents = getParents(target);\r\n if (parents.length > 0) {\r\n data.parents = parents;\r\n }\r\n\r\n return data;\r\n};\r\n\r\nconst handleAnonymousSession = (action, config, data) => {\r\n if (!config.sessionId) {\r\n if (!window.localStorage.getItem('uat-aid')) {\r\n window.localStorage.setItem('uat-aid', Math.random().toString(36).slice(2));\r\n }\r\n data['uat-aid'] = window.localStorage.getItem('uat-aid');\r\n return;\r\n }\r\n if ('LOGIN' === action.name && window.localStorage.getItem('uat-aid')) {\r\n data['uat-aid'] = window.localStorage.getItem('uat-aid');\r\n window.localStorage.removeItem('uat-aid');\r\n }\r\n};\r\n\r\nconst encodeSensitiveChars = list => {\r\n const preparedChars = {\r\n '|': encodeURIComponent('|'),\r\n '\\n': encodeURIComponent('\\n'),\r\n };\r\n\r\n const escapeChar = value => {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n Object.entries(preparedChars).forEach(([raw, encoded]) => {\r\n value = value.replace(new RegExp(`\\\\${raw}`, 'g'), encoded);\r\n });\r\n\r\n return value;\r\n };\r\n\r\n return list.map(escapeChar);\r\n};\r\n\r\n/**\r\n * Firehose instance\r\n */\r\nlet firehose;\r\nlet config;\r\nlet initialized = false;\r\nlet patches = {};\r\n\r\nexport const request = (action, target, result) => {\r\n const parameters = {\r\n timestamp: (new Date()).toISOString(),\r\n instanceId: config.instanceId,\r\n accountLevel: config.accountLevel,\r\n accountId: config.accountId,\r\n sessionId: config.sessionId,\r\n path: action.url || getUrl(),\r\n action: action.name || null,\r\n result: result || null,\r\n };\r\n\r\n const data = preparePostData(action, target);\r\n handleAnonymousSession(action, config, data);\r\n if (config.parentId) {\r\n data.parentId = config.parentId;\r\n }\r\n if (Object.keys(data).length) {\r\n parameters.additionalData = JSON.stringify(data);\r\n }\r\n\r\n if (typeof config.logger === 'function') {\r\n config.logger(parameters);\r\n }\r\n if (!config.firehose) {\r\n return;\r\n }\r\n if (!firehose) {\r\n firehose = new Firehose(config.firehose);\r\n }\r\n\r\n firehose.putRecord({\r\n DeliveryStreamName: config.sessionId ? config.firehose.stream : config.firehose.noSessionStream,\r\n Record: {\r\n Data: `${encodeSensitiveChars(Object.values(parameters)).join('|')}\\n`,\r\n },\r\n }, () => {\r\n // empty callback\r\n });\r\n};\r\n\r\nlet watchers = {\r\n contentLoad(contentConfig, expect, action) {\r\n if (document.readyState === 'loading') {\r\n window.addEventListener('load', function (event) {\r\n action.data = action.data || {};\r\n if (config.extensions) {\r\n action.data.extensions = config.extensions;\r\n }\r\n\r\n setTimeout(() => {\r\n if (window.performance) {\r\n const perfData = window.performance.timing;\r\n action.data.pageLoadTime = perfData.loadEventEnd - perfData.navigationStart;\r\n action.data.requestTime = perfData.responseEnd - perfData.requestStart;\r\n action.data.renderTime = perfData.domComplete - perfData.domLoading;\r\n }\r\n\r\n request(action, event.target);\r\n }, 0);\r\n });\r\n } else {\r\n request(action, document);\r\n }\r\n },\r\n\r\n historyReplaceState(contentConfig, expect, action) {\r\n window.history.replaceState = new Proxy(window.history.replaceState, {\r\n apply: (target, thisArg, argArray) => {\r\n action.data = action.data || {};\r\n if (config.extensions) {\r\n action.data.extensions = config.extensions;\r\n }\r\n\r\n request(action, document);\r\n\r\n return target.apply(thisArg, argArray);\r\n },\r\n });\r\n },\r\n\r\n click: ({ elements }, expect, action, eventName) => {\r\n document.addEventListener(eventName, function (event) {\r\n if (event.uatHandled) {\r\n return;\r\n }\r\n for (let i = 0; i < elements.length; i++) {\r\n let el;\r\n let { selector } = elements[i];\r\n if (selector) {\r\n selector = Array.isArray(selector) ? selector : [selector];\r\n for (let j = 0; j < selector.length && !el; j++) {\r\n el = findElement(event, selector[j]);\r\n }\r\n }\r\n if (el) {\r\n event.uatHandled = true;\r\n request({\r\n ...action,\r\n name: (el.dataset.action || action.name).toUpperCase(),\r\n data: prepareNodeData(el, event.target, elements[i]),\r\n }, el);\r\n break;\r\n }\r\n }\r\n }, true);\r\n },\r\n};\r\n\r\nlet actions = [\r\n {\r\n expects: [{\r\n contentLoad: {},\r\n }],\r\n },\r\n {\r\n expects: [{\r\n historyReplaceState: {},\r\n }],\r\n },\r\n {\r\n name: 'CLICK',\r\n expects: [{\r\n click: {\r\n elements: [\r\n {\r\n selector: '[data-action]',\r\n },\r\n {\r\n selector: 'a',\r\n attributes: ['href'],\r\n },\r\n {\r\n selector: 'button',\r\n },\r\n {\r\n selector: [\r\n '[class*=\"commonButton\"]', '[class*=\"btn\"]', '[class*=\"link\"]', '[class*=\"hint\"]',\r\n '[class*=\"button\"]', '[class*=\"control\"]', '[class*=\"close\"]',\r\n ],\r\n },\r\n {\r\n selector: '[role=\"button\"]',\r\n },\r\n ],\r\n },\r\n }],\r\n },\r\n];\r\n\r\nconst patchUI = () => {\r\n Object.keys(patches).forEach(name => {\r\n patches[name]();\r\n });\r\n};\r\n\r\nconst startTracking = () => {\r\n actions.forEach(function (action) {\r\n action.expects.forEach(function (expect) {\r\n Object.keys(expect).forEach(function (event) {\r\n watchers[event] && watchers[event](expect[event], expect, action, event);\r\n });\r\n });\r\n });\r\n};\r\n\r\nconst UAT = {\r\n init(initConfig) {\r\n if (!initConfig || initialized) {\r\n return;\r\n }\r\n\r\n config = initConfig;\r\n patchUI();\r\n startTracking();\r\n initialized = true;\r\n },\r\n\r\n setPatches(fn) {\r\n patches = fn(patches);\r\n },\r\n\r\n setActions(fn) {\r\n actions = fn(actions);\r\n },\r\n\r\n setWatchers(fn) {\r\n watchers = fn(watchers);\r\n },\r\n\r\n setLogger(logger) {\r\n config.logger = logger;\r\n },\r\n\r\n dispatchAction(action, data) {\r\n if (!initialized) {\r\n return;\r\n }\r\n\r\n request({ name: action, url: getUrl(), data });\r\n },\r\n\r\n getConfig() {\r\n return config;\r\n },\r\n};\r\n\r\nexport default UAT;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const isNetworkError = error => {\r\n const errors = [\r\n // chrome\r\n 'Failed to fetch',\r\n // firefox\r\n 'NetworkError when attempting to fetch resource.',\r\n // safari\r\n 'Fetch API cannot load',\r\n 'Network request failed',\r\n ];\r\n\r\n return errors.some(e => error.message.startsWith(e));\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nconst toQueryParams = str => {\r\n if (!str) {\r\n return {};\r\n }\r\n\r\n const match = str.match(/([^?#]*)(#.*)?$/);\r\n const params = new URLSearchParams(match[1]);\r\n\r\n return [...params.entries()].reduce((acc, [key, val]) => {\r\n if (acc.hasOwnProperty(key)) {\r\n if (Array.isArray(acc[key])) {\r\n acc[key].push(val);\r\n } else {\r\n acc[key] = [acc[key], val];\r\n }\r\n } else {\r\n acc[key] = val;\r\n }\r\n\r\n return acc;\r\n }, {});\r\n};\r\n\r\n\r\nexport default (url, params) => {\r\n if ('string' === typeof params) {\r\n const splitUrl = url.split('?', 2);\r\n params = params.startsWith('/') || params.startsWith('?') ? params : `?${params}`;\r\n const splitParams = params.split('?', 2);\r\n url = splitUrl[0].replace(/\\/+$/, '') + splitParams[0];\r\n params = {\r\n ...toQueryParams(splitUrl[1] || ''),\r\n ...toQueryParams(splitParams[1] || ''),\r\n };\r\n }\r\n\r\n if (Object.prototype.toString.call(params) === '[object Object]') {\r\n params = Object.keys(params).map(function (name) {\r\n if ('undefined' === typeof params[name]) {\r\n return name;\r\n }\r\n return `${name}=${encodeURIComponent(params[name])}`;\r\n }).join('&');\r\n }\r\n\r\n if (!params) {\r\n return url;\r\n }\r\n return url + (-1 !== url.indexOf('?') ? '&' : '?') + params;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport default () => {};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nconst observers = new Map();\r\nconst getObservers = ns => {\r\n if (!observers.has(ns)) {\r\n observers.set(ns, []);\r\n }\r\n return observers.get(ns);\r\n};\r\n\r\nclass Observer {\r\n /**\r\n * @param {Function} callback\r\n * @param {String} ns\r\n */\r\n static append(callback, ns) {\r\n getObservers(ns).push(callback);\r\n }\r\n\r\n /**\r\n * @param {String} ns\r\n * @param {Function} callback\r\n */\r\n static addEventListener(ns, callback) {\r\n this.append(callback, ns);\r\n }\r\n\r\n /**\r\n * @param {Function} callback\r\n * @param {String} ns\r\n */\r\n static appendAndCall(callback, ns) {\r\n getObservers(ns).push(callback);\r\n callback();\r\n }\r\n\r\n /**\r\n * @param {Object} event\r\n * @param {String} ns\r\n */\r\n static notify(event, ns) {\r\n getObservers(ns).forEach(callback => callback(event));\r\n }\r\n\r\n /**\r\n * @param {Function} callback\r\n * @param {String} ns\r\n */\r\n static remove(callback, ns) {\r\n const pos = getObservers(ns).indexOf(callback);\r\n if (pos !== -1) {\r\n getObservers(ns).splice(pos, 1);\r\n }\r\n }\r\n\r\n /**\r\n * @param {String} ns\r\n * @param {Function} callback\r\n */\r\n static removeEventListener(ns, callback) {\r\n this.remove(callback, ns);\r\n }\r\n}\r\n\r\nexport default Observer;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Translate as BaseTranslate } from '@plesk/ui-library';\r\n\r\nconst Translate = ({ component = Fragment, ...props }) => (\r\n \r\n);\r\n\r\nTranslate.propTypes = {\r\n component: PropTypes.elementType,\r\n};\r\n\r\nexport default Translate;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport * as React from '@plesk/ui-library';\r\n\r\nexport default React;\r\nexport * from '@plesk/ui-library';\r\n","module.exports = window.PleskUiLibrary;","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { createRoot } from 'react-dom/client';\r\nimport { isValidElement } from 'react';\r\nimport { captureException } from '@sentry/browser';\r\nimport { Component } from './component';\r\nimport emptyFn from './emptyFn';\r\n\r\nconst addScript = src => new Promise((resolve, reject) => {\r\n const s = document.createElement('script');\r\n s.setAttribute('src', src);\r\n s.onload = resolve;\r\n s.onerror = reject;\r\n document.body.appendChild(s);\r\n});\r\n\r\nconst evalScripts = string => {\r\n const scriptFragment = ']*>([\\\\S\\\\s]*?)<\\/script\\\\s*>';\r\n\r\n const matchAll = new RegExp(scriptFragment, 'img');\r\n const matchOne = new RegExp(scriptFragment, 'im');\r\n\r\n const scripts = string.match(matchAll)?.map(scriptTag => (scriptTag.match(matchOne) || ['', ''])[1]);\r\n\r\n scripts?.forEach(script => {\r\n try {\r\n // eslint-disable-next-line no-eval\r\n eval(script);\r\n } catch (e) {\r\n captureException(e, scope => {\r\n scope.setExtras({ script });\r\n });\r\n // eslint-disable-next-line no-console\r\n console?.error(e);\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * Helper for render components/elements/strings\r\n * @experimental Be careful with this method, its implementation is not yet complete.\r\n *\r\n * @param {Element} parentElement\r\n * @param {Component|Function|Element|Object|String} element\r\n * @param {String} [renderMode=bottom\"] above|below|top|bottom|inner|replace\r\n */\r\nconst render = (parentElement, element, renderMode = 'bottom') => {\r\n if (!element) {\r\n return;\r\n }\r\n\r\n if (renderMode === 'inner') {\r\n parentElement.innerHTML = '';\r\n renderMode = 'bottom';\r\n }\r\n\r\n if (Array.isArray(element)) {\r\n element.forEach(element => {\r\n render(parentElement, element, renderMode);\r\n });\r\n return;\r\n }\r\n\r\n if (typeof element === 'function') {\r\n render(parentElement, element(), renderMode);\r\n return;\r\n }\r\n\r\n if (element instanceof Component) {\r\n element.setRenderTarget(parentElement);\r\n if (renderMode) {\r\n element._renderMode = renderMode;\r\n }\r\n element.render();\r\n return;\r\n }\r\n\r\n if (isValidElement(element)) {\r\n (parentElement._jswReactRootContainer ||= createRoot(parentElement)).render(element);\r\n return;\r\n }\r\n\r\n if (Object.prototype.toString.call(element) === '[object Object]' && element.tag) {\r\n const attrs = { ...element.attrs };\r\n Object.keys(attrs).forEach(function (attr) {\r\n if ('undefined' === typeof attrs[attr]) {\r\n delete attrs[attr];\r\n }\r\n });\r\n\r\n const renderFn = typeof attrs.onrender === 'function' ? attrs.onrender : emptyFn;\r\n delete attrs.onrender;\r\n\r\n const events = {};\r\n Object.keys(attrs).forEach(attr => {\r\n if (typeof attrs[attr] === 'function' && attr.indexOf('on') === 0) {\r\n events[attr.slice(2)] = attrs[attr];\r\n delete attrs[attr];\r\n }\r\n });\r\n\r\n const el = document.createElement(element.tag);\r\n Object.keys(attrs).forEach(name => {\r\n if (attrs[name] === true) {\r\n el.setAttribute(name, name);\r\n } else if (attrs[name] !== null && attrs[name] !== false) {\r\n el.setAttribute(name, attrs[name]);\r\n }\r\n });\r\n Object.keys(events).forEach(eventName => {\r\n el.addEventListener(eventName, events[eventName]);\r\n });\r\n\r\n render(el, element.children);\r\n\r\n element = el;\r\n renderFn(element);\r\n }\r\n\r\n switch (renderMode) {\r\n case 'bottom':\r\n if (element instanceof Node) {\r\n parentElement.insertBefore(element, null);\r\n } else {\r\n parentElement.insertAdjacentHTML('beforeend', element);\r\n }\r\n break;\r\n\r\n case 'top':\r\n if (element instanceof Node) {\r\n parentElement.insertBefore(element, parentElement.firstChild);\r\n } else {\r\n parentElement.insertAdjacentHTML('afterbegin', element);\r\n }\r\n break;\r\n\r\n case 'before':\r\n if (element instanceof Node) {\r\n parentElement.parentNode.insertBefore(element, parentElement);\r\n } else {\r\n parentElement.insertAdjacentHTML('beforebegin', element);\r\n }\r\n break;\r\n\r\n case 'after':\r\n case 'replace':\r\n if (element instanceof Node) {\r\n parentElement.parentNode.insertBefore(element, parentElement.nextSibling);\r\n } else {\r\n parentElement.insertAdjacentHTML('afterend', element);\r\n }\r\n\r\n if (renderMode === 'replace') {\r\n parentElement.parentNode.removeChild(parentElement);\r\n }\r\n break;\r\n\r\n default:\r\n throw new Error(`Unsupported renderMode for render(): ${renderMode}`);\r\n }\r\n\r\n if (typeof element === 'string') {\r\n setTimeout(async () => {\r\n const scriptRegex = /<\\/script>/ig;\r\n let matches;\r\n while (null !== (matches = scriptRegex.exec(element))) {\r\n try {\r\n await addScript(matches[2]);\r\n } catch {}\r\n }\r\n evalScripts(element);\r\n }, 10);\r\n }\r\n};\r\n\r\nexport default render;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { captureException } from '@sentry/browser';\r\n\r\nconst HIGH = 'high';\r\nconst NORMAL = 'normal';\r\nconst LOW = 'low';\r\n\r\nexport const priority = {\r\n [HIGH]: HIGH,\r\n [NORMAL]: NORMAL,\r\n [LOW]: LOW,\r\n};\r\n\r\nconst onReadyEvents = {};\r\nlet firedOnReady = false;\r\n\r\n/**\r\n * Adds a listener to be notified when the document is ready (before onload and before images are loaded).\r\n * @param {String|Function} [priority]\r\n * @param {Function} callback The method to call.\r\n */\r\nexport default (priority, callback) => {\r\n if ('function' === typeof priority) {\r\n callback = priority;\r\n priority = NORMAL;\r\n }\r\n\r\n const wrappedCallback = () => {\r\n try {\r\n callback();\r\n } catch (e) {\r\n captureException(e);\r\n // eslint-disable-next-line no-console\r\n console && console.error(e);\r\n }\r\n };\r\n\r\n if (firedOnReady) {\r\n wrappedCallback();\r\n return;\r\n }\r\n\r\n if (!onReadyEvents[priority]) {\r\n onReadyEvents[priority] = [];\r\n }\r\n\r\n onReadyEvents[priority].push(wrappedCallback);\r\n};\r\n\r\ndocument.onreadystatechange = () => {\r\n if (document.readyState === 'complete' && !firedOnReady) {\r\n firedOnReady = true;\r\n const predefinedPriorities = [LOW, NORMAL, HIGH];\r\n Object.keys(onReadyEvents)\r\n .sort((a, b) => predefinedPriorities.indexOf(b) - predefinedPriorities.indexOf(a))\r\n .forEach(priority => {\r\n onReadyEvents[priority].forEach(Function.prototype.call, Function.prototype.call);\r\n });\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { StatusMessage } from './status-message';\r\nimport createComponent from './createComponent';\r\n\r\nexport default (type, message, params = {}) => {\r\n try {\r\n createComponent({\r\n componentType: params.componentType || StatusMessage,\r\n renderTo: 'main',\r\n renderMode: 'top',\r\n type,\r\n message,\r\n ...params,\r\n });\r\n } catch {\r\n // eslint-disable-next-line no-alert\r\n alert(`${type} | ${message}`);\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\nimport api from './api';\r\n\r\nimport './status-message.less';\r\n\r\nexport class StatusMessage extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._type = this._getConfigParam('type', 'error');\r\n this._cls = this._getConfigParam('cls', `msg-box msg-${this._type}`);\r\n this._title = this._getConfigParam('title', '');\r\n this._message = this._getConfigParam('message', '');\r\n this._source = this._getConfigParam('source', null);\r\n this._closable = this._getConfigParam('closable', false);\r\n this._onClose = this._getConfigParam('onClose', null);\r\n const hideUrl = this._getConfigParam('hideUrl', null);\r\n if (hideUrl) {\r\n this._closable = true;\r\n this._onClose = event => {\r\n const el = event.target.closest('.msg-box');\r\n el.parentNode.removeChild(el);\r\n api.post(prepareUrl(hideUrl));\r\n };\r\n }\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n if (this._source) {\r\n this._componentElement.dataset.source = this._source;\r\n }\r\n\r\n render(this._componentElement,\r\n createElement('div',\r\n createElement('div',\r\n createElement('div',\r\n createElement('div',\r\n createElement('div',\r\n createElement('div.msg-content',\r\n this._renderCloseButton(),\r\n this._renderMessage(),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n _renderMessage() {\r\n return [this._title ? `${this._title}: ` : null, this._message];\r\n }\r\n\r\n _renderCloseButton() {\r\n if (!this._closable) {\r\n return null;\r\n }\r\n return createElement('span.close', {\r\n onclick: typeof this._onClose === 'function'\r\n ? this._onClose.bind(this)\r\n : this._onClose,\r\n });\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport default url => {\r\n if (typeof url !== 'string') {\r\n return null;\r\n }\r\n\r\n const baseUrl = (global.Jsw && global.Jsw.baseUrl) || '';\r\n\r\n if (url.substr(0, 2) === '^/') {\r\n return url.toString().substr(1);\r\n }\r\n\r\n if (\r\n url.startsWith('/plesk/') ||\r\n url.startsWith('/services/') ||\r\n url.startsWith('/modules/') ||\r\n url.startsWith('/admin/') ||\r\n url.startsWith('/smb/') ||\r\n url.startsWith('/cp/') ||\r\n (baseUrl !== '' && url.startsWith(`${baseUrl}/`)) ||\r\n !url.startsWith('/') ||\r\n url.split('?')[0].endsWith('.php')\r\n ) {\r\n return url;\r\n }\r\n\r\n return baseUrl + url;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { isValidElement } from 'react';\r\nimport { Component } from './component';\r\n\r\n/**\r\n * Helper for create elements\r\n * @experimental Be careful with this method, its implementation is not yet complete.\r\n *\r\n * @param {String} selector\r\n * @param {Object} [attrs]\r\n * @param {String[]|String...|Object[]|Object...} [children]\r\n * @returns {Object}\r\n */\r\nexport default (selector, ...args) => {\r\n const hasAttrs = Object.prototype.toString.call(args[0]) === '[object Object]'\r\n && !('tag' in args[0])\r\n && !isValidElement(args[0])\r\n && !(args[0] instanceof Component);\r\n let tag = 'div';\r\n const classes = [];\r\n const selectorRe = /(?:(^|#|\\.)([^#\\.\\[\\]]+))|(\\[.+?\\])/g;\r\n const attrRe = /\\[(.+?)(?:=(\"|'|)(.*?)\\2)?\\]/;\r\n let match;\r\n const attrs = hasAttrs ? args.shift() : {};\r\n\r\n while ((match = selectorRe.exec(selector))) {\r\n if (match[1] === '' && match[2]) {\r\n tag = match[2];\r\n } else if (match[1] === '#') {\r\n attrs.id = match[2];\r\n } else if (match[1] === '.') {\r\n classes.push(match[2]);\r\n } else if (match[3][0] === '[') {\r\n const pair = attrRe.exec(match[3]);\r\n attrs[pair[1]] = pair[3] || (pair[2] ? '' : true);\r\n }\r\n }\r\n\r\n if (typeof attrs.class === 'string' && attrs.class !== '') {\r\n classes.push(attrs.class);\r\n }\r\n if (classes.length) {\r\n attrs.class = classes.join(' ');\r\n }\r\n\r\n const children = args.length === 1 && Array.isArray(args[0]) ? args[0] : args;\r\n\r\n return {\r\n tag,\r\n attrs,\r\n children,\r\n };\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport pageData from '../helpers/pageData';\r\n\r\nexport default () => {\r\n pageData({ ...pageData(), status: [] });\r\n\r\n const contentElement = document.getElementById('main');\r\n if (!contentElement) {\r\n return;\r\n }\r\n ['.msg-error', '.msg-info', '.msg-warning'].forEach(msgClass => {\r\n contentElement.querySelectorAll(`${msgClass}:not([data-rendered-by-react])`).forEach(messageElement => {\r\n messageElement.parentNode.removeChild(messageElement);\r\n });\r\n });\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { makeVar, useReactiveVar } from '@apollo/client';\r\n\r\nconst pageData = makeVar({});\r\n\r\nexport const usePageData = () => useReactiveVar(pageData);\r\n\r\nexport default pageData;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport addStatusMessage from './addStatusMessage';\r\nimport clearStatusMessages from './clearStatusMessages';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nexport default message => {\r\n clearStatusMessages();\r\n let statusMessage = `Internal error
${escapeHtml(message)}
`;\r\n try {\r\n const jsonMessage = JSON.parse(message);\r\n if ('message' in jsonMessage && 'kbArticleUrl' in jsonMessage) {\r\n statusMessage = `
${escapeHtml(jsonMessage.message)}
`;\r\n statusMessage += `Search for related Knowledge Base articles`;\r\n }\r\n } catch {\r\n // Show as plaintext\r\n }\r\n\r\n addStatusMessage('error', statusMessage);\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport escapeHtml from './escapeHtml';\r\n\r\n/**\r\n * Escape element attributes for html concatenation\r\n *\r\n * @param {String} value\r\n * @returns {String}\r\n */\r\nexport default value => escapeHtml(value)\r\n .replace(/\"/g, '"');\r\n\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Converts the entity forms of special HTML characters to their normal form.\r\n *\r\n * @param {String} value\r\n * @returns {String}\r\n */\r\nexport default value => String(value)\r\n .replace(/&/g, '&')\r\n .replace(/ /g, ' ')\r\n .replace(/"/g, '\"')\r\n .replace(/'/g, '\\'')\r\n .replace(/</g, '<')\r\n .replace(/>/g, '>');\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Temporary solution for fire custom events\r\n */\r\nexport default (element, eventName) => {\r\n if (document.createEvent) {\r\n const event = document.createEvent('HTMLEvents');\r\n event.initEvent('dataavailable', true, true);\r\n event.eventName = eventName;\r\n\r\n element.dispatchEvent(event);\r\n return;\r\n }\r\n\r\n const event = document.createEventObject();\r\n event.eventType = 'ondataavailable';\r\n event.eventName = eventName;\r\n\r\n element.fireEvent(event.eventType, event);\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const ESC = 27;\r\nexport const ENTER = 13;\r\nexport const LEFT_ARROW = 37;\r\nexport const UP_ARROW = 38;\r\nexport const RIGHT_ARROW = 39;\r\nexport const DOWN_ARROW = 40;\r\n\r\nexport default {\r\n ESC,\r\n ENTER,\r\n LEFT_ARROW,\r\n UP_ARROW,\r\n RIGHT_ARROW,\r\n DOWN_ARROW,\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport { createHtmlElement } from 'helpers/createHtmlElement';\r\nimport render from './render';\r\n\r\nimport './hint.less';\r\n\r\n/**\r\n * @class Hint\r\n * @extends Component\r\n *\r\n * Example usage:\r\n *\r\n * @example\r\n * new Hint({\r\n * renderTo: document.body,\r\n * hint: 'This is where you manage accounts of your hosting service customers: ' +\r\n * 'create accounts along with service subscriptions, manage existing customers, ' +\r\n * 'and remove accounts. To administer websites, mail or any other services provided ' +\r\n * 'to a customer, go to their Customer Panel by clicking the link in the right column of the list.',\r\n * expandable: true\r\n * });\r\n */\r\nexport class Hint extends Component {\r\n /**\r\n * @cfg {String} hint\r\n */\r\n /**\r\n * @cfg {Boolean} [expandable=false]\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration({ tag: 'p', ...config });\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n this._contentElement = this._componentElement;\r\n\r\n this.setHint(\r\n this._getConfigParam('hint', ''),\r\n );\r\n\r\n if (this._getConfigParam('expandable', false)) {\r\n const componentElement = createHtmlElement('div', { class: 'screen-description' });\r\n const wrapElement = createHtmlElement('div', { class: 'screen-description-wrap' });\r\n const btnShowMore = createHtmlElement('span', { class: 'screen-description-control' });\r\n btnShowMore.addEventListener('click', event => {\r\n event.target.closest('.screen-description').classList.add('expanded');\r\n });\r\n render(wrapElement, this._contentElement);\r\n render(wrapElement, btnShowMore);\r\n render(componentElement, wrapElement);\r\n this._componentElement = componentElement;\r\n this._screenControl = () => {\r\n if (Element.getWidth(componentElement) > Element.getWidth(wrapElement)) {\r\n btnShowMore.classList.add('off');\r\n } else {\r\n btnShowMore.classList.remove('off');\r\n }\r\n };\r\n }\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n if (this._screenControl) {\r\n window.addEventListener('resize', this._screenControl);\r\n this._screenControl();\r\n }\r\n }\r\n\r\n /**\r\n * Update hint text.\r\n * @param {String} hint\r\n */\r\n setHint(hint) {\r\n this._contentElement.innerHTML = hint;\r\n this._screenControl?.();\r\n }\r\n\r\n remove() {\r\n if (this._screenControl) {\r\n window.removeEventListener('resize', this._screenControl);\r\n }\r\n\r\n super.remove();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const createHtmlElement = (tagName, attrs = {}) => {\r\n const el = document.createElement(tagName);\r\n\r\n Object.entries(attrs).forEach(([name, value]) => {\r\n if (value !== null && value !== false) {\r\n el.setAttribute(name, value);\r\n }\r\n });\r\n\r\n return el;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport prepareUrl from './prepareUrl';\r\nimport escapeHtml from './escapeHtml';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new Button({\r\n * renderTo: document.body,\r\n * title: 'Add a Customer',\r\n * cls: 's-btn sb-add-new-customer',\r\n * isNew: true,\r\n * newTitle: 'New',\r\n * handler() {\r\n * alert('You clicked the button!');\r\n * },\r\n * });\r\n */\r\nexport class Button extends Component {\r\n /**\r\n * @cfg {String} title=\"\"\r\n */\r\n /**\r\n * @cfg {String} rightIcon=\"\"\r\n */\r\n /**\r\n * @cfg {String|Function} handler\r\n */\r\n /**\r\n * @cfg {String} href\r\n */\r\n /**\r\n * @cfg {String} target\r\n */\r\n /**\r\n * @cfg {String} disabledClass=btn-disabled\r\n */\r\n /**\r\n * @cfg {Boolean} isNew=false\r\n */\r\n /**\r\n * @cfg {String} newTitle=\"\"\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration({ tag: 'a', ...config });\r\n\r\n this._handler = this._getConfigParam('handler', false);\r\n if (typeof this._handler === 'string') {\r\n // eslint-disable-next-line no-eval\r\n eval(`this._handler = ${this._handler}`);\r\n }\r\n this._title = this._getConfigParam('title', '');\r\n this._rightIcon = this._getConfigParam('rightIcon', '');\r\n this._cls = this._getConfigParam('cls', `b-btn${!this._title ? ' btn-icon-only' : ''}`);\r\n this._disabledClass = this._getConfigParam('disabledClass', 'btn-disabled');\r\n this._isNew = this._getConfigParam('isNew', false);\r\n this._newTitle = this._getConfigParam('newTitle', '');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.innerHTML = (\r\n '' +\r\n `${escapeHtml(this._title)}${this._isNew ? ` ${this._newTitle}` : ''}${this._rightIcon}` +\r\n ''\r\n );\r\n\r\n this._initVisibility();\r\n }\r\n\r\n _initVisibility() {\r\n this._disabled = this._getConfigParam('disabled', false);\r\n\r\n if (this._disabled) {\r\n this._disabled = false;\r\n this.disable();\r\n } else {\r\n this._disabled = true;\r\n this.enable();\r\n }\r\n }\r\n\r\n _addAttribute(name, value) {\r\n if ('undefined' !== typeof value && value !== null) {\r\n this._componentElement.setAttribute(name, value);\r\n }\r\n }\r\n\r\n enable() {\r\n if (!this._disabled) {\r\n return;\r\n }\r\n this._disabled = false;\r\n\r\n let classNames = this._config.addCls || '';\r\n if (typeof classNames === 'string') {\r\n classNames = classNames.split(' ').filter(className => className);\r\n } else {\r\n classNames = [classNames];\r\n }\r\n classNames.forEach(item => {\r\n this._componentElement.classList.add(item);\r\n this._componentElement.classList.remove(`${item}-disabled`);\r\n });\r\n this._componentElement.classList.remove(this._disabledClass);\r\n\r\n this._addAttribute('href', prepareUrl(this._getConfigParam('href', 'javascript:;')));\r\n this._addAttribute('target', this._getConfigParam('target', null));\r\n\r\n this._addProgressHandler();\r\n if (this._handler) {\r\n this.addEventObserver('click', this._handler);\r\n }\r\n }\r\n\r\n disable() {\r\n if (this._disabled) {\r\n return;\r\n }\r\n this._disabled = true;\r\n\r\n this._componentElement.classList.add(this._disabledClass);\r\n\r\n let classNames = this._config.addCls || '';\r\n if (typeof classNames === 'string') {\r\n classNames = classNames.split(' ').filter(className => className);\r\n } else {\r\n classNames = [classNames];\r\n }\r\n classNames.forEach(item => {\r\n this._componentElement.classList.add(`${item}-disabled`);\r\n this._componentElement.classList.remove(item);\r\n });\r\n this._componentElement.removeAttribute('href');\r\n this._componentElement.removeAttribute('target');\r\n\r\n if (this._handler) {\r\n this.removeEventObserver('click', this._handler);\r\n }\r\n }\r\n\r\n _addProgressHandler() {\r\n // basic empty implementation\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Button } from './button';\r\n\r\nexport class SmallButton extends Button {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._cls = this._getConfigParam('cls', `s-btn${!this._title ? ' btn-icon-only' : ''}`);\r\n }\r\n}\r\n\r\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\r\nSmallButton.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Button } from './button';\r\nimport render from './render';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nexport class BigButton extends Button {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'tool-block',\r\n disabledClass: 'tool-block-disabled',\r\n ...config,\r\n });\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n let button = '';\r\n if (this._getConfigParam('title')) {\r\n button += `${escapeHtml(this._getConfigParam('title'))}`;\r\n }\r\n\r\n let description = '';\r\n if (Array.isArray(this._getConfigParam('additionalComments'))) {\r\n this._getConfigParam('additionalComments').forEach(comment => {\r\n description += `${escapeHtml(comment)}
`;\r\n });\r\n description = `${description}`;\r\n }\r\n if (this._getConfigParam('comment')) {\r\n description += escapeHtml(this._getConfigParam('comment'));\r\n }\r\n if (description.length) {\r\n button += `${description}`;\r\n }\r\n if (this._getConfigParam('icon')) {\r\n const icon = (\r\n '' +\r\n `` +\r\n ''\r\n );\r\n button = icon + button;\r\n }\r\n this._componentElement.innerHTML = button;\r\n }\r\n\r\n _addProgressHandler() {\r\n if (this._getConfigParam('indicateProgress', false)) {\r\n this.addEventObserver('click', () => {\r\n this._componentElement.style.display = 'none';\r\n render(this._componentElement.parentNode, `
${this._config.waitMessage}
`);\r\n });\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport { Tooltip } from './tooltip';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\nimport escapeHtml from './escapeHtml';\r\nimport emptyFn from './emptyFn';\r\nimport { createHtmlElement } from 'helpers/createHtmlElement';\r\n\r\nexport class SplitButton extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'btn-group',\r\n ...config,\r\n });\r\n\r\n this.title = this._getConfigParam('title', '');\r\n this.isAction = this._getConfigParam('isAction', false);\r\n this.isDefault = this._getConfigParam('isDefault', false);\r\n this.isMenuFlip = this._getConfigParam('isMenuFlip', false);\r\n this.onclick = this._getConfigParam('onclick', emptyFn);\r\n this.items = this._getConfigParam('items', []);\r\n this.isScrollable = this._getConfigParam('isScrollable');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n render(this._componentElement, [\r\n createElement(`button.btn${this.isAction ? '.btn-primary' : ''}`,\r\n {\r\n type: this.isDefault ? 'submit' : 'button',\r\n onclick: this.onclick,\r\n },\r\n escapeHtml(this.title),\r\n ),\r\n createElement('button.btn.dropdown-toggle',\r\n {\r\n type: 'button',\r\n onclick: this.openDropdown.bind(this),\r\n },\r\n createElement('em.caret'),\r\n ),\r\n createElement(`ul.dropdown-menu${this.isMenuFlip ? '.dropdown-menu-flip' : ''}${this.isScrollable ? '.dropdown-scrollable' : ''}`),\r\n ]);\r\n\r\n if (Array.isArray(this.items)) {\r\n this._initItems();\r\n }\r\n }\r\n\r\n _initItems() {\r\n this.items.forEach(item => {\r\n const link = createHtmlElement('a', {\r\n id: item.id || null,\r\n href: item.href || null,\r\n target: item.newWindow ? '_blank' : null,\r\n });\r\n link.innerHTML = escapeHtml(item.title);\r\n\r\n const listItem = createHtmlElement('li', {\r\n class: (item.submenu ? 'dropdown-submenu' : '') + (this.isMenuFlip ? ' to-left' : ''),\r\n });\r\n render(listItem, link);\r\n\r\n if (item.submenu) {\r\n render(listItem, '
    ');\r\n }\r\n\r\n render(this._componentElement.querySelector('.dropdown-menu'), listItem);\r\n\r\n link.addEventListener('click', item.onclick || emptyFn);\r\n\r\n if (item.tooltip) {\r\n Tooltip.init(link, { text: item.tooltip });\r\n }\r\n });\r\n }\r\n\r\n _addTooltips() {\r\n const description = this._getConfigParam('description');\r\n if (description) {\r\n this._tooltip = Tooltip.init(this._componentElement.querySelector('button'), { text: description });\r\n }\r\n }\r\n\r\n openDropdown(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (typeof this.items === 'function') {\r\n const dropdownMenu = this._componentElement.querySelector('.dropdown-menu');\r\n dropdownMenu.innerHTML = `
    ${this.lmsg('loading')}
    `;\r\n\r\n const { items } = this;\r\n this.items = [];\r\n\r\n items().then(items => {\r\n dropdownMenu.innerHTML = '';\r\n this.items = items;\r\n this._initItems();\r\n });\r\n }\r\n\r\n if (!this._componentElement.classList.contains('open')) {\r\n document.querySelectorAll('.btn-group').forEach(item => {\r\n item.classList.remove('open');\r\n });\r\n }\r\n this._componentElement.classList.toggle('open');\r\n }\r\n\r\n _addEvents() {\r\n const openSubmenu = menuItem => {\r\n const submenu = menuItem.querySelector('.dropdown-menu');\r\n if (!menuItem.classList.contains('open') && 'undefined' !== typeof submenu && !submenu.innerHTML.trim()) {\r\n this.items[this.items.length - 1].submenu ? this.items[this.items.length - 1].submenu(menuItem.querySelector('a').nextElementSibling) : '';\r\n }\r\n closeSubmenu(menuItem);\r\n menuItem.classList.add('open');\r\n clearTimeout(menuItem._menuTimeout);\r\n };\r\n\r\n const closeSubmenu = menuItem => {\r\n menuItem.classList.remove('open');\r\n clearTimeout(menuItem._menuTimeout);\r\n };\r\n\r\n this._componentElement.querySelectorAll('.dropdown-menu > li').forEach(element => {\r\n element.addEventListener('mouseover', () => {\r\n if (element.classList.contains('dropdown-submenu') && element.classList.contains('open')) {\r\n return;\r\n }\r\n element.parentNode.querySelectorAll('.dropdown-submenu.open').forEach(menuItem => {\r\n closeSubmenu(menuItem);\r\n });\r\n });\r\n });\r\n\r\n const submenu = this._componentElement.querySelectorAll('.dropdown-submenu');\r\n submenu.forEach(item => {\r\n item.addEventListener('mouseover', () => {\r\n openSubmenu(item);\r\n });\r\n const a = item.querySelector('a');\r\n a.addEventListener('touchend', () => {\r\n if (item.classList.contains('open')) {\r\n closeSubmenu(item);\r\n } else {\r\n openSubmenu(item);\r\n }\r\n });\r\n a.addEventListener('click', event => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n });\r\n });\r\n\r\n this._componentElement.querySelectorAll('.dropdown-submenu').forEach(menuItem => {\r\n menuItem.addEventListener('mouseleave', () => {\r\n clearTimeout(menuItem._menuTimeout);\r\n menuItem._menuTimeout = setTimeout(() => {\r\n closeSubmenu(menuItem);\r\n }, 500);\r\n });\r\n });\r\n\r\n document.body.addEventListener('click', () => {\r\n this._componentElement.classList.remove('open');\r\n });\r\n }\r\n\r\n disable() {\r\n const button = this._componentElement.querySelector('button');\r\n button.disabled = true;\r\n button.classList.add('disabled');\r\n\r\n const toggle = this._componentElement.querySelector('.dropdown-toggle');\r\n toggle.disabled = true;\r\n toggle.classList.add('disabled');\r\n\r\n if (Tooltip.current === this._tooltip) {\r\n Tooltip.hide();\r\n }\r\n }\r\n\r\n enable() {\r\n const button = this._componentElement.querySelector('button');\r\n button.disabled = false;\r\n button.classList.remove('disabled');\r\n\r\n const toggle = this._componentElement.querySelector('.dropdown-toggle');\r\n toggle.disabled = false;\r\n toggle.classList.remove('disabled');\r\n }\r\n\r\n setText(text) {\r\n this._componentElement.querySelector('button').innerHTML = text;\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\n\r\nexport class CommandButton extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({ tag: 'button', ...config });\r\n\r\n this._handler = this._getConfigParam('handler', false);\r\n if (typeof this._handler === 'string') {\r\n // eslint-disable-next-line no-eval\r\n eval(`this._handler = ${this._handler}`);\r\n }\r\n\r\n this._value = this._config.value || '';\r\n this._tabIndex = this._getConfigParam('tabIndex', null);\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.type = 'button';\r\n this._componentElement.value = this._value;\r\n this._componentElement.name = this._config.name;\r\n this._componentElement.innerHTML = this._config.title;\r\n\r\n if (null !== this._tabIndex) {\r\n this._componentElement.setAttribute('tabindex', this._tabIndex);\r\n }\r\n\r\n this._initVisibility();\r\n }\r\n\r\n _initVisibility() {\r\n this._disabled = this._getConfigParam('disabled', false);\r\n\r\n if (this._disabled) {\r\n this._disabled = false;\r\n this.disable();\r\n } else {\r\n this._disabled = true;\r\n this.enable();\r\n }\r\n }\r\n\r\n setHandler(handler) {\r\n if (this._handler && !this._disabled) {\r\n this.removeEventObserver('click', this._handler);\r\n }\r\n\r\n this._handler = handler;\r\n if (!this._disabled) {\r\n this.addEventObserver('click', this._handler);\r\n }\r\n }\r\n\r\n enable() {\r\n if (!this._disabled) {\r\n return;\r\n }\r\n\r\n this._disabled = false;\r\n if ('send' === this._config.name || 'apply' === this._config.name) {\r\n this._componentElement.classList.add('action');\r\n }\r\n this._componentElement.classList.remove('disabled');\r\n this._componentElement.disabled = false;\r\n if (this._handler) {\r\n this.addEventObserver('click', this._handler);\r\n }\r\n }\r\n\r\n disable() {\r\n if (this._disabled) {\r\n return;\r\n }\r\n\r\n this._disabled = true;\r\n this._componentElement.disabled = true;\r\n if ('send' === this._config.name || 'apply' === this._config.name) {\r\n this._componentElement.classList.remove('action');\r\n }\r\n this._componentElement.classList.add('disabled');\r\n if (this._handler) {\r\n this.removeEventObserver('click', this._handler);\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { toollist } from './tool-list';\r\n\r\nconst { Button } = toollist;\r\n\r\nexport class CustomButton extends Button {\r\n /**\r\n * @param {String} path\r\n * @returns {String}\r\n */\r\n getImagePath(path) {\r\n return path;\r\n }\r\n}\r\n\r\nif (window.Form) {\r\n Form.Element.Methods.disable = element => {\r\n element.disabled = 'disabled';\r\n element.classList.add('disabled');\r\n return element;\r\n };\r\n\r\n Form.Element.Methods.enable = element => {\r\n element.disabled = false;\r\n element.classList.remove('disabled');\r\n return element;\r\n };\r\n\r\n Element.addMethods();\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/no-multi-comp */\r\n\r\nimport { Container } from './container';\r\nimport { Component } from './component';\r\nimport { Tooltip } from './tooltip';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\nimport escapeAttribute from './escapeAttribute';\r\nimport escapeHtml from './escapeHtml';\r\nimport { createHtmlElement } from 'helpers/createHtmlElement';\r\n\r\nimport './tool-list.less';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new ToolList({\r\n * renderTo: document.body,\r\n * items: [{\r\n * componentType: toollist.Panel,\r\n * title: 'Components',\r\n * image: 'class-icons/component-large.png',\r\n * items: [{\r\n * componentType: toollist.Item,\r\n * title: Box,\r\n * href: './Box',\r\n * target: '_parent'\r\n * }, {\r\n * componentType: toollist.Item,\r\n * title: Button,\r\n * href: './Button',\r\n * target: '_parent',\r\n * attention: true\r\n * }]\r\n * }, {\r\n * componentType: toollist.Panel,\r\n * title: 'Classes',\r\n * image: 'class-icons/class-large.png',\r\n * items: [{\r\n * componentType: toollist.Item,\r\n * title: Locale,\r\n * href: './Locale',\r\n * target: '_parent'\r\n * }]\r\n * }, {\r\n * componentType: toollist.Panel,\r\n * title: 'Singletons',\r\n * image: 'class-icons/singleton-large.png',\r\n * items: [{\r\n * componentType: toollist.Item,\r\n * title: Cookie,\r\n * href: './Cookie',\r\n * target: '_parent'\r\n * }]\r\n * }]\r\n * });\r\n */\r\nexport class ToolList extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._tools = this._getConfigParam('tools', null);\r\n this._cls = this._getConfigParam('cls', 'tools-list-box');\r\n this._contentAreaId = `${this._id}-tools-list`;\r\n\r\n if (Array.isArray(this._tools) && !this._operations.length) {\r\n this._operations = null;\r\n }\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n this._updateComponentElement((\r\n `
    ` +\r\n `
    ` +\r\n `
    ` +\r\n `
      ` +\r\n '
      ' +\r\n '
      ' +\r\n '
      '\r\n ));\r\n }\r\n\r\n render() {\r\n super.render();\r\n Tooltip.initData(this._componentElement);\r\n }\r\n}\r\n\r\nclass Panel extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._contentAreaId = `${this._id}-tools-list`;\r\n this._image = this._getConfigParam('image', '');\r\n this._title = this._getConfigParam('title', '');\r\n }\r\n\r\n _initComponentElement() {\r\n const attributes = { class: 'tools-item' };\r\n const forcedId = this._getConfigParam('id', null);\r\n if (forcedId) {\r\n attributes.id = forcedId;\r\n }\r\n\r\n this._componentElement = createHtmlElement('li', attributes);\r\n render(\r\n this._componentElement,\r\n createElement('div', { class: 'tool-block' },\r\n createElement('span', { class: 'tool-icon' }, createElement('img', { src: this._image })),\r\n createElement('span', { class: 'tool-name' }, this._title),\r\n createElement('ul', { id: `${this._id}-tools-list`, class: 'tool-info' }),\r\n ),\r\n );\r\n }\r\n}\r\n\r\nclass Item extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._handler = this._getConfigParam('handler', false);\r\n if (typeof this._handler === 'string') {\r\n // eslint-disable-next-line no-eval\r\n eval(`this._handler = ${this._handler}`);\r\n }\r\n this._href = this._getConfigParam('href', '#');\r\n this._target = this._getConfigParam('target', null);\r\n this._title = this._getConfigParam('title', '');\r\n this._disabled = this._getConfigParam('disabled', false);\r\n this._attention = this._getConfigParam('attention', false);\r\n }\r\n\r\n _initComponentElement() {\r\n const href = this._disabled ? '#' : this._href;\r\n\r\n let title = escapeHtml(this._title);\r\n if (this._attention) {\r\n title = createHtmlElement('span', {\r\n class: 'hint-attention',\r\n });\r\n title.innerHTML = title;\r\n }\r\n\r\n this._componentElement = createHtmlElement('li', {\r\n id: this._getConfigParam('id', null),\r\n })\r\n .update(createHtmlElement('a', {\r\n href,\r\n target: this._target,\r\n }).update(title));\r\n\r\n if (this._handler && !this._disabled) {\r\n const handler = this._handler;\r\n this._componentElement.querySelector('a').addEventListener('click', e => {\r\n e.preventDefault();\r\n handler.call(this, e);\r\n });\r\n }\r\n }\r\n\r\n _addTooltips() {\r\n const description = this._getConfigParam('description');\r\n if (description) {\r\n this._tooltip = Tooltip.init(this._componentElement.querySelector('a'), { text: description });\r\n }\r\n }\r\n}\r\n\r\nclass Button extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._handler = this._getConfigParam('handler', false);\r\n if (typeof this._handler === 'string') {\r\n // eslint-disable-next-line no-eval\r\n eval(`this._handler = ${this._handler}`);\r\n }\r\n this._href = this._getConfigParam('href', '#');\r\n this._target = this._getConfigParam('target', null);\r\n this._image = this._getConfigParam('image', '');\r\n this._disabledImage = this._getConfigParam('disabledImage', this._image);\r\n this._title = this._getConfigParam('title', '');\r\n this._description = this._getConfigParam('description', '');\r\n this._disabled = this._getConfigParam('disabled', false);\r\n }\r\n\r\n _initComponentElement() {\r\n const attributes = { class: 'tools-item' };\r\n const forcedId = this._getConfigParam('id', null);\r\n if (forcedId) {\r\n attributes.id = forcedId;\r\n }\r\n\r\n this._componentElement = createHtmlElement('li', attributes);\r\n\r\n let href;\r\n let image;\r\n let cls = 'tool-block';\r\n\r\n if (this._disabled) {\r\n cls += ' tool-block-disabled';\r\n href = '#';\r\n image = this.getImagePath(this._disabledImage);\r\n } else {\r\n href = this._href;\r\n image = this.getImagePath(this._image);\r\n }\r\n render(this._componentElement,\r\n createElement(\r\n 'a',\r\n {\r\n class: cls,\r\n target: this._target,\r\n href,\r\n },\r\n (\r\n '' +\r\n `` +\r\n '' +\r\n `${escapeHtml(this._title)}` +\r\n `${escapeHtml(this._description)}`\r\n ),\r\n ),\r\n );\r\n\r\n if (this._handler && !this._disabled) {\r\n this._componentElement.addEventListener('click', this._handler);\r\n }\r\n }\r\n\r\n _addTooltips() {\r\n // don't show tooltips, 'cause we've inline descriptions\r\n }\r\n\r\n getImagePath(path) {\r\n return `${Jsw.skinUrl}/${path}`;\r\n }\r\n}\r\n\r\nexport const toollist = { Panel, Item, Button };\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/require-render-return */\r\n\r\nimport { Component } from './component';\r\nimport createComponent from './createComponent';\r\nimport render from './render';\r\n\r\nexport class Container extends Component {\r\n /**\r\n * @cfg {Array} items\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._contentAreaId = this._id;\r\n\r\n this._initItems();\r\n }\r\n\r\n _initItems(items) {\r\n items = items || this._getConfigParam('items') || [];\r\n\r\n this._items = items.filter(function (item) {\r\n return !!item;\r\n }).map(createComponent);\r\n }\r\n\r\n _renderItems() {\r\n this._items.forEach(this._renderItem, this);\r\n }\r\n\r\n _renderItem(item) {\r\n render(document.getElementById(this._contentAreaId), item);\r\n }\r\n\r\n getItems() {\r\n return this._items;\r\n }\r\n\r\n getItem(id) {\r\n return this.getItems().find(item => item.getId() === id);\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this._renderItems();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport prepareUrl from './prepareUrl';\r\nimport addUrlParams from './addUrlParams';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\nimport { createHtmlElement } from 'helpers/createHtmlElement';\r\n/**\r\n * Submit form.\r\n * @param {Element|String} element Form element or form child element or it id.\r\n * @param {Boolean} [noRedirect]\r\n * @member Jsw\r\n */\r\nexport const submit = (element, noRedirect) => {\r\n const form = (typeof element === 'string' ? document.getElementById(element) : element).closest('form');\r\n form.noRedirect = noRedirect;\r\n form.submit();\r\n};\r\n\r\nconst isJavascriptProtocol = url => {\r\n try {\r\n return new URL(url).protocol === 'javascript:';\r\n } catch {\r\n // seems like a relative url;\r\n return false;\r\n }\r\n};\r\n\r\n/**\r\n * Go to url with get method.\r\n * @param {String|Object} action\r\n * @param {Object} [data]\r\n * @param {String} [target]\r\n * @member Jsw\r\n */\r\nexport const redirect = (action, data, target) => {\r\n let url = action;\r\n let method = 'get';\r\n if (Object.prototype.toString.call(action) === '[object Object]') {\r\n /* eslint-disable prefer-destructuring */\r\n method = action.method || method;\r\n data = action.data;\r\n target = action.target;\r\n url = action.url;\r\n /* eslint-enable prefer-destructuring */\r\n }\r\n if (isJavascriptProtocol(url)) {\r\n throw new Error(`The redirect to this url can not be performed: ${url}`);\r\n }\r\n url = prepareUrl(url);\r\n method = method.toLowerCase();\r\n if ('post' === method || (data && Object.keys(data).length) || target) {\r\n FormRedirect.redirect(url, method, data, target);\r\n } else {\r\n window.location.assign(url);\r\n }\r\n};\r\n\r\n/**\r\n * Go to url with post method.\r\n * @param {String} action\r\n * @param {Object} [data]\r\n * @param {String} [target]\r\n * @member Jsw\r\n */\r\nexport const redirectPost = (action, data, target) => {\r\n FormRedirect.redirect(prepareUrl(action), 'post', data, target);\r\n};\r\n\r\n/**\r\n * @class FormRedirect\r\n * @singleton\r\n */\r\nexport const FormRedirect = {\r\n /**\r\n * @param {String} action\r\n * @param {String} method\r\n * @param {Object} [data]\r\n * @param {String} [target]\r\n */\r\n redirect(action, method, data, target) {\r\n render(\r\n document.body,\r\n createElement(\r\n 'form',\r\n {\r\n method,\r\n target,\r\n // workaround for http://code.google.com/p/chromium/issues/detail?id=10671\r\n action: addUrlParams(action, `_randomId=${Math.floor(1000000 * Math.random())}`),\r\n onrender(form) {\r\n setTimeout(() => {\r\n form.submit();\r\n }, 0);\r\n },\r\n },\r\n data ? FormRedirect.subToElements(data) : null,\r\n document.getElementById('forgery_protection_token') ? createElement('input', {\r\n type: 'hidden',\r\n name: 'forgery_protection_token',\r\n value: document.getElementById('forgery_protection_token').content,\r\n }) : null,\r\n ),\r\n );\r\n },\r\n\r\n /**\r\n * @param {String} value\r\n * @param {String} prefix\r\n * @returns {Element[]}\r\n */\r\n stringToElements(value, prefix) {\r\n return [createHtmlElement('input', {\r\n type: 'hidden',\r\n name: prefix,\r\n value,\r\n })];\r\n },\r\n\r\n /**\r\n * @param {Boolean} value\r\n * @param {String} prefix\r\n * @returns {Element[]}\r\n */\r\n booleanToElements(value, prefix) {\r\n return [createHtmlElement('input', {\r\n type: 'hidden',\r\n name: prefix,\r\n value: value ? 1 : 0,\r\n })];\r\n },\r\n\r\n /**\r\n * @param {Array} data\r\n * @param {String} prefix\r\n * @returns {Element[]}\r\n */\r\n arrayToElements(data, prefix) {\r\n let elements = [];\r\n data.forEach(function (item) {\r\n elements = elements.concat(FormRedirect.subToElements(item, '', prefix));\r\n });\r\n return elements;\r\n },\r\n\r\n /**\r\n * @param {Object} data\r\n * @param {String} prefix\r\n * @returns {Element[]}\r\n */\r\n hashToElements(data, prefix) {\r\n let elements = [];\r\n $H(data).each(function (pair) {\r\n elements = elements.concat(FormRedirect.subToElements(pair.value, pair.key, prefix));\r\n });\r\n return elements;\r\n },\r\n\r\n /**\r\n * @param {String} value\r\n * @param {String} key\r\n * @param {String} prefix\r\n * @returns {Element[]}\r\n */\r\n subToElements(value, key, prefix) {\r\n let elements = [];\r\n const name = prefix\r\n ? `${prefix}[${key}]`\r\n : key;\r\n if (typeof value === 'string' || typeof value === 'number') {\r\n elements = elements.concat(FormRedirect.stringToElements(value, name));\r\n } else if ('boolean' === typeof value) {\r\n elements = elements.concat(FormRedirect.booleanToElements(value, name));\r\n } else if (Array.isArray(value)) {\r\n elements = elements.concat(FormRedirect.arrayToElements(value, name));\r\n } else if ('function' !== typeof value) {\r\n elements = elements.concat(FormRedirect.hashToElements(value, name));\r\n }\r\n return elements;\r\n },\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\n\r\nexport class DisplayField extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'form-row',\r\n ...config,\r\n });\r\n this._valueRenderer = this._getConfigParam('valueRenderer', null);\r\n }\r\n\r\n renderHint() {\r\n const hint = this._getConfigParam('hint');\r\n\r\n if (!hint) {\r\n return '';\r\n }\r\n\r\n return `${hint}`;\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n let values = ('function' === typeof this._valueRenderer)\r\n ? this._valueRenderer()\r\n : this._getConfigParam('value', '');\r\n\r\n values = (typeof values === 'string') ? [values] : values;\r\n\r\n let valuesElements = '';\r\n values.forEach(value => {\r\n valuesElements += `
      ${value}
      `;\r\n });\r\n\r\n if (this._getConfigParam('singleRow', false)) {\r\n if (1 === values.length) {\r\n valuesElements = values.valueOf();\r\n }\r\n this._componentElement.innerHTML = `
      ${valuesElements}
      `;\r\n } else {\r\n this._componentElement.innerHTML = (\r\n `
      ${this._getConfigParam('fieldLabel', '')}${this.renderHint()}
      ` +\r\n `
      ${valuesElements}
      `\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport class Values {\r\n /**\r\n * @cfg {String} selector CSS selector\r\n */\r\n\r\n constructor(config) {\r\n this.selector = config.selector;\r\n this.formValues = {};\r\n document.querySelectorAll(this.selector).forEach(input => {\r\n this.formValues[this.getStorageName(input)] = input.value;\r\n });\r\n }\r\n\r\n /**\r\n * @returns {Boolean}\r\n */\r\n isChanged() {\r\n let changed = false;\r\n document.querySelectorAll(this.selector).forEach(input => {\r\n if (this.formValues[this.getStorageName(input)] != input.value) {\r\n changed = true;\r\n }\r\n });\r\n return changed;\r\n }\r\n\r\n getStorageName(input) {\r\n return `${input.getAttribute('type')}/${input.getAttribute('name')}`;\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component, getComponent } from './component';\r\nimport { redirect, redirectPost } from './form-redirect';\r\nimport Observer from './Observer';\r\nimport addStatusMessage from './addStatusMessage';\r\nimport clearStatusMessages from './clearStatusMessages';\r\nimport showInternalError from './showInternalError';\r\nimport render from './render';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nexport class FormAjax extends Component {\r\n _initConfiguration(config) {\r\n this._actionButtonTitle = '';\r\n\r\n super._initConfiguration(config);\r\n this._sendButtonId = this._getConfigParam('sendButtonId', 'btn-send');\r\n this._applyButtonId = this._getConfigParam('applyButtonId', 'btn-apply');\r\n this._cancelButtonId = this._getConfigParam('cancelButtonId', 'btn-cancel');\r\n this._confirmationCheckboxId = this._getConfigParam('confirmationCheckboxId', 'formNeedAttention-attentionConfirmed');\r\n this._submitHandler = this._getConfigParam('submitHandler', () => true);\r\n }\r\n\r\n disable() {\r\n [this._sendButtonId, this._applyButtonId, this._cancelButtonId].forEach(buttonId => {\r\n this._toggleButton(buttonId, true);\r\n });\r\n\r\n this._toggleCheckbox(this._confirmationCheckboxId, true);\r\n\r\n const actionButton = this._getActionButton();\r\n if (actionButton) {\r\n this._actionButtonTitle = actionButton.innerHTML;\r\n actionButton.innerHTML = `${this._config.waitButtonTitle}`;\r\n }\r\n }\r\n\r\n enable() {\r\n [this._sendButtonId, this._applyButtonId, this._cancelButtonId].forEach(buttonId => {\r\n this._toggleButton(buttonId, false);\r\n });\r\n\r\n this._toggleCheckbox(this._confirmationCheckboxId, false);\r\n\r\n const actionButton = this._getActionButton();\r\n if (actionButton) {\r\n actionButton.innerHTML = this._actionButtonTitle;\r\n }\r\n }\r\n\r\n _toggleButton(buttonId, disable) {\r\n const button = getComponent(buttonId);\r\n if (button) {\r\n button[disable ? 'disable' : 'enable']();\r\n }\r\n }\r\n\r\n _toggleCheckbox(checkboxId, disable) {\r\n const checkbox = document.getElementById(checkboxId);\r\n if (checkbox) {\r\n checkbox.disabled = disable;\r\n }\r\n }\r\n\r\n _getActionButton() {\r\n return document.getElementById(this._componentElement.noRedirect ? this._applyButtonId : this._sendButtonId);\r\n }\r\n\r\n _initComponentElement() {\r\n this._componentElement = document.getElementById(this._id);\r\n this._initDisablerOverlay();\r\n\r\n if (!this._componentElement.dataset?.noInitFocus) {\r\n const firstElement = this._componentElement.querySelector('input, select, textarea');\r\n\r\n if (firstElement) {\r\n try {\r\n firstElement.focus();\r\n } catch {}\r\n }\r\n }\r\n\r\n this._submitInProgress = false;\r\n\r\n const toggleButtons = disable => {\r\n [this._sendButtonId, this._applyButtonId].forEach(id => this._toggleButton(id, disable));\r\n };\r\n\r\n const confirmationCheckbox = document.getElementById(this._confirmationCheckboxId);\r\n if (confirmationCheckbox) {\r\n toggleButtons(!confirmationCheckbox.checked);\r\n confirmationCheckbox.addEventListener('click', e => {\r\n toggleButtons(!e.currentTarget.checked);\r\n });\r\n }\r\n }\r\n\r\n _addEvents() {\r\n this._componentElement._formSubmit = this._componentElement.submit;\r\n this._componentElement.submit = this._onSubmit.bind(this);\r\n this._componentElement.addEventListener('submit', this._onSubmitEvent.bind(this));\r\n this._addChoiceRadioButtonsOnClickEvent();\r\n }\r\n\r\n _addChoiceRadioButtonsOnClickEvent() {\r\n document.querySelectorAll('input[type=\"radio\"]').forEach(element => {\r\n if (!element.closest('div.choice-block')) {\r\n return;\r\n }\r\n element.addEventListener('click', function () {\r\n element.closest('div.choice-block').querySelectorAll('span').forEach(element => {\r\n element.classList.remove('selected');\r\n\r\n if ('0' === element.value) {\r\n element.classList.remove('no');\r\n }\r\n });\r\n\r\n element.closest('span').classList.add('selected');\r\n\r\n if ('0' === element.value) {\r\n element.closest('span').classList.add('no');\r\n }\r\n });\r\n });\r\n }\r\n\r\n _onSubmitEvent(event) {\r\n this._onSubmit();\r\n event.preventDefault();\r\n return false;\r\n }\r\n\r\n async _onSubmit() {\r\n if (!await this._submitHandler()) {\r\n return false;\r\n }\r\n\r\n if (this._submitInProgress) {\r\n return false;\r\n }\r\n this._submitInProgress = true;\r\n\r\n this._clearMessages();\r\n this.disable();\r\n\r\n if (this._componentElement.enctype === 'multipart/form-data') {\r\n this._componentElement._formSubmit();\r\n return true;\r\n }\r\n\r\n let actionUrl = this._componentElement.getAttribute('action');\r\n\r\n if (!actionUrl) {\r\n actionUrl = document.location.href;\r\n }\r\n\r\n // remove hash symbol (and the following) cause this will encoded and lead to problems\r\n actionUrl = actionUrl.replace(/#.*$/, '');\r\n\r\n const params = Form.serialize(this._componentElement);\r\n new Ajax.Request(actionUrl, {\r\n method: 'post',\r\n parameters: params,\r\n onSuccess: this._onSuccess.bind(this),\r\n onFailure: this._onFailure.bind(this),\r\n });\r\n return true;\r\n }\r\n\r\n _onFailure(req) {\r\n this._submitInProgress = false;\r\n this._clearMessages();\r\n\r\n if (504 === req.status) {\r\n addStatusMessage('error', this._config.timeoutMessage);\r\n } else {\r\n showInternalError(req.responseText);\r\n }\r\n\r\n this.enable();\r\n }\r\n\r\n _onSuccess(req) {\r\n this._submitInProgress = false;\r\n clearStatusMessages();\r\n\r\n try {\r\n const response = JSON.parse(req.responseText);\r\n this._processForm(response);\r\n } catch {\r\n this._clearMessages();\r\n this.enable();\r\n\r\n // show error, if request wasn't aborted by user\r\n if (0 != req.status) {\r\n showInternalError(req.responseText);\r\n }\r\n }\r\n }\r\n\r\n _processForm(response) {\r\n if (response.componentType === 'Jsw.Task.ProgressBar.Item') {\r\n getComponent('asyncProgressBarWrapper').progressDialog(response);\r\n Observer.append(task => {\r\n if (task.id === response.id) {\r\n this.enable();\r\n }\r\n }, 'plesk:taskComplete');\r\n return;\r\n }\r\n\r\n if (response.redirect) {\r\n this._processResponseRedirect(response);\r\n return;\r\n }\r\n\r\n this._clearMessages();\r\n this._processResponseStatus(response.status);\r\n this._processResponseStatusMessages(response.statusMessages);\r\n this._processResponseFormMessages(response.formMessages);\r\n\r\n if (this._hasFieldErrors) {\r\n this._showFieldErrorArea();\r\n }\r\n this.enable();\r\n }\r\n\r\n _showFieldErrorArea() {\r\n const errorsElements = this._componentElement.querySelectorAll('.field-errors');\r\n let firstError = null;\r\n\r\n errorsElements.forEach(errorElement => {\r\n if (errorElement.style.display !== 'none') {\r\n firstError = errorElement;\r\n }\r\n });\r\n\r\n let hiddenContainerId = null;\r\n\r\n let element = firstError;\r\n while ((element = element.parentNode) && element.nodeType === Node.ELEMENT_NODE) {\r\n if (element.style.display === 'none') {\r\n hiddenContainerId = element.id;\r\n }\r\n }\r\n\r\n if (!hiddenContainerId) {\r\n return;\r\n }\r\n\r\n // in case of tabbed form we must switch to corresponding tab\r\n const tabsBar = getComponent('form-tab-buttons');\r\n\r\n if (tabsBar) {\r\n tabsBar.switchTab(hiddenContainerId);\r\n }\r\n }\r\n\r\n _processResponseStatus(status) {\r\n if ('success' !== status) {\r\n this._hasErrors = true;\r\n }\r\n }\r\n\r\n _clearMessages() {\r\n // clear field messages\r\n try {\r\n this._componentElement.querySelectorAll('.field-errors').forEach(errors => {\r\n errors.style.display = 'none';\r\n const rowElement = errors.closest('.form-row');\r\n if (rowElement) {\r\n rowElement.classList.remove('error');\r\n }\r\n errors.querySelectorAll('.error-hint').forEach(error => {\r\n error.parentNode.removeChild(error);\r\n });\r\n });\r\n } catch {\r\n }\r\n\r\n this._hasErrors = false;\r\n this._hasFieldErrors = false;\r\n }\r\n\r\n _processResponseStatusMessages(messages) {\r\n (messages || []).forEach(({ status, content, title }) => {\r\n this._addFormMessage(status, content, title);\r\n });\r\n }\r\n\r\n _processResponseFormMessages(messages) {\r\n this._processFieldMessages(messages, []);\r\n }\r\n\r\n _addFieldMessage(errors, message) {\r\n errors.closest('.form-row').classList.add('error');\r\n render(errors, `${escapeHtml(message)}`);\r\n errors.style.display = '';\r\n }\r\n\r\n _processFieldMessage(prefix, name, message) {\r\n let fieldErrors;\r\n const formElement = this._componentElement.querySelector(`#${prefix.join('-')}`);\r\n fieldErrors = formElement ? formElement.parentNode.querySelector('.field-errors') : null;\r\n if (!fieldErrors) {\r\n fieldErrors = formElement ? formElement.closest('.form-row').querySelector('.field-errors') : null;\r\n }\r\n if (!fieldErrors) {\r\n fieldErrors = this._componentElement.querySelector(`#${prefix.join('-')}-form-row`).querySelectorAll('.field-errors');\r\n fieldErrors = fieldErrors[fieldErrors.length - 1];\r\n }\r\n this._addFieldMessage(fieldErrors, message);\r\n this._hasFieldErrors = true;\r\n }\r\n\r\n _processFieldMessages(messages, prefix) {\r\n if (Array.isArray(messages)) {\r\n messages.forEach(message => {\r\n if (typeof message === 'string') {\r\n this._processFieldMessage(prefix, 'error', message);\r\n } else {\r\n prefix.push(name);\r\n this._processFieldMessages(message, prefix);\r\n prefix.pop();\r\n }\r\n });\r\n } else {\r\n $H(messages).each(({ key, value }) => {\r\n if (typeof value === 'string') {\r\n this._processFieldMessage(prefix, key, value);\r\n } else {\r\n prefix.push(key);\r\n this._processFieldMessages(value, prefix);\r\n prefix.pop();\r\n }\r\n });\r\n }\r\n }\r\n\r\n _addFormMessage(type, message, title) {\r\n addStatusMessage(type, message, { title });\r\n }\r\n\r\n _processResponseRedirect(response) {\r\n if (this._componentElement.noRedirect) {\r\n document.location.reload();\r\n } else if (response.postData) {\r\n redirectPost(response.redirect, response.postData, response.target);\r\n } else {\r\n redirect(response.redirect, null, response.target);\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Container } from './container';\r\nimport render from './render';\r\n\r\nexport class ListContainer extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n tag: 'ul',\r\n ...config,\r\n });\r\n }\r\n\r\n _renderItem(item) {\r\n let renderTargetId = null;\r\n const isEmptyItem = Array.isArray(item) && !item.length;\r\n\r\n if (!isEmptyItem) {\r\n renderTargetId = `${this._id}-item-${item.getId()}`;\r\n }\r\n\r\n let cls = this._getConfigParam('itemClass', '');\r\n\r\n if (this._getConfigParam('renderLastItemClass', '') && this._items[this._items.length - 1] === item) {\r\n cls = 'last';\r\n }\r\n\r\n if (isEmptyItem) {\r\n cls += ` ${this._getConfigParam('emptyItemClass', '')}`;\r\n }\r\n\r\n if (cls) {\r\n cls = ` class=\"${cls}\"`;\r\n }\r\n\r\n render(document.getElementById(this._contentAreaId), `
    • `);\r\n\r\n if (!isEmptyItem) {\r\n render(document.getElementById(renderTargetId), item);\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Container } from './container';\r\nimport render from './render';\r\n\r\nexport class TwoColumns extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'two-cols-block clearfix',\r\n ...config,\r\n });\r\n this._columnCls = 'first-col';\r\n }\r\n\r\n _initComponentElement() {\r\n this._componentElement = document.createElement('div');\r\n this._componentElement.className = this._cls;\r\n this._componentElement.innerHTML = (\r\n `
      `\r\n );\r\n }\r\n\r\n _renderItem(item) {\r\n const renderTargetId = `${this._id}-item-${item.getId()}`;\r\n render(\r\n document.getElementById(this._contentAreaId),\r\n `
      `,\r\n );\r\n render(document.getElementById(renderTargetId), item);\r\n\r\n this._columnCls = 'second-col';\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Utility class for setting/reading values from browser cookies.\r\n * Values can be written using the {@link #set} or {@link #setPermanent} method.\r\n * Values can be read using the {@link #get} method.\r\n * A cookie can be invalidated on the client machine using the {@link #remove} method.\r\n */\r\nexport default {\r\n /**\r\n * Retrieves cookies that are accessible by the current page. If a cookie does not exist, `get()` returns null.\r\n * @param {String} name The name of the cookie to get\r\n * @returns {String|null} Returns the cookie value for the specified name; null if the cookie name does not exist.\r\n */\r\n get(name) {\r\n const cookies = document.cookie.split('; ');\r\n for (let i = 0; i < cookies.length; i++) {\r\n const crumbs = cookies[i].split('=');\r\n if (name === crumbs[0]) {\r\n return unescape(crumbs[1]);\r\n }\r\n }\r\n return null;\r\n },\r\n\r\n /**\r\n * Creates a cookie with the specified name and value.\r\n * @param {String} name The name of the cookie to set.\r\n * @param {String} value The value to set for the cookie.\r\n * @param {String} [expires] Specify an expiration date the cookie is to persist until.\r\n * @param {String} [path] Setting a path on the cookie restricts access to pages that match that path.\r\n */\r\n set(name, value, expires, path) {\r\n let cookie = `${name}=${escape(value)}; `;\r\n\r\n if (expires) {\r\n cookie += `expires=${expires}; `;\r\n }\r\n\r\n if (path) {\r\n cookie += `path=${path}; `;\r\n }\r\n\r\n if (window.location.protocol === 'https:') {\r\n cookie += 'secure; ';\r\n }\r\n\r\n document.cookie = cookie;\r\n },\r\n\r\n /**\r\n * Creates a permanent cookie with the specified name and value.\r\n * @param {String} name The name of the cookie to set.\r\n * @param {String} value The value to set for the cookie.\r\n * @param {String} [path] Setting a path on the cookie restricts access to pages that match that path.\r\n */\r\n setPermanent(name, value, path) {\r\n const date = new Date();\r\n date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000));\r\n const expires = date.toGMTString();\r\n this.set(name, value, expires, path);\r\n },\r\n\r\n /**\r\n * Removes a cookie with the provided name from the browser by setting its expiration date to sometime in the past.\r\n * @param {String} name\r\n * @param {String} [path]\r\n */\r\n remove(name, path) {\r\n this.set(name, '', 'Fri, 31 Dec 1999 23:59:59 GMT', path);\r\n },\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Container } from './container';\r\nimport Cookie from 'common/cookie';\r\nimport createComponent from './createComponent';\r\nimport render from './render';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new Panel({\r\n * renderTo: document.body,\r\n * title: 'Panel title',\r\n * items: [\r\n * new Box({\r\n * html: 'Panel content'\r\n * }),\r\n * ],\r\n * });\r\n */\r\nexport class Panel extends Container {\r\n /**\r\n * @cfg {String} title\r\n */\r\n /**\r\n * @cfg {String} titleClass\r\n */\r\n /**\r\n * @cfg {Boolean} hideContentTitle\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._title = this._getConfigParam('title', '');\r\n this._titleClass = this._getConfigParam('titleClass', '');\r\n this._hideContentTitle = this._getConfigParam('hideContentTitle', this._title);\r\n this._titleAreaId = `${this._id}-title-area`;\r\n this._contentAreaId = `${this._id}-content-area`;\r\n this._boxItemsAreaId = `${this._id}-box-area`;\r\n this._initBoxItems();\r\n }\r\n\r\n _initBoxItems() {\r\n this._boxItems = this._getConfigParam('boxItems', null);\r\n\r\n if (null !== this._boxItems) {\r\n this._boxItems = this._boxItems.map(createComponent);\r\n }\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._updateComponentElement((\r\n `
      ${this._getTitleHtml()}${this._getSubTitleHtml()}` +\r\n `
      ` +\r\n '
      ' +\r\n '
      ' +\r\n `
      ${this._getConfigParam('html', '')}
      ` +\r\n '
      ' +\r\n '
      ' +\r\n '
      '\r\n ));\r\n }\r\n\r\n _getTitleHtml() {\r\n return this._title\r\n ? `
      ` +\r\n `
      ${\r\n ('-' === this._title) ? '' : `

      ${this._title}

      `\r\n }
      ` +\r\n '
      '\r\n : '';\r\n }\r\n\r\n _getSubTitleHtml() {\r\n return '';\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this._renderBoxItems();\r\n }\r\n\r\n _renderBoxItems() {\r\n if (null !== this._boxItems) {\r\n this._boxItems.forEach(function (item) {\r\n this._renderBoxItem(item);\r\n }, this);\r\n }\r\n }\r\n\r\n _renderBoxItem(item) {\r\n render(document.getElementById(this._boxItemsAreaId), item);\r\n }\r\n\r\n _isHidden() {\r\n const rememberedStatus = Cookie.get(`${this._id}-hidden`);\r\n if (this._idIsRandom || null === rememberedStatus) {\r\n return this._getConfigParam('collapsed', false);\r\n }\r\n return 1 == rememberedStatus;\r\n }\r\n\r\n _setHidden(hidden) {\r\n if (this._getConfigParam('collapsed', false) == hidden) {\r\n Cookie.remove(`${this._id}-hidden`);\r\n } else {\r\n Cookie.set(`${this._id}-hidden`, hidden ? 1 : 0);\r\n }\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n if (this._isHidden()) {\r\n this.hideContent();\r\n } else {\r\n this.showContent();\r\n }\r\n this._componentElement.querySelectorAll(`#${this._titleAreaId}`).forEach(titleAreaElement => {\r\n titleAreaElement.addEventListener('click', () => {\r\n this.toggleContent();\r\n });\r\n });\r\n }\r\n\r\n _updateTitle(title) {\r\n if (title && ('-' !== title)) {\r\n this._componentElement.querySelector('div.title-area > h3 > span').innerHTML = title;\r\n }\r\n }\r\n\r\n showContent() {\r\n this._componentElement.classList.remove('hide');\r\n this._updateTitle(this._hideContentTitle);\r\n if (!this._idIsRandom) {\r\n this._setHidden(false);\r\n }\r\n }\r\n\r\n hideContent() {\r\n this._componentElement.classList.add('hide');\r\n this._updateTitle(this._title);\r\n if (!this._idIsRandom) {\r\n this._setHidden(true);\r\n }\r\n }\r\n\r\n toggleContent() {\r\n this._componentElement.classList.contains('hide')\r\n ? this.showContent()\r\n : this.hideContent();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { ModalDialogBox } from './modal-dialog-box';\r\nimport showInternalError from './showInternalError';\r\nimport ce from './createElement';\r\nimport prepareUrl from './prepareUrl';\r\nimport escapeHtml from './escapeHtml';\r\nimport Locale from './Locale';\r\n\r\nimport './message-box.less';\r\n\r\nconst factory = (config = {}) => {\r\n if (config.isWebspace) {\r\n return new WebspaceFoldersMessageBox(config);\r\n }\r\n\r\n if (config.isAjax) {\r\n return new MultiCheckboxMessageWindow(config);\r\n }\r\n\r\n return new MessageBox(config);\r\n};\r\n\r\nconst TYPE_OK = 'TYPE_OK';\r\nconst TYPE_YESNO = 'TYPE_YESNO';\r\nconst SUBTYPE_DELETE = 'delete';\r\nconst SUBTYPE_TOGGLE = 'toggle';\r\nconst SUBTYPE_CONFIRM = 'confirm';\r\n\r\n/**\r\n * @class messageBox\r\n * @singleton\r\n */\r\nexport const messageBox = {\r\n TYPE_OK,\r\n TYPE_YESNO,\r\n SUBTYPE_DELETE,\r\n SUBTYPE_TOGGLE,\r\n SUBTYPE_CONFIRM,\r\n\r\n /**\r\n * Show message box.\r\n * @param {Object} config\r\n */\r\n show(config) {\r\n const messageBox = factory(config);\r\n messageBox.show();\r\n return messageBox;\r\n },\r\n};\r\n\r\nexport class MessageBox extends ModalDialogBox {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._cls = 'popup-panel popup-panel-sm popup-panel-centered confirmation-box';\r\n this._type = this._getConfigParam('type', TYPE_YESNO);\r\n this._text = this._getConfigParam('text', '');\r\n this._subtype = this._getConfigParam('subtype', null);\r\n this._description = this._getConfigParam('description', '');\r\n this._descriptionWrapperTag = this._getConfigParam('descriptionWrapperTag', 'p');\r\n this._descriptionDecorator = this._getConfigParam('descriptionDecorator', content => content);\r\n this._buttonDefault = this._getConfigParam('buttonDefault', this._type === TYPE_YESNO ? 'no' : 'yes');\r\n\r\n const buttonsLocale = Locale.getSection('components.buttons');\r\n this._buttonTitles = {\r\n ok: buttonsLocale.lmsg('ok'),\r\n yes: buttonsLocale.lmsg(this._subtype === SUBTYPE_DELETE ? 'yesRemove' : 'yes'),\r\n no: buttonsLocale.lmsg('no'),\r\n wait: buttonsLocale.lmsg('wait'),\r\n ...this._getConfigParam('buttonTitles'),\r\n };\r\n\r\n this._onYesClick = this._getConfigParam('onYesClick', null);\r\n this._onNoClick = this._getConfigParam('onNoClick', null);\r\n this._onOkClick = this._getConfigParam('onOkClick', null);\r\n this._needAttention = this._getConfigParam('needAttention', false);\r\n this._needAttentionText = this._getConfigParam('needAttentionText', '');\r\n this._needAttentionBlockSubmit = this._getConfigParam('needAttentionBlockSubmit', false);\r\n this._needAttentionOnChange = this._getConfigParam('needAttentionOnChange', null);\r\n\r\n if (TYPE_YESNO === this._type) {\r\n if (this._onYesClick) {\r\n this._onYesClickHandler = this._onYesClick.bind(this);\r\n } else {\r\n this._onYesClickHandler = this._defaultOnButtonClick.bind(this);\r\n }\r\n }\r\n }\r\n\r\n _getDescriptionCode() {\r\n const wrapDescription = description => `<${this._descriptionWrapperTag}>${description}`;\r\n\r\n if (Array.isArray(this._description)) {\r\n return this._description.map(wrapDescription).join('');\r\n }\r\n\r\n return this._descriptionDecorator(wrapDescription(this._description));\r\n }\r\n\r\n _getNeedAttentionCode() {\r\n if (!this._needAttention) {\r\n return '';\r\n }\r\n\r\n let needAttentionCode = '
      ';\r\n if (this._needAttentionBlockSubmit || this._needAttentionOnChange) {\r\n needAttentionCode += (\r\n '

      ' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n `` +\r\n '' +\r\n '

      '\r\n );\r\n } else {\r\n needAttentionCode += `

      ${this._needAttentionText}

      `;\r\n }\r\n needAttentionCode += '
      ';\r\n\r\n return needAttentionCode;\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._updateComponentElement(\r\n ce('div.popup-wrapper',\r\n ce('div.popup-container',\r\n ce('div.popup-content',\r\n ce('div.popup-content-area',\r\n ce(`div.confirmation-msg${this._subtype ? `.mw-${this._subtype}` : ''}`,\r\n this._text ? ce('p', this._text) : null,\r\n this._getDescriptionCode(),\r\n this._getNeedAttentionCode(),\r\n ce('div.btns-container',\r\n this._type === TYPE_YESNO ? [\r\n ce(`button.btn${this._subtype === SUBTYPE_DELETE ? '.btn-danger' : this._buttonDefault === 'yes' ? '.action' : ''}`, {\r\n type: 'button',\r\n 'data-action': 'yes',\r\n }, this._buttonTitles.yes),\r\n ce(`button.btn${this._subtype === SUBTYPE_DELETE ? '' : this._buttonDefault === 'no' ? '.action' : ''}`, {\r\n type: 'button',\r\n 'data-action': 'no',\r\n }, this._buttonTitles.no),\r\n ] : this._type === TYPE_OK ? [\r\n ce('button.btn.action', {\r\n type: 'button',\r\n 'data-action': 'yes',\r\n }, this._buttonTitles.ok),\r\n ] : null,\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n this._componentElement.style.display = 'none';\r\n }\r\n\r\n _disableYesButton() {\r\n if (TYPE_YESNO === this._type) {\r\n const buttonYes = this._componentElement.querySelector('.btns-container .btn');\r\n buttonYes.classList.add('disabled');\r\n buttonYes.disabled = true;\r\n buttonYes.removeEventListener('click', this._onYesClickHandler);\r\n }\r\n }\r\n\r\n _enableYesButton() {\r\n if (TYPE_YESNO === this._type) {\r\n const buttonYes = this._componentElement.querySelector('.btns-container .btn');\r\n buttonYes.classList.remove('disabled');\r\n buttonYes.disabled = false;\r\n buttonYes.addEventListener('click', this._onYesClickHandler);\r\n }\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n const buttons = this._componentElement.querySelectorAll('button');\r\n\r\n // add default behavior - hide dialog\r\n buttons.forEach(button => {\r\n button.addEventListener('click', this._defaultOnButtonClick.bind(this));\r\n });\r\n\r\n if (TYPE_YESNO === this._type) {\r\n if (this._onYesClick) {\r\n const buttonYes = buttons[0];\r\n buttonYes.addEventListener('click', this._onYesClickHandler);\r\n }\r\n\r\n if (this._onNoClick) {\r\n const buttonNo = buttons[buttons.length - 1];\r\n buttonNo.addEventListener('click', event => {\r\n this._onNoClick(event);\r\n });\r\n }\r\n\r\n if (this._needAttention && this._needAttentionBlockSubmit) {\r\n const inputs = this._componentElement.querySelectorAll('input');\r\n const confirmationCheckbox = inputs[inputs.length - 1];\r\n confirmationCheckbox.addEventListener('click', () => {\r\n if (confirmationCheckbox.checked) {\r\n this._enableYesButton();\r\n } else {\r\n this._disableYesButton();\r\n }\r\n });\r\n }\r\n\r\n if (this._needAttention && this._needAttentionOnChange) {\r\n const inputs = this._componentElement.querySelectorAll('input');\r\n const confirmationCheckbox = inputs[inputs.length - 1];\r\n confirmationCheckbox.addEventListener('click', () => {\r\n this._needAttentionOnChange(confirmationCheckbox.checked);\r\n });\r\n }\r\n }\r\n\r\n if (TYPE_OK === this._type) {\r\n if (this._onOkClick) {\r\n const buttonOk = buttons[0];\r\n buttonOk.addEventListener('click', event => {\r\n this._onOkClick(event);\r\n });\r\n }\r\n }\r\n }\r\n\r\n _addTooltips() {\r\n // disable parent implementation\r\n }\r\n\r\n _defaultOnButtonClick() {\r\n this.hide();\r\n }\r\n\r\n show() {\r\n super.show();\r\n setTimeout(() => {\r\n this._componentElement.querySelector(`[data-action=\"${this._buttonDefault}\"]`)?.focus();\r\n });\r\n if (this._needAttention && this._needAttentionBlockSubmit) {\r\n this._disableYesButton();\r\n }\r\n }\r\n}\r\n\r\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\r\nMessageBox.subclasses = [];\r\n\r\nexport class AjaxMessageBox extends MessageBox {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._requestUrl = this._getConfigParam('requestUrl', '');\r\n this._requestMethod = this._getConfigParam('requestMethod', 'post');\r\n this._requestParams = this._getConfigParam('requestParams', '');\r\n this._contentContainerId = this._getConfigParam('contentContainerId', `${this._id}contentContainer`);\r\n this._confirmationCheckboxId = this._getConfigParam('confirmationCheckboxId', `${this._id}confirmationCheckbox`);\r\n this._loadingTitle = this._getConfigParam('loadingTitle', '');\r\n this._progress = false;\r\n }\r\n\r\n _getNeedAttentionCode() {\r\n return `
      ${super._getNeedAttentionCode()}`;\r\n }\r\n\r\n _showSpinner() {\r\n if (TYPE_YESNO === this._type) {\r\n this._progress = true;\r\n this._componentElement.querySelector('button').innerHTML = `${this._buttonTitles.wait}`;\r\n }\r\n }\r\n\r\n _hideSpinner() {\r\n if (TYPE_YESNO === this._type) {\r\n this._progress = false;\r\n this._componentElement.querySelector('button').innerHTML = this._buttonTitles.yes;\r\n }\r\n }\r\n\r\n show() {\r\n super.show();\r\n if (!this._requestUrl || this._progress) {\r\n return;\r\n }\r\n\r\n new Ajax.Request(prepareUrl(this._requestUrl), {\r\n method: this._requestMethod,\r\n parameters: this._requestParams,\r\n onCreate: this._onCreate.bind(this),\r\n onSuccess: this._onSuccess.bind(this),\r\n onFailure: this._onFailure.bind(this),\r\n });\r\n }\r\n\r\n _onCreate() {\r\n this._disableYesButton();\r\n this._showSpinner();\r\n }\r\n\r\n _onSuccess() {\r\n this._hideSpinner();\r\n this._enableYesButton();\r\n }\r\n\r\n _onFailure() {\r\n this._hideSpinner();\r\n this._enableYesButton();\r\n }\r\n}\r\n\r\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\r\nAjaxMessageBox.superclass = MessageBox;\r\n\r\nexport class MultiCheckboxMessageWindow extends AjaxMessageBox {\r\n _onSuccess(transport) {\r\n this._hideSpinner();\r\n\r\n const result = JSON.parse(transport.responseText);\r\n\r\n const { content } = result;\r\n let contentCode = '';\r\n if (Array.isArray(content)) {\r\n if (content.length > 0) {\r\n contentCode = '
        ';\r\n content.forEach(item => {\r\n contentCode += `
      • ${item}
      • `;\r\n });\r\n contentCode += '
      ';\r\n }\r\n } else {\r\n contentCode = content;\r\n }\r\n\r\n let descriptionCode = '';\r\n if (result.description) {\r\n descriptionCode = `

      ${result.description}

      `;\r\n }\r\n\r\n let confirmationCode = '';\r\n if (result.confirmation) {\r\n confirmationCode = (\r\n '

      ' +\r\n '' +\r\n `` +\r\n '' +\r\n `` +\r\n '

      '\r\n );\r\n }\r\n\r\n document.getElementById(this._contentContainerId).innerHTML = contentCode + descriptionCode + confirmationCode;\r\n\r\n const checkboxes = this._componentElement.querySelectorAll('input[type=\"checkbox\"]');\r\n checkboxes.forEach(checkbox => {\r\n checkbox.addEventListener('click', () => {\r\n let enableYesButton = true;\r\n this._componentElement.querySelectorAll('input[type=\"checkbox\"]').forEach(confirmationCheckbox => {\r\n if (!confirmationCheckbox.checked) {\r\n enableYesButton = false;\r\n }\r\n });\r\n if (enableYesButton) {\r\n this._enableYesButton();\r\n } else {\r\n this._disableYesButton();\r\n }\r\n });\r\n });\r\n\r\n if (!checkboxes.length) {\r\n this._enableYesButton();\r\n }\r\n }\r\n}\r\n\r\nexport class WebspaceFoldersMessageBox extends AjaxMessageBox {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._successDescription = this._getConfigParam('successDescription', '');\r\n this._failureDescription = this._getConfigParam('failureDescription', '');\r\n }\r\n\r\n show() {\r\n if (!this._progress) {\r\n this._setDescription([]);\r\n }\r\n super.show();\r\n }\r\n\r\n _setDescription(folders) {\r\n const list = folders.map(({ name }) => `
    • ${escapeHtml(name)}
    • `);\r\n const message = folders.length\r\n ? this._description.concat(' ').concat(this._successDescription).concat(`
        ${list.join('')}
      `)\r\n : this._description;\r\n document.getElementById(this._contentContainerId).innerHTML = message;\r\n }\r\n\r\n _onSuccess(transport) {\r\n this._hideSpinner();\r\n this._enableYesButton();\r\n try {\r\n this._setDescription(JSON.parse(transport.responseText).data);\r\n } catch {\r\n showInternalError(transport.responseText);\r\n }\r\n }\r\n\r\n _onFailure() {\r\n super._onFailure();\r\n document.getElementById(this._contentContainerId).innerHTML = `${this._description} ${this._failureDescription}`;\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport render from './render';\r\nimport emptyFn from './emptyFn';\r\nimport { ESC } from './keyCode';\r\n\r\nimport './modal-dialog-box.less';\r\n\r\nexport class ModalDialogBox extends Component {\r\n constructor(config) {\r\n super(config);\r\n this._componentElement.querySelectorAll('[autofocus]').forEach(el => el.focus());\r\n }\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._screenDisablerId = this._getConfigParam('screenDisablerId', 'screenDisabler');\r\n this._hideOnEscape = this._getConfigParam('hideOnEscape', false);\r\n this._hideOnBgClick = this._getConfigParam('hideOnBgClick', true);\r\n this._onShow = this._getConfigParam('onShow', emptyFn);\r\n this._onHide = this._getConfigParam('onHide', emptyFn);\r\n\r\n if (!document.getElementById(this._screenDisablerId)) {\r\n ModalDialogBox.initScrollbarSpacer();\r\n render(\r\n document.body,\r\n `
      `,\r\n 'top',\r\n );\r\n }\r\n\r\n this._screenDisabler = document.getElementById(this._screenDisablerId);\r\n\r\n const renderTo = this._getConfigParam('renderTo', 'modalDialogBox');\r\n this._renderTarget = typeof renderTo === 'string' ? document.getElementById(renderTo) : renderTo;\r\n if (!this._renderTarget) {\r\n this._renderTarget = document.createElement('div');\r\n this._renderTarget.id = renderTo;\r\n }\r\n\r\n this._renderTarget.innerHTML = '';\r\n render(this._screenDisabler, this._renderTarget, 'after');\r\n this._onKeyDownhandler = this._onKeyDown.bind(this);\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n if (this._hideOnBgClick) {\r\n this._componentElement.addEventListener('click', () => {\r\n this.hide();\r\n });\r\n }\r\n\r\n const popupContainer = this._componentElement.querySelector('.popup-container');\r\n if (popupContainer) {\r\n popupContainer.addEventListener('click', event => {\r\n event.stopPropagation();\r\n });\r\n }\r\n\r\n this._onKeyDownhandler = this._onKeyDown.bind(this);\r\n }\r\n\r\n show() {\r\n super.show();\r\n document.querySelector('html').classList.add('modal-open');\r\n document.addEventListener('keydown', this._onKeyDownhandler);\r\n this._onShow();\r\n }\r\n\r\n hide() {\r\n super.hide();\r\n document.querySelector('html').classList.remove('modal-open');\r\n document.removeEventListener('keydown', this._onKeyDownhandler);\r\n this._onHide();\r\n }\r\n\r\n _onKeyDown(e) {\r\n switch (e.keyCode) {\r\n case (this._hideOnEscape && ESC):\r\n this.hide();\r\n break;\r\n }\r\n }\r\n}\r\n\r\nModalDialogBox.initScrollbarSpacer = () => {\r\n const scrollDiv = document.createElement('div');\r\n scrollDiv.style.width = '50px';\r\n scrollDiv.style.height = '50px';\r\n scrollDiv.style.overflow = 'scroll';\r\n scrollDiv.style.position = 'absolute';\r\n scrollDiv.style.top = '-9999px';\r\n document.body.appendChild(scrollDiv);\r\n\r\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\r\n document.body.removeChild(scrollDiv);\r\n\r\n const styleEl = document.createElement('style');\r\n document.head.appendChild(styleEl);\r\n styleEl.sheet.insertRule(`.modal-open, .modal-open .pul-layout__header-inner {padding-inline-end: ${scrollbarWidth}px}`, 0);\r\n styleEl.sheet.insertRule(`.modal-open .js-scrollbar-spacer {margin-right: ${scrollbarWidth}px}`, 1);\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport render from './render';\r\nimport { Component } from './component';\r\n\r\nexport class DropdownHeader extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'dropdown-header',\r\n ...config,\r\n });\r\n this._title = this._getConfigParam('title', '');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n render(this._componentElement, this._title);\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nlet dropdowns = [];\r\n\r\nconst closeAllDropdowns = event => {\r\n dropdowns.forEach(dropdown => {\r\n if (dropdown.isOpened(event)) {\r\n dropdown.close(event);\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * @class DropdownManager\r\n * @singleton\r\n */\r\nexport const DropdownManager = {\r\n /**\r\n * Register dropdown component.\r\n * @param {Element} toggler\r\n * @param {Function} isOpened\r\n * @param {Function} open\r\n * @param {Function} close\r\n * @param {Function} [beforeClick]\r\n * @returns {Object}\r\n */\r\n register(toggler, isOpened, open, close, beforeClick) {\r\n const dropdown = {\r\n toggler,\r\n isOpened,\r\n open,\r\n close,\r\n handler(event) {\r\n if (beforeClick && !beforeClick(event)) {\r\n return;\r\n }\r\n event.stopPropagation();\r\n const oldIsOpened = isOpened(event);\r\n closeAllDropdowns(event);\r\n if (!oldIsOpened) {\r\n open(event);\r\n }\r\n },\r\n };\r\n\r\n dropdowns.push(dropdown);\r\n dropdown.toggler.addEventListener('click', dropdown.handler);\r\n\r\n if (dropdowns.length > 0) {\r\n document.body.addEventListener('click', closeAllDropdowns);\r\n }\r\n\r\n return dropdown;\r\n },\r\n\r\n /**\r\n * Un register dropdown component.\r\n * @param {Object} dropdown\r\n */\r\n unregister(dropdown) {\r\n dropdown.toggler.removeEventListener('click', dropdown.handler);\r\n dropdowns = dropdowns.filter(item => item !== dropdown);\r\n\r\n if (dropdowns.length === 0) {\r\n document.body.removeEventListener('click', closeAllDropdowns);\r\n }\r\n },\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Container } from './container';\r\nimport { Tooltip } from './tooltip';\r\nimport Filters from './list/Filters';\r\nimport createComponent from './createComponent';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\nimport emptyFn from './emptyFn';\r\n\r\nimport './small-tools.less';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new SmallTools({\r\n * renderTo: document.body,\r\n * operations: [{\r\n * componentType: SmallButton,\r\n * title: 'Button 1',\r\n * handler() {\r\n * alert('You clicked the Button 1!');\r\n * },\r\n * }, {\r\n * componentType: bar.Separator,\r\n * }, {\r\n * componentType: SmallButton,\r\n * title: 'Button 2',\r\n * handler() {\r\n * alert('You clicked the Button 2!');\r\n * },\r\n * }],\r\n * });\r\n */\r\nexport class SmallTools extends Container {\r\n /**\r\n * @cfg {Object[]} operations\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._operations = this._getConfigParam('operations', null);\r\n this._operationsId = this._getConfigParam('operationsId', `${this._id}-operations`);\r\n this._cls = this._getConfigParam('cls', 'actions-box');\r\n\r\n if (Array.isArray(this._operations) && !this._operations.length) {\r\n this._operations = null;\r\n }\r\n\r\n this.searchFilters = $H(this._getConfigParam('searchFilters', {}));\r\n this.searchFiltersState = this._getConfigParam('searchFiltersState', {});\r\n this.searchHandler = this._getConfigParam('searchHandler', emptyFn);\r\n this.resetSearchHandler = this._getConfigParam('resetSearchHandler', emptyFn);\r\n this.listId = this._getConfigParam('listId');\r\n\r\n this.searchOveral = this._getConfigParam('searchOveral', null);\r\n if (null === this.searchOveral) {\r\n this.searchFilters.each(({ key, value }) => {\r\n if (value.overal) {\r\n this.searchOverall = key;\r\n }\r\n });\r\n if (null === this.searchOveral && 1 === this.searchFilters.keys().length) {\r\n this.searchOveral = this.searchFilters.keys()[0];\r\n }\r\n if (null === this.searchOveral) {\r\n this.searchOveral = false;\r\n }\r\n }\r\n\r\n this.quickSearchWide = this._getConfigParam('quickSearchWide', false);\r\n this.quickSearchInputId = this._getConfigParam('quickSearchInputId');\r\n this.searchCollapsed = this._getConfigParam('searchCollapsed', false);\r\n this.onToggleSearch = this._getConfigParam('onToggleSearch', emptyFn);\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n render(this._componentElement, [\r\n createElement(`#${this._operationsId}.objects-toolbar.clearfix`,\r\n this._operations ? this._operations.map(createComponent) : '',\r\n this.quickSearchBoxView(),\r\n ),\r\n this.searchBoxView(),\r\n ]);\r\n\r\n this._componentElement.classList[this.searchCollapsed ? 'remove' : 'add']('actions-box-search-show');\r\n\r\n if (this._operations) {\r\n this.addResponsiveButton('toolbar');\r\n }\r\n\r\n if (this.searchFilters.keys().length) {\r\n this.addResponsiveButton('search');\r\n }\r\n\r\n Tooltip.initData(this._componentElement);\r\n }\r\n\r\n quickSearchBoxView() {\r\n if (!this.searchFilters.keys().length) {\r\n return '';\r\n }\r\n\r\n return createElement(`.quick-search-box${this.quickSearchWide ? '.quick-search-box-wide' : ''}`,\r\n {\r\n onclick(event) {\r\n event.stopPropagation();\r\n },\r\n },\r\n this.searchOveralView(),\r\n this.searchFilters.keys().length > 1 ? createElement('span.search-control',\r\n createElement('a.s-btn.sb-search-show', {\r\n onclick: this.toggleSearch.bind(this),\r\n 'aria-label': this.lmsg('showSearch'),\r\n }),\r\n createElement('a.s-btn.sb-search-hide', {\r\n onclick: this.toggleSearch.bind(this),\r\n 'aria-label': this.lmsg('hideSearch'),\r\n }),\r\n ) : '',\r\n );\r\n }\r\n\r\n searchOveralView() {\r\n if (!this.searchOveral) {\r\n return '';\r\n }\r\n\r\n const filterState = this.searchFiltersState[this.searchOveral];\r\n const currentValue = this.searchFilters.get(this.searchOveral).value || (filterState && filterState.searchText) || '';\r\n\r\n return createElement('.search-field',\r\n createElement('form',\r\n {\r\n onsubmit: event => {\r\n event.preventDefault();\r\n this.searchHandler(event.target);\r\n },\r\n },\r\n createElement(`input${this.quickSearchInputId ? `#${this.quickSearchInputId}` : ''}`, {\r\n type: 'text',\r\n value: currentValue,\r\n name: `searchFilter[${this.searchOveral}][searchText]`,\r\n }),\r\n createElement('em',\r\n {\r\n onclick: event => {\r\n this.searchHandler(event.target.closest('form'));\r\n },\r\n },\r\n createElement('span'),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n searchBoxView() {\r\n if (this.searchFilters.keys().length < 2) {\r\n return null;\r\n }\r\n\r\n return createElement('.search-box',\r\n {\r\n onclick(event) {\r\n event.stopPropagation();\r\n },\r\n },\r\n createElement('form',\r\n {\r\n onsubmit: event => {\r\n event.preventDefault();\r\n this.searchHandler(event.target);\r\n },\r\n },\r\n createElement('ul',\r\n this.searchFiltersView(),\r\n ),\r\n createElement('a.s-btn.sb-search',\r\n {\r\n onclick: event => {\r\n this.searchHandler(event.target.closest('form'));\r\n },\r\n },\r\n this.lmsg('buttonSearch'),\r\n ),\r\n createElement('a.s-btn.sb-show-all',\r\n {\r\n onclick: () => {\r\n this.resetSearchHandler();\r\n },\r\n },\r\n this.lmsg('buttonResetSearch'),\r\n ),\r\n createElement('input', {\r\n type: 'image',\r\n style: 'border: 0pt none; height: 0pt; width: 0pt; position: absolute; left: -9999px;',\r\n src: require('images/blank.gif'),\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n searchFiltersView() {\r\n const filters = [];\r\n\r\n this.searchFilters.each(({ key: name, value: config }) => {\r\n filters.push(\r\n createElement('li',\r\n createElement('div',\r\n config.title ? createElement('span', config.title) : '',\r\n Filters.create({\r\n idPrefix: this.listId,\r\n name,\r\n value: this.searchFiltersState[name] && this.searchFiltersState[name].searchText,\r\n ...config,\r\n }, event => {\r\n this.searchHandler(event.target.closest('form'));\r\n }),\r\n ),\r\n ),\r\n );\r\n });\r\n\r\n return filters;\r\n }\r\n\r\n toggleSearch() {\r\n this._componentElement.classList.toggle('actions-box-search-show');\r\n this.onToggleSearch(!this._componentElement.classList.contains('actions-box-search-show'));\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n document.addEventListener('click', () => {\r\n this._hideResponsiveButtonBlocks();\r\n });\r\n }\r\n\r\n addResponsiveButton(name) {\r\n if (!this._rActionsElement) {\r\n this._rActionsElement = new Element('div', { class: 'r-actions' });\r\n this._rActionsElement.innerHTML = '
        ';\r\n render(this._componentElement, this._rActionsElement, 'top');\r\n }\r\n\r\n if (this._rActionsElement.querySelector(`.r-actions-${name}`)) {\r\n return;\r\n }\r\n\r\n render(this._rActionsElement.querySelector('.r-actions-list'), (\r\n createElement(`li.r-actions-item.r-actions-${name}`, { onclick: e => this.onResponsiveButtonClick(e, name) }, createElement('span'))\r\n ));\r\n }\r\n\r\n onResponsiveButtonClick(event, name) {\r\n const button = this._componentElement.querySelector(`.r-actions-${name}`);\r\n const show = !button.classList.contains('r-actions-item-active');\r\n this._hideResponsiveButtonBlocks();\r\n if (show) {\r\n this._showResponsiveButtonBlocks(name);\r\n }\r\n event.stopPropagation();\r\n }\r\n\r\n _hideResponsiveButtonBlocks() {\r\n this._componentElement.className.split(' ').forEach(className => {\r\n if (className.indexOf('r-actions-active') === 0) {\r\n this._componentElement.classList.remove(className);\r\n }\r\n });\r\n this._componentElement.querySelectorAll('.r-actions-item-active').forEach(item => {\r\n if (item.classList.contains('r-actions-select')) {\r\n return;\r\n }\r\n item.classList.remove('r-actions-item-active');\r\n });\r\n }\r\n\r\n _showResponsiveButtonBlocks(name) {\r\n this._componentElement.querySelector(`.r-actions-${name}`).classList.add('r-actions-item-active');\r\n this._componentElement.classList.add('r-actions-active');\r\n this._componentElement.classList.add(`r-actions-active-${name}`);\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport Locale from '../Locale';\r\nimport createElement from '../createElement';\r\nimport escapeHtml from '../escapeHtml';\r\n\r\nconst Filters = {\r\n create(config, handler) {\r\n if (config.render) {\r\n return config.render(config, handler);\r\n }\r\n\r\n if (config.type === 'date') {\r\n return this.createDate(config, handler);\r\n }\r\n\r\n if (config.options) {\r\n if (config.multi) {\r\n return this.createMultiEnum(config, handler);\r\n }\r\n return this.createEnum(config, handler);\r\n }\r\n\r\n return this.createText(config, handler);\r\n },\r\n\r\n createText(config, handler) {\r\n const inputDataName = ({ name }) => name ? (name.charAt(0).toUpperCase() + name.split('').slice(1).join('')) : '';\r\n\r\n return createElement('input[type=\"text\"]', {\r\n id: config.idPrefix ? `${config.idPrefix}-search-text-${config.name}` : null,\r\n name: `searchFilter[${config.name}][searchText]`,\r\n placeholder: config.placeholder || null,\r\n pattern: config.pattern || null,\r\n title: (config.pattern && config.placeholder) || null,\r\n onkeyup: (config.live && handler) || null,\r\n value: config.value || null,\r\n class: config.cls || null,\r\n 'data-input-name': `filter${inputDataName(config)}Input`,\r\n });\r\n },\r\n\r\n createEnum(config, handler) {\r\n return createElement('select',\r\n {\r\n id: config.idPrefix ? `${config.idPrefix}-type-filter` : null,\r\n name: `searchFilter[${config.name}][searchText]`,\r\n onchange: handler || null,\r\n },\r\n this.enumOptionsView(config.options, config.value),\r\n );\r\n },\r\n\r\n createMultiEnum(config, handler) {\r\n return createElement('.dropdown',\r\n createElement('.input-group',\r\n createElement('input.form-control[type=\"text\"][readonly]', {\r\n placeholder: config.placeholder || null,\r\n }),\r\n createElement('span.input-group-btn',\r\n createElement('button.btn.dropdown-toggle[type=\"button\"]',\r\n createElement('span.caret'),\r\n ),\r\n ),\r\n ),\r\n createElement('ul.dropdown-menu.pull-right',\r\n {\r\n onclick(event) {\r\n event.stopPropagation();\r\n },\r\n },\r\n Array.isArray(config.options) && config.options.length ? createElement('li',\r\n createElement('div.dropdown-menu-content.checkbox-group',\r\n config.options.map(function (option) {\r\n return createElement('label',\r\n createElement('input[type=\"checkbox\"]', {\r\n value: option.value,\r\n checked: !config.value || config.value.indexOf(option.value) !== -1 ? true : null,\r\n onclick(event) {\r\n const element = event.target;\r\n const output = element.closest('th').querySelector('input[type=text]');\r\n const input = element.closest('th').querySelectorAll('input[type=checkbox]:checked');\r\n const total = element.closest('th').querySelectorAll('input[type=checkbox]');\r\n if (!input.length) {\r\n output.value = config.locale.lmsg('none');\r\n } else if (input.length === total.length) {\r\n output.value = '';\r\n } else {\r\n const value = [];\r\n input.forEach(el => {\r\n value.push(el.value[0].toUpperCase());\r\n });\r\n output.value = value.join(', ');\r\n }\r\n\r\n if (typeof handler === 'function') {\r\n handler();\r\n }\r\n },\r\n }),\r\n ` ${option.value}`,\r\n );\r\n }),\r\n ),\r\n ) : '',\r\n ),\r\n );\r\n },\r\n\r\n createDate(config, handler) {\r\n const date = config.date || new Date();\r\n const locale = config.locale || new Locale();\r\n\r\n const hour = createElement('select', { 'data-input-name': 'filterDateHourSelect' });\r\n for (let i = 0; i < 24; i++) {\r\n hour.children.push(\r\n createElement('option', { value: i }, (i < 10 ? '0' : '') + i),\r\n );\r\n }\r\n\r\n const minute = createElement('select', { 'data-input-name': 'filterDateMinuteSelect' });\r\n for (let i = 0; i < 60; i++) {\r\n minute.children.push(\r\n createElement('option', { value: i }, (i < 10 ? '0' : '') + i),\r\n );\r\n }\r\n\r\n const day = createElement('select', { 'data-input-name': 'filterDateDaySelect' });\r\n for (let i = 1; i < 32; i++) {\r\n day.children.push(\r\n createElement('option', { value: i }, (i < 10 ? '0' : '') + i),\r\n );\r\n }\r\n\r\n const month = createElement('select', { 'data-input-name': 'filterDateMonthSelect' });\r\n for (let i = 0; i < 12; i++) {\r\n month.children.push(\r\n createElement('option', { value: i }, locale.lmsg(`month${i + 1}`)),\r\n );\r\n }\r\n\r\n const year = createElement('select', { 'data-input-name': 'filterDateYearSelect' });\r\n for (let i = 2000; i <= date.getFullYear(); i++) {\r\n year.children.push(\r\n createElement('option', { value: i }, i),\r\n );\r\n }\r\n\r\n return createElement('.dropdown',\r\n createElement('.input-group',\r\n {\r\n onclick: event => {\r\n this.onDateSearchFilterOpen(event.target.closest('.dropdown'));\r\n },\r\n },\r\n createElement('input.form-control[type=\"text\"][readonly]', {\r\n placeholder: config.placeholder || null,\r\n }),\r\n createElement('span.input-group-btn',\r\n createElement('button.btn.dropdown-toggle[type=\"button\"]',\r\n {\r\n 'data-action-name': 'filterDateOpenForm',\r\n },\r\n createElement('span.caret'),\r\n ),\r\n ),\r\n ),\r\n createElement('ul.dropdown-menu',\r\n {\r\n onclick(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n },\r\n },\r\n createElement('li',\r\n createElement('.filter-date-form',\r\n createElement('.form-row',\r\n createElement('.inline-fields-group',\r\n hour, ' : ', minute,\r\n ),\r\n createElement('.inline-fields-group',\r\n day, ' ', month, ' ', year,\r\n ),\r\n createElement('.inline-fields-group',\r\n createElement('button.btn[type=\"button\"]', {\r\n 'data-action-name': 'filterDateApply',\r\n onclick: event => {\r\n event.target.closest('.dropdown').classList.toggle('open');\r\n this.onDateSearchFilterOpen(event.target.closest('.dropdown'));\r\n this.onDateSearchFilterChange(event.target.closest('.dropdown'));\r\n if (typeof handler === 'function') {\r\n handler();\r\n }\r\n },\r\n }, Locale.getSection('components.buttons').lmsg('apply')),\r\n createElement('button.btn[type=\"button\"]', {\r\n 'data-action-name': 'filterDateClear',\r\n onclick: event => {\r\n event.target.closest('.dropdown').classList.toggle('open');\r\n event.target.closest('.dropdown').querySelector('input').value = '';\r\n this.onDateSearchFilterOpen(event.target.closest('.dropdown'));\r\n if (typeof handler === 'function') {\r\n handler();\r\n }\r\n },\r\n }, locale.lmsg('clear')),\r\n ),\r\n ),\r\n createElement('.form-row.filter-actions-row',\r\n createElement('a.toggler', {\r\n onclick: event => {\r\n this.onDateSearchFilterModify(event.target.closest('.dropdown'), new Date(date.getTime() - (3600 * 1000)));\r\n if (typeof handler === 'function') {\r\n handler();\r\n }\r\n },\r\n }, locale.lmsg('hourAgo')),\r\n ' ',\r\n createElement('a.toggler', {\r\n onclick: event => {\r\n this.onDateSearchFilterModify(event.target.closest('.dropdown'), new Date(date.getTime() - (86400 * 1000)));\r\n if (typeof handler === 'function') {\r\n handler();\r\n }\r\n },\r\n }, locale.lmsg('prevDay')),\r\n ),\r\n ),\r\n ),\r\n ),\r\n );\r\n },\r\n\r\n enumOptionsView(options, value) {\r\n return options.map(function (option) {\r\n if ('value' === option.type) {\r\n return this.enumValueView(option, value);\r\n }\r\n return this.enumGroupValue(option, value);\r\n }.bind(this));\r\n },\r\n\r\n enumValueView(option, value) {\r\n return createElement('option', {\r\n value: option.value,\r\n selected: option.value === value,\r\n }, escapeHtml(option.label));\r\n },\r\n\r\n enumGroupValue(option, value) {\r\n return createElement('optgroup',\r\n {\r\n label: option.label,\r\n },\r\n this.enumOptionsView(option.options, value),\r\n );\r\n },\r\n\r\n // eslint-disable-next-line no-unused-vars\r\n onMultiEnumSearchFilterChange(element) {\r\n // for custom onChange handler\r\n },\r\n\r\n onDateSearchFilterOpen(element) {\r\n if (!element.classList.contains('open')) {\r\n return;\r\n }\r\n\r\n let date = new Date(element.querySelector('input').value);\r\n if (isNaN(date.getTime())) {\r\n date = new Date();\r\n }\r\n\r\n this._dateSearchFieldFromDate(element, date);\r\n },\r\n\r\n onDateSearchFilterChange(element) {\r\n const date = this._dateSearchFieldToDate(element);\r\n\r\n const yyyy = date.getFullYear();\r\n const mm = (date.getMonth() + 1 < 10 ? '0' : '') + (date.getMonth() + 1);\r\n const dd = (date.getDate() < 10 ? '0' : '') + date.getDate();\r\n const h = (date.getHours() < 10 ? '0' : '') + date.getHours();\r\n const m = (date.getMinutes() < 10 ? '0' : '') + date.getMinutes();\r\n\r\n element.querySelector('input').value = `${yyyy}-${mm}-${dd} ${h}:${m}`;\r\n },\r\n\r\n onDateSearchFilterModify(element, date) {\r\n this._dateSearchFieldFromDate(element, date);\r\n },\r\n\r\n _dateSearchFieldFromDate(element, date) {\r\n const elements = element.querySelectorAll('select');\r\n elements[0].value = date.getHours();\r\n elements[1].value = date.getMinutes();\r\n elements[2].value = date.getDate();\r\n elements[3].value = date.getMonth();\r\n elements[4].value = date.getFullYear();\r\n },\r\n\r\n _dateSearchFieldToDate(element) {\r\n const elements = element.querySelectorAll('select');\r\n return new Date(elements[4].value, elements[3].value, elements[2].value, elements[0].value, elements[1].value);\r\n },\r\n};\r\n\r\nexport default Filters;\r\n","module.exports = Jsw.skinUrl + \"/images/blank.gif?56398e76be6355ad5999b262208a17c9\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Container } from './container';\r\n\r\nimport './collapsible-block.less';\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new CollapsibleBlock({\r\n * renderTo: document.body,\r\n * cls: 'example',\r\n * title: 'Collapsible block',\r\n * items: [\r\n * new Box({\r\n * html: 'Content of collapsible block.'\r\n * }),\r\n * ],\r\n * });\r\n */\r\nexport class CollapsibleBlock extends Container {\r\n /**\r\n * @cfg {Boolean} collapsed=true\r\n */\r\n /**\r\n * @cfg {String} title\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._blockAreaId = `${this._id}-block`;\r\n this._titleAreaId = `${this._id}-title-area`;\r\n this._contentAreaId = `${this._id}-content-area`;\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._updateComponentElement((\r\n `
        ` +\r\n `
        ` +\r\n `${this._getConfigParam('title', '')}` +\r\n '
        ' +\r\n `
        ` +\r\n '
        '\r\n ));\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n document.getElementById(this._titleAreaId).querySelector('span').addEventListener('click', this._onTitleClickEvent.bind(this));\r\n }\r\n\r\n _onTitleClickEvent(event) {\r\n event.stopPropagation();\r\n document.getElementById(this._blockAreaId).classList.toggle('hide');\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/no-multi-comp */\r\n\r\nimport { Container } from './container';\r\nimport { Component } from './component';\r\nimport render from './render';\r\n\r\nimport './pathbar.less';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new Pathbar({\r\n * renderTo: document.body,\r\n * cls: 'pathbar',\r\n * items: [{\r\n * componentType: Pathbar.Item,\r\n * title: 'Home',\r\n * }, {\r\n * componentType: Pathbar.Item,\r\n * title: 'Domains',\r\n * }, {\r\n * componentType: Pathbar.Item,\r\n * title: 'plesk.com',\r\n * }, {\r\n * componentType: Pathbar.Item,\r\n * title: 'PHP Settings',\r\n * }],\r\n * });\r\n */\r\nexport class Pathbar extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._contentAreaId = `${this._id}-content-area`;\r\n }\r\n\r\n _initComponentElement() {\r\n if (document.getElementById(this._id)) {\r\n this._applyTargetId = this._id;\r\n super._initComponentElement();\r\n\r\n return;\r\n }\r\n\r\n super._initComponentElement();\r\n\r\n this._updateComponentElement(\r\n `
          `,\r\n );\r\n }\r\n\r\n _renderItem(item) {\r\n const renderTargetId = `${this._id}-item-${item.getId()}`;\r\n render(document.getElementById(this._contentAreaId), `
        • `);\r\n render(document.getElementById(renderTargetId), item);\r\n this._renderItemSuffix(item);\r\n }\r\n\r\n _renderItemSuffix(item) {\r\n const renderTargetId = `${this._id}-item-${item.getId()}`;\r\n render(document.getElementById(renderTargetId), '>');\r\n }\r\n}\r\n\r\nPathbar.Item = class Item extends Component {\r\n /**\r\n * @cfg {String} title\r\n */\r\n /**\r\n * @cfg {String} href\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._title = this._getConfigParam('title', '');\r\n this._href = this._getConfigParam('href', '');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement = document.createElement('a');\r\n this._componentElement.href = this._href;\r\n this._componentElement.innerHTML = `${this._title}`;\r\n }\r\n\r\n getHref() {\r\n return this._href;\r\n }\r\n};\r\n\r\nPathbar.SimpleItem = class SimpleItem extends Component {\r\n /**\r\n * @cfg {String} title\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._title = this._getConfigParam('title', '');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement = document.createElement('span');\r\n this._componentElement.innerHTML = this._title;\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/no-multi-comp */\r\n\r\nimport { Container } from './container';\r\nimport { Component, getComponent } from './component';\r\nimport { Button } from './button';\r\nimport render from './render';\r\nimport escapeHtml from './escapeHtml';\r\nimport { createHtmlElement } from '../helpers/createHtmlElement';\r\n\r\nimport './bar.less';\r\n\r\nexport class Bar extends Container {\r\n /**\r\n * @cfg {String} type=static Type of tabs (static or dynamic)\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._contentAreaId = `${this._id}-content-area`;\r\n this._type = this._getConfigParam('type', 'static');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n let content = `
            `;\r\n if ('navbar' !== this._id) {\r\n content = `
            ${content}
            `;\r\n }\r\n\r\n this._updateComponentElement(content);\r\n }\r\n\r\n _renderItem(item) {\r\n const renderTargetId = `${this._id}-item-${item.getId()}`;\r\n const containerCls = item.getContainerClass();\r\n\r\n render(document.getElementById(this._contentAreaId), `
          • `);\r\n render(document.getElementById(renderTargetId), item);\r\n\r\n if ('dynamic' === this._type) {\r\n item.addEventObserver('click', event => item.switchTab(event));\r\n }\r\n\r\n if (document.getElementById('main')) {\r\n if (!document.getElementById('main').classList.contains('tabed') && 'navbar' !== this._id) {\r\n document.getElementById('main').classList.add('tabed');\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * The following example demonstrates how to use static tabs:\r\n *\r\n * @example\r\n * new bar.Tabs({\r\n * renderTo: document.body,\r\n * cls: 'tabs',\r\n * items: [{\r\n * componentType: bar.Button,\r\n * title: 'Tab 1',\r\n * active: true,\r\n * href: 'http://example1.com'\r\n * }, {\r\n * componentType: bar.Button,\r\n * title: 'Tab 2',\r\n * href: 'http://example2.com'\r\n * }],\r\n * });\r\n *\r\n * The following example demonstrates how to use dynamic tabs:\r\n *\r\n * @example\r\n * new bar.Tabs({\r\n * renderTo: document.body,\r\n * cls: 'tabs',\r\n * type: 'dynamic',\r\n * items: [{\r\n * componentType: bar.Button,\r\n * tabId: 'tab-1',\r\n * title: 'Tab 1',\r\n * active: true,\r\n * content: 'Content of Tab 1'\r\n * }, {\r\n * componentType: bar.Button,\r\n * tabId: 'tab-2',\r\n * title: 'Tab 2',\r\n * content: new Box({\r\n * html: 'Content of Tab 2'\r\n * }),\r\n * }],\r\n * });\r\n *\r\n */\r\nexport const bar = {};\r\nbar.Tabs = class extends Bar {\r\n /**\r\n * @cfg {Boolean} responsive=true\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._isResponsive = this._getConfigParam('responsive', true);\r\n }\r\n\r\n _renderItems() {\r\n super._renderItems();\r\n\r\n if (this._isResponsive) {\r\n this._addResponsiveTabs();\r\n }\r\n }\r\n\r\n _addResponsiveTabs() {\r\n const element = document.getElementById(this._id);\r\n element.querySelectorAll('li a').forEach(el => {\r\n el.addEventListener('click', event => {\r\n const listItem = el.closest('li');\r\n if (listItem.classList.contains('active') || listItem.id === 'current') {\r\n event.preventDefault();\r\n }\r\n element.classList.toggle('responsive-tabs-visible');\r\n });\r\n });\r\n }\r\n\r\n switchTab(tabId) {\r\n let activeTab = null;\r\n\r\n this.getItems().forEach(function (item) {\r\n if (tabId === item.getTabId()) {\r\n activeTab = item;\r\n }\r\n\r\n document.getElementById(item.getTabId()).style.display = 'none';\r\n item.getRenderTarget().classList.remove('active');\r\n });\r\n\r\n document.getElementById(tabId).style.display = '';\r\n activeTab.getRenderTarget().classList.add('active');\r\n }\r\n\r\n _renderItem(item, i, size) {\r\n super._renderItem(item, i, size);\r\n\r\n const content = item.getTabContent();\r\n\r\n if (content) {\r\n const tabContentElement = createHtmlElement('div', {\r\n id: item.getTabId(),\r\n style: !item.isActive() ? 'display: none' : '',\r\n });\r\n\r\n render(this._componentElement.parentNode, tabContentElement);\r\n render(tabContentElement, content, typeof content === 'string' && 'inner');\r\n }\r\n }\r\n};\r\n\r\nbar.Button = class extends Button {\r\n /**\r\n * @cfg {Boolean} active=false\r\n */\r\n /**\r\n * @cfg {String} containerCls\r\n */\r\n /**\r\n * @cfg {String} tabId\r\n */\r\n\r\n /**\r\n * @cfg {Boolean} navigationTab=false\r\n */\r\n /**\r\n * @cfg {String|Component} content\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._isActive = this._getConfigParam('active', false);\r\n this._cls = this._getConfigParam('cls', '');\r\n this._containerCls = this._getConfigParam('containerCls', this._isActive ? 'active' : '');\r\n this._tabId = this._getConfigParam('tabId', null);\r\n if (this._tabId) {\r\n this._id = `${this._tabId}-button`;\r\n }\r\n this.navigationTab = this._getConfigParam('navigationTab', false);\r\n this._content = this._getConfigParam('content', null);\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.innerHTML = `${escapeHtml(this._title)}`;\r\n }\r\n\r\n getContainerClass() {\r\n return this._containerCls;\r\n }\r\n\r\n getTabId() {\r\n return this._tabId;\r\n }\r\n\r\n switchTab(event) {\r\n const bar = getComponent(event.target.closest('ul').parentNode\r\n .parentNode.id);\r\n bar.switchTab(this._tabId);\r\n event.preventDefault();\r\n }\r\n\r\n getTabContent() {\r\n return this._content;\r\n }\r\n\r\n isActive() {\r\n return this._isActive;\r\n }\r\n};\r\n\r\nbar.Separator = class Separator extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n tag: 'span',\r\n cls: 'separator',\r\n ...config,\r\n });\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n this._componentElement.innerHTML = '';\r\n }\r\n};\r\n\r\nbar.HorizontalSeparator = class HorizontalSeparator extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n tag: 'span',\r\n wrapperClass: 'separator',\r\n ...config,\r\n });\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport { SmallButton } from './small-button';\r\nimport render from './render';\r\n\r\nexport class DynamicSubForm extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n const getDynamicContent = this._getConfigParam('getDynamicContent', null);\r\n if (getDynamicContent) {\r\n this._getDynamicContent = getDynamicContent.bind(this);\r\n }\r\n const prepareDynamicContent = this._getConfigParam('prepareDynamicContent', null);\r\n if (prepareDynamicContent) {\r\n this._prepareDynamicContent = prepareDynamicContent.bind(this);\r\n }\r\n const bindDynamicContent = this._getConfigParam('bindDynamicContent', null);\r\n if (bindDynamicContent) {\r\n this._bindDynamicContent = bindDynamicContent.bind(this);\r\n }\r\n const insertDynamicContent = this._getConfigParam('insertDynamicContent', null);\r\n if (insertDynamicContent) {\r\n this._insertDynamicContent = insertDynamicContent.bind(this);\r\n }\r\n const onUpdateDynamic = this._getConfigParam('onUpdateDynamic', null);\r\n if (onUpdateDynamic) {\r\n this._onUpdateDynamic = onUpdateDynamic.bind(this);\r\n }\r\n const onInitDynamic = this._getConfigParam('onInitDynamic', null);\r\n if (onInitDynamic) {\r\n this._onInitDynamic = onInitDynamic.bind(this);\r\n }\r\n\r\n this._allowRemoveFirstElement = !!this._getConfigParam('allowRemoveFirstElement', false);\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n const dynamicElements = this.getElements();\r\n if (!dynamicElements.length) {\r\n this._addEmptyContent();\r\n } else {\r\n dynamicElements.forEach((element, index) => {\r\n this._bindDynamicContent(element, !index);\r\n });\r\n }\r\n this._onInitDynamic();\r\n this._onUpdateDynamic();\r\n }\r\n\r\n _addEmptyContent() {\r\n const element = this._prepareDynamicContent(this._getDynamicContent());\r\n this._insertDynamicContent(element);\r\n this._bindDynamicContent(element, true);\r\n }\r\n\r\n _getDynamicContent() {\r\n const dynamicElement = this._componentElement.querySelector('.dynamicSubFormTemplate').cloneNode(true);\r\n dynamicElement.classList.remove('dynamicSubFormTemplate');\r\n dynamicElement.classList.add('dynamicSubFormContent');\r\n dynamicElement.style.display = '';\r\n return dynamicElement;\r\n }\r\n\r\n _prepareDynamicContent(content) {\r\n return content;\r\n }\r\n\r\n _insertDynamicContent(content) {\r\n const dynamicElements = this.getElements();\r\n if (!dynamicElements.length) {\r\n render(this._componentElement, content, 'top');\r\n } else {\r\n render(dynamicElements[dynamicElements.length - 1], content, 'after');\r\n }\r\n }\r\n\r\n _bindDynamicContent() {\r\n // basic empty implementation\r\n }\r\n\r\n _onInitDynamic() {\r\n // basic empty implementation\r\n }\r\n\r\n _onUpdateDynamic() {\r\n // basic empty implementation\r\n }\r\n\r\n deleteContent(content) {\r\n content.parentNode.removeChild(content);\r\n this._onUpdateDynamic();\r\n }\r\n\r\n addContent(value) {\r\n const content = this._prepareDynamicContent(this._getDynamicContent(), value);\r\n this._insertDynamicContent(content);\r\n this._bindDynamicContent(content, false);\r\n this._onUpdateDynamic();\r\n }\r\n\r\n reset() {\r\n const dynamicElements = this.getElements();\r\n if (dynamicElements.length) {\r\n dynamicElements.forEach(element => {\r\n element.parentNode.removeChild(element);\r\n });\r\n this._onUpdateDynamic();\r\n }\r\n }\r\n\r\n getElements() {\r\n return this._componentElement.querySelectorAll('.dynamicSubFormContent');\r\n }\r\n}\r\n\r\nexport class AddRemoveDynamicSubForm extends DynamicSubForm {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._addButtonId = this._getConfigParam('addButtonId', '');\r\n this._addButtonTitle = this._getConfigParam('addButtonTitle', '');\r\n this._removeButtonId = this._getConfigParam('removeButtonId', '');\r\n this._removeButtonTitle = this._getConfigParam('removeButtonTitle', '');\r\n }\r\n\r\n _onInitDynamic() {\r\n const addButton = document.getElementById(this._addButtonId);\r\n render(addButton, `
            `, 'after');\r\n addButton.parentNode.removeChild(addButton);\r\n\r\n new SmallButton({\r\n id: `dynamicSubFormContentAddButton-${this._id}`,\r\n title: this._addButtonTitle,\r\n addCls: 'sb-item-add dynamicSubFormContentAddButton',\r\n handler: this.addContent.bind(this),\r\n disabled: this._isAddButtonDisabled(),\r\n renderTo: this._addButtonId,\r\n });\r\n }\r\n\r\n _isAddButtonDisabled() {\r\n return false;\r\n }\r\n\r\n _bindDynamicContent(content, isFirstElement) {\r\n if (!isFirstElement || this._allowRemoveFirstElement) {\r\n const wrapperId = this._initRemoveButtonWrapper(content);\r\n new SmallButton({\r\n id: wrapperId,\r\n title: this._removeButtonTitle,\r\n addCls: 'sb-item-remove dynamicSubFormContentRemoveButton',\r\n handler: this.deleteContent.bind(this, content),\r\n renderTo: wrapperId,\r\n });\r\n }\r\n return content;\r\n }\r\n\r\n _initRemoveButtonWrapper(content) {\r\n const wrapperId = `${this._removeButtonId}-${this._getRandomNumber()}`;\r\n const inputEls = content.querySelectorAll('.field-value input, .field-value select');\r\n render(inputEls[inputEls.length - 1], ``, 'after');\r\n\r\n return wrapperId;\r\n }\r\n\r\n _prepareDynamicContent(content) {\r\n const newId = Math.floor(1000000 * Math.random());\r\n\r\n const nameRegExp = new RegExp(`(name=.*?\\\\[?${this._id}\\\\]?\\\\[)dynamicSubFormTemplate(\\\\])`, 'g');\r\n const idRegExp = new RegExp(`(id=.*?\\\\-?${this._id}-)dynamicSubFormTemplate(-)`, 'g');\r\n\r\n content.innerHTML = content.innerHTML\r\n .replace(nameRegExp, `\\$1c${newId}\\$2`)\r\n .replace(idRegExp, `\\$1c${newId}\\$2`);\r\n\r\n return content;\r\n }\r\n\r\n _onUpdateDynamic() {\r\n const children = this.getElements();\r\n document.querySelector(`label[for=\"${this._addButtonId}\"]`).style.display = children.length ? 'none' : '';\r\n if (children.length) {\r\n children.forEach((child, index) => {\r\n const labels = child.querySelectorAll('label');\r\n labels[labels.length - 1].style.display = index ? 'none' : '';\r\n });\r\n }\r\n }\r\n\r\n addContent(event) {\r\n super.addContent();\r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n\r\n deleteContent(content, event) {\r\n super.deleteContent(content);\r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n}\r\n\r\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\r\nDynamicSubForm.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\n\r\n/**\r\n * Component with custom inner html.\r\n *\r\n * Example usage:\r\n *\r\n * @example\r\n * new Box({\r\n * renderTo: document.body,\r\n * html: '

            Heading 1

            Paragraph

            '\r\n * });\r\n */\r\nexport class Box extends Component {\r\n /**\r\n * @cfg {String} html Inner html of the box.\r\n */\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.innerHTML = this._getConfigParam('html', '');\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new Gauge({\r\n * renderTo: document.body,\r\n * value: 75\r\n * });\r\n */\r\nexport class Gauge extends Component {\r\n /**\r\n * @cfg {Number} value\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'progress progress-sm',\r\n ...config,\r\n });\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this.setProgress(this._getConfigParam('value', ''));\r\n }\r\n\r\n setProgress(value) {\r\n this._componentElement.innerHTML = `
            `;\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { ModalDialogBox } from './modal-dialog-box';\r\nimport addStatusMessage from './addStatusMessage';\r\nimport clearStatusMessages from './clearStatusMessages';\r\nimport render from './render';\r\nimport ce from './createElement';\r\n\r\nexport class PopupForm extends ModalDialogBox {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'popup-panel',\r\n ...config,\r\n });\r\n\r\n this._popupContentAreaId = `${this._id}-popup-content-area`;\r\n this._titleAreaId = `${this._id}-title-area`;\r\n this._hintAreaId = `${this._id}-hint-area`;\r\n this._hint1AreaId = `${this._id}-hint1-area`;\r\n this._boxAreaId = `${this._id}-box-area`;\r\n this._contentAreaId = `${this._id}-content-area`;\r\n\r\n this._actionButtonsId = `${this._id}-action-buttons`;\r\n this._leftActionButtonsAreaId = `${this._id}-left-action-buttons-area`;\r\n this._rightActionButtonsAreaId = `${this._id}-right-action-buttons-area`;\r\n\r\n this._titleCls = this._getConfigParam('titleCls', '');\r\n this._scrollable = this._getConfigParam('scrollable');\r\n this._fullHeight = this._getConfigParam('fullHeight');\r\n this._isRemoved = false;\r\n\r\n if (this._scrollable) {\r\n this._cls += ' popup-panel-scrollable';\r\n }\r\n\r\n if (this._fullHeight) {\r\n this._cls += ' popup-panel-full-height';\r\n }\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n render(this._componentElement, this.view());\r\n this.show();\r\n }\r\n\r\n view() {\r\n return ce('.popup-wrapper', ce('.popup-container', [\r\n ce('.popup-heading', ce('.popup-heading-area', [\r\n ce('span.popup-heading-actions', this._getHeadingActions()),\r\n ce(`h2.${this._titleCls}`,\r\n ce(`span#${this._titleAreaId}`, {\r\n title: this._getConfigParam('title'),\r\n }, this._getConfigParam('title')),\r\n ),\r\n ])),\r\n ce('.popup-content', ce(`#${this._popupContentAreaId}.popup-content-area`,\r\n this._getContentArea(),\r\n )),\r\n ]));\r\n }\r\n\r\n _getHeadingActions() {\r\n return '';\r\n }\r\n\r\n _getContentArea() {\r\n return [\r\n ce(`p#${this._hint1AreaId}`),\r\n ce(`span#${this._hintAreaId}`),\r\n this._getBoxArea(),\r\n this._getButtonsArea(),\r\n ];\r\n }\r\n\r\n _getBoxArea() {\r\n return ce(`#${this._boxAreaId}.form-box`, ce('.box-area', ce('.content',\r\n ce(`#${this._contentAreaId}.content-area`),\r\n )));\r\n }\r\n\r\n _getButtonsArea() {\r\n let buttonsRow = ce(`#${this._rightActionButtonsAreaId}.field-value`, ' ');\r\n if (this._getConfigParam('singleRowButtons')) {\r\n buttonsRow = ce('.single-row', buttonsRow);\r\n } else {\r\n buttonsRow = [\r\n ce(`#${this._leftActionButtonsAreaId}.field-name`, ' '),\r\n buttonsRow,\r\n ];\r\n }\r\n return ce(`#${this._actionButtonsId}.btns-box`, ce('.box-area', ce('.form-row', buttonsRow)));\r\n }\r\n\r\n toggleButtonsArea(bool) {\r\n if (this._scrollable) {\r\n this._componentElement.classList[bool ? 'add' : 'remove']('popup-panel-scrollable');\r\n }\r\n document.getElementById(this._actionButtonsId).style.display = bool ? '' : 'none';\r\n }\r\n\r\n setBoxType(type) {\r\n document.getElementById(this._boxAreaId).className = type;\r\n if ('list-box' === type) {\r\n document.getElementById(this._actionButtonsId).classList.add('no-separator');\r\n document.getElementById(this._actionButtonsId).classList.add('simple-box');\r\n }\r\n if ('form-box' === type) {\r\n document.getElementById(this._actionButtonsId).classList.remove('no-separator');\r\n document.getElementById(this._actionButtonsId).classList.remove('simple-box');\r\n }\r\n if ('fm-box' === type) {\r\n document.getElementById(this._boxAreaId).className = 'list-box';\r\n document.getElementById(this._actionButtonsId).classList.add('no-separator');\r\n }\r\n }\r\n\r\n /**\r\n * @param {String} cls\r\n */\r\n setTitleType(cls) {\r\n document.getElementById(this._titleAreaId).parentNode.className = cls;\r\n }\r\n\r\n /**\r\n * @param {String} text\r\n */\r\n setTitle(text) {\r\n document.getElementById(this._titleAreaId).innerHTML = text;\r\n document.getElementById(this._titleAreaId).setAttribute('title', text);\r\n }\r\n\r\n /**\r\n * @param {String} text\r\n */\r\n setHint(text) {\r\n if (text) {\r\n document.getElementById(this._hintAreaId).innerHTML = text;\r\n document.getElementById(this._hintAreaId).style.display = '';\r\n } else {\r\n document.getElementById(this._hintAreaId).style.display = 'none';\r\n }\r\n }\r\n\r\n /**\r\n * @param {String} text\r\n */\r\n setHint1(text) {\r\n if (text) {\r\n document.getElementById(this._hint1AreaId).innerHTML = text;\r\n document.getElementById(this._hint1AreaId).style.display = '';\r\n } else {\r\n document.getElementById(this._hint1AreaId).style.display = 'none';\r\n }\r\n }\r\n\r\n /**\r\n * Remove this component.\r\n */\r\n remove() {\r\n this._isRemoved = true;\r\n this._renderTarget.parentNode.removeChild(this._renderTarget);\r\n }\r\n\r\n /**\r\n * @param {String} title\r\n * @param {Function} handler\r\n * @param {Boolean} [isDefault]\r\n * @param {Boolean} [isAction]\r\n * @param {Object} [params]\r\n * @returns {Element}\r\n */\r\n addRightButton(title, handler, isDefault, isAction, params) {\r\n const button = this._createButton(title, handler, isDefault, isAction, params);\r\n render(document.getElementById(this._rightActionButtonsAreaId), button);\r\n return button;\r\n }\r\n\r\n /**\r\n * @param {String} title\r\n * @param {Function} handler\r\n * @param {Boolean} [isDefault]\r\n * @param {Boolean} [isAction]\r\n * @param {Object} [params]\r\n * @returns {Element}\r\n */\r\n addLeftButton(title, handler, isDefault, isAction, params) {\r\n const button = this._createButton(title, handler, isDefault, isAction, params);\r\n render(document.getElementById(this._leftActionButtonsAreaId), button);\r\n return button;\r\n }\r\n\r\n /**\r\n * Clear right buttons area.\r\n */\r\n removeRightButtons() {\r\n document.getElementById(this._rightActionButtonsAreaId).innerHTML = ' ';\r\n }\r\n\r\n /**\r\n * Clear left buttons area.\r\n */\r\n removeLeftButtons() {\r\n document.getElementById(this._leftActionButtonsAreaId).innerHTML = ' ';\r\n }\r\n\r\n /**\r\n * Update list size.\r\n */\r\n resizeList() {\r\n if (this._isRemoved || !document.getElementById(this._contentAreaId)) {\r\n return;\r\n }\r\n\r\n const list = document.getElementById(this._contentAreaId).querySelector('table');\r\n if (!list) {\r\n return;\r\n }\r\n\r\n const listContainer = document.getElementById(this._contentAreaId).querySelector('.list');\r\n const buttonsHeight = Element.getHeight(document.getElementById(this._actionButtonsId));\r\n const top = Element.cumulativeOffset(list)[1];\r\n const height = Element.getHeight(list);\r\n // 100px below dialog\r\n let newHeight = document.body.clientHeight - top - buttonsHeight - 100;\r\n\r\n if (newHeight > height) {\r\n listContainer.style.height = '';\r\n listContainer.classList.remove('with-scroll');\r\n return;\r\n }\r\n\r\n const minHeigh = 150;\r\n if (newHeight < minHeigh) {\r\n newHeight = minHeigh;\r\n }\r\n\r\n listContainer.style.height = `${newHeight}px`;\r\n listContainer.style.overflowY = 'auto';\r\n listContainer.style.overflowX = 'hidden';\r\n listContainer.classList.add('with-scroll');\r\n }\r\n\r\n /**\r\n * @param {String} title\r\n * @param {Function} handler\r\n * @param {Boolean} [isDefault]\r\n * @param {Boolean} [isAction]\r\n * @param {Object} [params]\r\n * @returns {Element}\r\n * @private\r\n */\r\n _createButton(title, handler, isDefault, isAction, params = {}) {\r\n // eslint-disable-next-line react/button-has-type\r\n const button = document.createElement('button');\r\n Object.keys(params).forEach(name => {\r\n if (params[name] === true) {\r\n button.setAttribute(name, name);\r\n } else if (params[name] !== null && params[name] !== false) {\r\n button.setAttribute(name, params[name]);\r\n }\r\n });\r\n button.classList.add('btn');\r\n if (isAction) {\r\n button.classList.add('action');\r\n }\r\n\r\n button.type = isDefault ? 'submit' : 'button';\r\n button.value = '';\r\n button.innerHTML = title;\r\n\r\n button.addEventListener(\r\n 'click',\r\n event => {\r\n this._onClick(event, handler.bind(this));\r\n },\r\n );\r\n\r\n return button;\r\n }\r\n\r\n _updateButton(button, config) {\r\n $H(config).each(({ key, value }) => {\r\n switch (key) {\r\n case 'title':\r\n button.innerHTML = value;\r\n break;\r\n case 'disabled':\r\n button.disabled = !!value;\r\n if (value) {\r\n button.classList.add('disabled');\r\n } else {\r\n button.classList.remove('disabled');\r\n }\r\n break;\r\n }\r\n });\r\n }\r\n\r\n _onClick(event, handler) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n handler(event);\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n if (document.getElementById(this._hintAreaId)) {\r\n document.getElementById(this._hintAreaId).style.display = 'none';\r\n }\r\n if (document.getElementById(this._hint1AreaId)) {\r\n document.getElementById(this._hint1AreaId).style.display = 'none';\r\n }\r\n }\r\n\r\n _clearMessages() {\r\n const contentElement = document.getElementById(this._popupContentAreaId);\r\n\r\n ['.msg-error', '.msg-info', '.msg-warning'].forEach(msgClass => {\r\n contentElement.querySelectorAll(msgClass).forEach(messageElement => {\r\n messageElement.parentNode.removeChild(messageElement);\r\n });\r\n });\r\n }\r\n\r\n _addErrorMessage(message) {\r\n this._addStatusMessage('error', message);\r\n }\r\n\r\n _addStatusMessage(status, message) {\r\n render(document.getElementById(this._popupContentAreaId), (\r\n `
            ` +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n `
            ${message}
            ` +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            '\r\n ), 'top');\r\n }\r\n\r\n _userError(error) {\r\n clearStatusMessages();\r\n addStatusMessage('error', error);\r\n this._close();\r\n }\r\n\r\n _internalError(error) {\r\n clearStatusMessages();\r\n addStatusMessage('error', `Internal error: ${error}`);\r\n this._close();\r\n }\r\n}\r\n\r\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\r\nPopupForm.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { PopupForm } from './popup-form';\r\nimport { getComponent } from './component';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\n\r\nexport class AjaxPopupForm extends PopupForm {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._url = this._getConfigParam('url');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.querySelector('.popup-content-area').innerHTML = `
            ${this.lmsg('waitMsg')}
            `;\r\n new Ajax.Request(prepareUrl(this._url), {\r\n method: 'get',\r\n onSuccess: this._onSuccess.bind(this),\r\n });\r\n }\r\n\r\n _onSuccess(transport) {\r\n render(this._componentElement.querySelector('.popup-content-area'), transport.responseText, 'inner');\r\n setTimeout(() => {\r\n this._componentElement.querySelector('form').setAttribute('action', prepareUrl(this._url));\r\n const cancelBtn = getComponent('btn-cancel');\r\n cancelBtn.removeEventObserver('click', cancelBtn._handler);\r\n cancelBtn._handler = () => {\r\n this.hide();\r\n };\r\n cancelBtn.addEventObserver('click', cancelBtn._handler);\r\n }, 10);\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { ModalDialogBox } from './modal-dialog-box';\r\nimport render from './render';\r\nimport ce from './createElement';\r\n\r\nimport './Popup.less';\r\n\r\nclass Popup extends ModalDialogBox {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._popupContentAreaId = `${this._id}-popup-content-area`;\r\n this._titleAreaId = `${this._id}-title-area`;\r\n this._actionButtonsId = `${this._id}-action-buttons`;\r\n this._rightActionButtonsAreaId = `${this._id}-right-action-buttons-area`;\r\n\r\n this._contentHeight = this._getConfigParam('contentHeight', null);\r\n this._closeButtonEnabled = this._getConfigParam('closeButtonEnabled', false);\r\n this._cls = this._getConfigParam('popupCls', 'popup-panel');\r\n this._titleCls = this._getConfigParam('titleCls', '');\r\n this._buttons = this._getConfigParam('buttons', []);\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n const title = this._getConfigParam('title', '');\r\n\r\n this._updateComponentElement(\r\n ce('.popup-wrapper',\r\n ce('.popup-container',\r\n ce('.popup-heading',\r\n ce('.popup-heading-area',\r\n this._closeButtonEnabled ? ce('span.close', {\r\n id: `${this._id}-close`,\r\n onrender: el => {\r\n el.addEventListener('click', event => {\r\n this._onCloseClick(event);\r\n });\r\n },\r\n }) : null,\r\n ce(`h2.${this._titleCls}`,\r\n ce('span', { id: this._titleAreaId, title }, title),\r\n ),\r\n ),\r\n ),\r\n ce('.popup-content',\r\n ce('.popup-content-area', {\r\n id: this._popupContentAreaId,\r\n style: this._contentHeight ? `height:${this._contentHeight}px;` : null,\r\n }, this._getContentArea()),\r\n ),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n _getContentArea() {\r\n let buttonsArea = '';\r\n if (this._buttons.length > 0) {\r\n buttonsArea = this._getButtonsArea();\r\n }\r\n const formId = `${this.getId()}-form`;\r\n const content = this._getConfigParam('content', '');\r\n\r\n if (typeof content === 'object') {\r\n return ce('form', { id: formId }, content, buttonsArea);\r\n }\r\n\r\n return `
            ${content}${buttonsArea}
            `;\r\n }\r\n\r\n _getButtonsArea() {\r\n return (\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 _addEvents() {\r\n super._addEvents();\r\n\r\n this._buttons.forEach(buttonDesc => {\r\n let buttonId = '';\r\n if ('undefined' !== typeof buttonDesc.id) {\r\n buttonId = ` id=\"${buttonDesc.id}\" `;\r\n }\r\n if ('undefined' === typeof buttonDesc.class) {\r\n buttonDesc.class = '';\r\n }\r\n let buttonDisabled = '';\r\n if ('undefined' !== typeof buttonDesc.disabled && buttonDesc.disabled) {\r\n buttonDisabled = 'disabled=\"disabled\"';\r\n }\r\n const buttonContainer = document.createElement('span');\r\n buttonContainer.className = `btn ${buttonDesc.class}`;\r\n buttonContainer.innerHTML = ``;\r\n buttonContainer.querySelector('button').addEventListener('click', event => {\r\n buttonDesc.handler(event, this);\r\n });\r\n render(document.getElementById(this._rightActionButtonsAreaId), buttonContainer);\r\n });\r\n\r\n this.show();\r\n }\r\n\r\n _onCloseClick() {\r\n this.hide();\r\n }\r\n}\r\n\r\n// TODO EXTNODEJS-90: Eliminate Class.create() usage for Jsw classes\r\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\r\nPopup.subclasses = [];\r\n\r\nexport default Popup;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport ce from './createElement';\r\nimport { Component } from './component';\r\nimport addStatusMessage from './addStatusMessage';\r\nimport clearStatusMessages from './clearStatusMessages';\r\nimport showInternalError from './showInternalError';\r\nimport prepareUrl from './prepareUrl';\r\nimport addUrlParams from './addUrlParams';\r\nimport render from './render';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nimport './double-list-selector.less';\r\n\r\nexport class DoubleListSelector extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._cls = 'doubleListSelect';\r\n this._name = this._getConfigParam('name', '');\r\n this._list = this._getConfigParam('list', []);\r\n this._onChange = this._getConfigParam('onChange', () => {});\r\n this._dataUrl = this._getConfigParam('dataUrl', null);\r\n this._selectedMarked = 0;\r\n this._unselectedMarked = 0;\r\n this._prevSelectedItem = -1;\r\n this._isSearchable = this._getConfigParam('isSearchable', false);\r\n this._isLarge = this._getConfigParam('isLarge', false);\r\n }\r\n\r\n _initList() {\r\n const elements = {};\r\n this._list.forEach((element, index) => {\r\n element.marked = false;\r\n if ('undefined' === typeof element.selected) {\r\n element.selected = false;\r\n }\r\n\r\n this._initListItem(element, index, true);\r\n this._initListItem(element, index, false);\r\n elements[element.id] = element.selected;\r\n });\r\n this._originalSelection = elements;\r\n this._initInputElement(elements);\r\n }\r\n\r\n _initComponentElement() {\r\n this._componentElement = document.getElementById(this._applyTargetId);\r\n this._componentElement.classList.add('double-list-select');\r\n this._componentElement.classList.add('dls-icons-1');\r\n if (this._isLarge) {\r\n this._componentElement.classList.add('dls-large');\r\n }\r\n\r\n const ajaxLoading = null === this._dataUrl ? ''\r\n : `
            ${this.lmsg('loadingTitle')}
            `;\r\n\r\n this._updateComponentElement([\r\n ce('div.dls-first-box',\r\n this._isSearchable ? this._getSearchControl('unselected') : null,\r\n ce('h4', ce('span', this.lmsg('unselectedTitle'))),\r\n ce('div.dls-box-area', { id: `${this._id}-container-unselected` }, ajaxLoading, ce('ul', { id: `${this._id}-unselected` })),\r\n ),\r\n ce('div.dls-second-box',\r\n this._isSearchable ? this._getSearchControl('selected') : null,\r\n ce('h4', ce('span', this.lmsg('selectedTitle'))),\r\n ce('div.dls-box-area', { id: `${this._id}-container-selected` }, ajaxLoading, ce('ul', { id: `${this._id}-selected` })),\r\n ),\r\n ce('div.dls-controls', { id: `${this._id}-controls` },\r\n ce('button.btn.disabled', { type: 'button', id: `${this._id}-submitSelect` }, ce('span.dls-add', '>>')),\r\n ce('button.btn.disabled', { type: 'button', id: `${this._id}-submitUnselect` }, ce('span.dls-remove', '<<')),\r\n ),\r\n ]);\r\n this._initList();\r\n }\r\n\r\n _initListItem(element, index, isSelected) {\r\n let container = null;\r\n let isHidden = false;\r\n if (isSelected) {\r\n container = document.getElementById(`${this._id}-selected`);\r\n isHidden = !element.selected;\r\n } else {\r\n container = document.getElementById(`${this._id}-unselected`);\r\n isHidden = element.selected;\r\n }\r\n\r\n const item = ce(\r\n 'div.dls-item-block',\r\n ce('b', escapeHtml(element.title)),\r\n element.description ? ce('span', element.description) : null,\r\n element.icons?.length ?\r\n ce(\r\n 'span.dls-icons',\r\n element.icons.map(({ src, title }) => ce(\r\n 'i.icon',\r\n ce('img', { src: `${Jsw.skinUrl}${src}`, title }),\r\n )),\r\n ) :\r\n null,\r\n );\r\n\r\n const listItem = ce('li', {\r\n id: `${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`,\r\n style: isHidden ? 'display: none;' : undefined,\r\n onclick: event => {\r\n this._toggleItem(index, isSelected, event);\r\n },\r\n }, item);\r\n render(container, listItem);\r\n }\r\n\r\n _initInputElement(elements) {\r\n let inputElement = document.getElementById(`${this._id}-elements`);\r\n if (!inputElement) {\r\n inputElement = document.createElement('input');\r\n inputElement.id = `${this._id}-elements`;\r\n inputElement.name = this._name;\r\n inputElement.type = 'hidden';\r\n this._componentElement.appendChild(inputElement);\r\n }\r\n inputElement.value = JSON.stringify(elements);\r\n }\r\n\r\n _getSearchControl(columnId) {\r\n return ce('.dls-search',\r\n ce('input.search-input.search-empty', {\r\n id: `${this._id}-search-${columnId}`,\r\n type: 'text',\r\n autocomplete: 'off',\r\n value: this.lmsg('searchTitle'),\r\n onfocus: e => this.onFocus(e.target),\r\n onblur: e => this.onBlur(e.target),\r\n onkeyup: e => this.onToggleSearch(columnId, e.target.value),\r\n }),\r\n ce('span.search-button.icon-search', {\r\n id: `${this._id}-search-button-${columnId}`,\r\n onmousedown: () => this.onResetSearch(columnId),\r\n }),\r\n );\r\n }\r\n\r\n _addEvents() {\r\n document.getElementById(`${this._id}-submitSelect`).addEventListener('click', this._onSubmitSelect.bind(this));\r\n document.getElementById(`${this._id}-submitUnselect`).addEventListener('click', this._onSubmitUnselect.bind(this));\r\n }\r\n\r\n _toggleItem(index, isSelected, event) {\r\n if (this._list[index].marked) {\r\n this._unmarkItem(index, isSelected, event);\r\n } else {\r\n this._markItem(index, isSelected, event);\r\n }\r\n }\r\n\r\n _markItem(index, isSelected, event) {\r\n if (('undefined' !== typeof event) && event.shiftKey && (-1 !== this._prevSelectedItem)) {\r\n const startIndex = Math.min(index, this._prevSelectedItem);\r\n const finishIndex = Math.max(index, this._prevSelectedItem);\r\n for (let i = startIndex; i < finishIndex; i++) {\r\n this._markItem(i, isSelected);\r\n }\r\n }\r\n\r\n this._prevSelectedItem = index;\r\n\r\n this._list[index].marked = true;\r\n document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`).classList.add('marked');\r\n this._updateSelectControls(isSelected, true);\r\n }\r\n\r\n _unmarkItem(index, isSelected) {\r\n this._list[index].marked = false;\r\n document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`).classList.remove('marked');\r\n this._updateSelectControls(isSelected, false);\r\n }\r\n\r\n _onSubmitSelect() {\r\n this._list.forEach((element, index) => {\r\n if (element.marked && !element.selected && document.getElementById(`${this._id}-${index}-unselected-item`).style.display !== 'none') {\r\n this._unmarkItem(index, false);\r\n element.selected = true;\r\n this._updateElement(element);\r\n document.getElementById(`${this._id}-${index}-unselected-item`).style.display = 'none';\r\n document.getElementById(`${this._id}-${index}-selected-item`).style.display = '';\r\n }\r\n });\r\n\r\n this.onChange();\r\n }\r\n\r\n _onSubmitUnselect() {\r\n this._list.forEach((element, index) => {\r\n if (element.marked && element.selected && document.getElementById(`${this._id}-${index}-selected-item`).style.display !== 'none') {\r\n this._unmarkItem(index, true);\r\n element.selected = false;\r\n this._updateElement(element);\r\n document.getElementById(`${this._id}-${index}-selected-item`).style.display = 'none';\r\n document.getElementById(`${this._id}-${index}-unselected-item`).style.display = '';\r\n }\r\n });\r\n\r\n this.onChange();\r\n }\r\n\r\n _updateElement(element) {\r\n const elements = JSON.parse(document.getElementById(`${this._id}-elements`).value);\r\n elements[element.id] = element.selected;\r\n this._onChange(elements);\r\n document.getElementById(`${this._id}-elements`).value = JSON.stringify(elements);\r\n }\r\n\r\n onChange() {\r\n // basic empty implementation\r\n }\r\n\r\n onToggleSearch(columnId, searchString) {\r\n const isSelected = (columnId === 'selected');\r\n searchString = searchString.trim().toLowerCase();\r\n\r\n if (searchString.length) {\r\n this._toggleSearchButtonIcon(columnId, true);\r\n this._list.forEach(function (element, index) {\r\n if (isSelected !== element.selected) {\r\n return;\r\n }\r\n const item = document.getElementById(`${this._id}-${index}-${columnId}-item`);\r\n if (this._isSearchMatched(element, searchString)) {\r\n if (item.style.display === 'none' && element.marked) {\r\n this._updateSelectControls(isSelected, true);\r\n }\r\n item.style.display = '';\r\n } else {\r\n if (item.style.display !== 'none' && element.marked) {\r\n this._updateSelectControls(isSelected, false);\r\n }\r\n item.style.display = 'none';\r\n }\r\n }, this);\r\n } else {\r\n this._toggleSearchButtonIcon(columnId, false);\r\n this._showAllItems(columnId);\r\n }\r\n }\r\n\r\n _isSearchMatched(element, searchString) {\r\n const searchIndex = 'undefined' === typeof element.searchIndex\r\n ? element.title\r\n : element.searchIndex;\r\n\r\n return -1 !== searchIndex.toLowerCase().indexOf(searchString);\r\n }\r\n\r\n onFocus(element) {\r\n if (this.lmsg('searchTitle') === element.value) {\r\n element.value = '';\r\n element.classList.remove('search-empty');\r\n }\r\n }\r\n\r\n onBlur(element) {\r\n if ('' === element.value) {\r\n this._resetSearchControl(element);\r\n }\r\n }\r\n\r\n onResetSearch(columnId) {\r\n this._showAllItems(columnId);\r\n const element = document.getElementById(`${this._id}-search-${columnId}`);\r\n this._resetSearchControl(element);\r\n this._toggleSearchButtonIcon(columnId, false);\r\n }\r\n\r\n _showAllItems(columnId) {\r\n const isSelected = (columnId === 'selected');\r\n this._list.forEach((element, index) => {\r\n if (isSelected === element.selected) {\r\n const item = document.getElementById(`${this._id}-${index}-${columnId}-item`);\r\n if (item.style.display === 'none' && element.marked) {\r\n this._updateSelectControls(isSelected, true);\r\n }\r\n item.style.display = '';\r\n }\r\n });\r\n }\r\n\r\n _resetSearchControl(element) {\r\n element.value = this.lmsg('searchTitle');\r\n element.classList.add('search-empty');\r\n }\r\n\r\n _toggleSearchButtonIcon(columnId, isActive) {\r\n document.getElementById(`${this._id}-search-button-${columnId}`).classList[isActive ? 'add' : 'remove']('search-button-clear');\r\n }\r\n\r\n _updateSelectControls(isSelected, setMarked) {\r\n let counter = isSelected ? this._selectedMarked : this._unselectedMarked;\r\n const controlId = isSelected ? 'submitUnselect' : 'submitSelect';\r\n\r\n if (setMarked) {\r\n counter++;\r\n } else {\r\n counter--;\r\n }\r\n\r\n document.getElementById(`${this._id}-${controlId}`).classList[counter ? 'remove' : 'add']('disabled');\r\n\r\n if (isSelected) {\r\n this._selectedMarked = counter;\r\n } else {\r\n this._unselectedMarked = counter;\r\n }\r\n }\r\n\r\n isEmpty() {\r\n return !this._list.some(function (element) {\r\n return element.selected;\r\n });\r\n }\r\n\r\n reload(params) {\r\n if (!this._dataUrl) {\r\n return;\r\n }\r\n\r\n const reloadUrl = addUrlParams(this._dataUrl, params);\r\n new Ajax.Request(prepareUrl(reloadUrl), {\r\n method: 'get',\r\n onSuccess: this._onReloadSuccess.bind(this),\r\n onFailure: this._onReloadFailure.bind(this),\r\n onException: this._onReloadException.bind(this),\r\n onCreate: this._onReloadCreate.bind(this),\r\n onComplete: this._onReloadComplete.bind(this),\r\n });\r\n }\r\n\r\n _onReloadSuccess(transport) {\r\n if (!transport.responseText) {\r\n // :INFO: sometimes happens in FF if you are go to other page during request\r\n return;\r\n }\r\n\r\n let data = {};\r\n try {\r\n data = JSON.parse(transport.responseText);\r\n } catch {\r\n showInternalError(transport.responseText);\r\n return;\r\n }\r\n\r\n if (data.list) {\r\n this._list = data.list;\r\n } else if (data.status) {\r\n clearStatusMessages();\r\n (data.statusMessages || []).forEach(function (message) {\r\n addStatusMessage(message.status, message.content);\r\n });\r\n } else {\r\n showInternalError('Unable to load list data.');\r\n }\r\n\r\n this._initList();\r\n }\r\n\r\n _onReloadFailure(transport) {\r\n showInternalError(transport.responseText);\r\n }\r\n\r\n _onReloadException(transport, exception) {\r\n showInternalError(`${exception}\\n${transport.responseText}`);\r\n }\r\n\r\n _onReloadCreate() {\r\n this._list = [];\r\n this._componentElement.querySelectorAll('.dls-box-area').forEach(listArea => {\r\n listArea.querySelector('ul').innerHTML = '';\r\n listArea.querySelector('.ajax-loading').style.display = '';\r\n });\r\n }\r\n\r\n _onReloadComplete() {\r\n this._componentElement.querySelectorAll('.dls-box-area').forEach(listArea => {\r\n listArea.querySelector('.ajax-loading').style.display = 'none';\r\n });\r\n }\r\n\r\n reset() {\r\n this._list.forEach(item => {\r\n item.selected = this._originalSelection[item.id];\r\n });\r\n\r\n const list = this._list;\r\n this._onReloadCreate();\r\n this._onReloadComplete();\r\n this._list = list;\r\n\r\n this._initList();\r\n }\r\n}\r\n\r\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\r\nDoubleListSelector.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport ce from './createElement';\r\nimport { DoubleListSelector } from './double-list-selector';\r\nimport render from './render';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nimport './enhanced-double-list-selector.less';\r\n\r\nexport class EnhancedDoubleListSelector extends DoubleListSelector {\r\n _initComponentElement() {\r\n this._componentElement = document.getElementById(this._applyTargetId);\r\n this._componentElement.classList.add('edls');\r\n\r\n this._updateComponentElement(\r\n ce('.edls-wrap',\r\n ce('.edls-box.edls-box-first',\r\n ce('.edls-header',\r\n ce('.edls-header-title', this.lmsg('unselectedTitle')),\r\n ),\r\n ce('.edls-box-wrap',\r\n this._isSearchable ? this._getSearchControl('unselected') : null,\r\n ce('.edls-box-body',\r\n ce('ul.edls-list', { id: `${this._id}-unselected` }),\r\n ce('.edls-list-empty', { style: 'display: none;' }, ce('span', this.lmsg('unselectedEmpty'))),\r\n ce('.edls-ajax-loading', { style: 'display: none;' }, ce('span.ajax-loading', this.lmsg('loadingTitle'))),\r\n ),\r\n ),\r\n ),\r\n ce('.edls-control',\r\n ce('.edls-control-wrap',\r\n ce('.edls-control-body',\r\n ce('.edls-control-text',\r\n ce('.edls-control-text-none', this.lmsg('controlText-none')),\r\n ce('.edls-control-text-first'),\r\n ce('.edls-control-text-second'),\r\n ),\r\n ce('.edls-control-indicator', ce('i')),\r\n ),\r\n ),\r\n ),\r\n ce('.edls-box.edls-box-second',\r\n ce('.edls-header',\r\n ce('.edls-header-title', this.lmsg('selectedTitle')),\r\n ),\r\n ce('.edls-box-wrap',\r\n this._isSearchable ? this._getSearchControl('selected') : null,\r\n ce('.edls-box-body',\r\n ce('ul.edls-list', { id: `${this._id}-selected` }),\r\n ce('.edls-list-empty', { style: 'display: none;' }, ce('span', this.lmsg('selectedEmpty'))),\r\n ce('.edls-ajax-loading', { style: 'display: none' }, ce('span.ajax-loading', this.lmsg('loadingTitle'))),\r\n ),\r\n ),\r\n ),\r\n ),\r\n );\r\n this._initList();\r\n }\r\n\r\n _initList() {\r\n super._initList();\r\n\r\n this._fixListZebra();\r\n }\r\n\r\n _fixListZebra() {\r\n [document.getElementById(`${this._id}-unselected`), document.getElementById(`${this._id}-selected`)].forEach(list => {\r\n let count = 0;\r\n list.querySelectorAll('.edls-item').forEach(el => {\r\n if (el.style.display !== 'none') {\r\n el.classList.add(count % 2 ? 'odd' : 'even');\r\n el.classList.remove(count % 2 ? 'even' : 'odd');\r\n count++;\r\n }\r\n });\r\n list.parentNode.querySelector('.edls-list-empty').style.display = count ? 'none' : '';\r\n });\r\n }\r\n\r\n _getSearchControl(columnId) {\r\n return (\r\n ce('.edls-search',\r\n ce('span.edls-check', ce('input.checkbox', { type: 'checkbox', value: '' })),\r\n ce('span.edls-search-control',\r\n ce('input.search-input.search-empty', {\r\n type: 'text',\r\n value: '',\r\n autocomplete: 'off',\r\n id: `${this._id}-search-${columnId}`,\r\n onfocus: e => this.onFocus(e.target),\r\n onblur: e => this.onBlur(e.target),\r\n onkeyup: e => this.onToggleSearch(columnId, e.target.value),\r\n }),\r\n ce('input.search-button', {\r\n type: 'image',\r\n src: require('images/search-input.png'),\r\n id: `${this._id}-search-button-${columnId}`,\r\n onmousedown: () => this.onResetSearch(columnId),\r\n onclick: e => e.preventDefault(),\r\n }),\r\n ),\r\n )\r\n );\r\n }\r\n\r\n _toggleSearchButtonIcon(columnId, isActive) {\r\n const inputIcon = document.getElementById(`${this._id}-search-button-${columnId}`);\r\n inputIcon.classList[isActive ? 'add' : 'remove']('search-button-clear');\r\n inputIcon.src = isActive\r\n ? require('images/clear-search.png')\r\n : require('images/search-input.png');\r\n }\r\n\r\n onFocus(element) {\r\n element.classList.remove('search-empty');\r\n }\r\n\r\n _resetSearchControl(element) {\r\n element.value = '';\r\n element.classList.add('search-empty');\r\n }\r\n\r\n _initListItem(element, index, isSelected) {\r\n let container = null;\r\n let isHidden = false;\r\n if (isSelected) {\r\n container = document.getElementById(`${this._id}-selected`);\r\n isHidden = !element.selected;\r\n } else {\r\n container = document.getElementById(`${this._id}-unselected`);\r\n isHidden = element.selected;\r\n }\r\n\r\n render(\r\n container,\r\n ce(\r\n 'li',\r\n {\r\n id: `${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`,\r\n class: 'edls-item',\r\n style: isHidden ? 'display: none;' : null,\r\n onclick: event => {\r\n this._toggleItemSelection(index, isSelected, event);\r\n },\r\n },\r\n ce(\r\n 'div',\r\n { class: 'edls-item-wrap' },\r\n ce(\r\n 'span',\r\n { class: 'edls-check' },\r\n ce('input', {\r\n type: 'checkbox',\r\n class: 'checkbox',\r\n value: '',\r\n onclick: event => {\r\n event.stopPropagation();\r\n this._toggleItemCheckbox(event.target, event.target.checked);\r\n },\r\n }),\r\n ),\r\n ce('span', { class: 'edls-text' }, this._getItemText(element)),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n _getItemText(element, highlight) {\r\n let itemIcons = '';\r\n if (element.icons && element.icons.length) {\r\n element.icons.forEach(({ src, title }) => {\r\n itemIcons += ``;\r\n });\r\n itemIcons += ' ';\r\n }\r\n let itemText = escapeHtml(element.title);\r\n if (highlight) {\r\n itemText = itemText.replace(highlight, `${highlight}`);\r\n }\r\n\r\n return itemIcons + itemText;\r\n }\r\n\r\n onToggleSearch(columnId, searchString) {\r\n const isSelected = (columnId === 'selected');\r\n searchString = searchString.trim().toLowerCase();\r\n\r\n if (searchString.length) {\r\n this._toggleSearchButtonIcon(columnId, true);\r\n this._list.forEach((element, index) => {\r\n const item = document.getElementById(`${this._id}-${index}-${columnId}-item`);\r\n if (this._isSearchMatched(element, searchString)) {\r\n item.querySelector('.edls-text').innerHTML = this._getItemText(element, searchString);\r\n if (isSelected === element.selected) {\r\n item.style.display = '';\r\n }\r\n } else {\r\n item.querySelector('.edls-text').innerHTML = this._getItemText(element);\r\n const checkbox = item.querySelector('.edls-check input');\r\n if (item.style.display !== 'none' && checkbox.checked) {\r\n this._toggleItemCheckbox(checkbox, false);\r\n }\r\n item.style.display = 'none';\r\n }\r\n });\r\n } else {\r\n this._toggleSearchButtonIcon(columnId, false);\r\n this._showAllItems(columnId);\r\n }\r\n }\r\n\r\n _showAllItems(columnId) {\r\n const isSelected = (columnId === 'selected');\r\n this._list.forEach((element, index) => {\r\n const item = document.getElementById(`${this._id}-${index}-${columnId}-item`);\r\n item.querySelector('.edls-text').innerHTML = this._getItemText(element);\r\n if (isSelected === element.selected) {\r\n item.style.display = '';\r\n }\r\n });\r\n }\r\n\r\n _toggleItemSelection(index, isSelected, event, batchMode) {\r\n event?.preventDefault();\r\n this._list[index].selected = !isSelected;\r\n this._updateElement(this._list[index]);\r\n document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`).style.display = 'none';\r\n document.getElementById(`${this._id}-${index}-${isSelected ? 'unselected' : 'selected'}-item`).style.display = '';\r\n this._toggleItemCheckbox(document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`).querySelector('.edls-check input'), false);\r\n if (!batchMode) {\r\n this._fixListZebra();\r\n this.onChange();\r\n }\r\n }\r\n\r\n _toggleItemCheckbox(checkbox, value) {\r\n checkbox.checked = value;\r\n\r\n const side = checkbox.closest('.edls-box-first') ? 'first' : 'second';\r\n const count = checkbox.closest(`.edls-box-${side}`).querySelectorAll('.edls-list .edls-check input:checked').length;\r\n if (value) {\r\n checkbox.closest('.edls-item').classList.add('selected');\r\n } else {\r\n checkbox.closest('.edls-item').classList.remove('selected');\r\n checkbox.closest('.edls-box').querySelector('.edls-search .checkbox').checked = false;\r\n }\r\n checkbox.closest('.edls').classList[count ? 'add' : 'remove'](`edls-selected-${side}`);\r\n checkbox.closest('.edls').querySelector(`.edls-control-text-${side}`).innerHTML =\r\n this.getLocale().formatMessage(`controlText-${side}`, { count });\r\n }\r\n\r\n _updateSelectControls() {\r\n // disable parent implementation\r\n }\r\n\r\n _addEvents() {\r\n const componentElement = this._componentElement;\r\n\r\n this._componentElement.querySelectorAll('.edls-box-wrap').forEach(el => {\r\n el.addEventListener('mouseover', event => {\r\n componentElement.classList.add('edls-over');\r\n componentElement.classList.add(event.target.closest('.edls-box-first') ? 'edls-over-first' : 'edls-over-second');\r\n componentElement.classList.remove(event.target.closest('.edls-box-first') ? 'edls-over-second' : 'edls-over-first');\r\n });\r\n el.addEventListener('mouseleave', () => {\r\n if (!componentElement.classList.contains('edls-selected-first') && !componentElement.classList.contains('edls-selected-second')) {\r\n componentElement.classList.remove('edls-over');\r\n componentElement.classList.remove('edls-over-first');\r\n componentElement.classList.remove('edls-over-second');\r\n }\r\n });\r\n });\r\n\r\n this._componentElement.addEventListener('mouseleave', event => {\r\n event.target.classList.remove('edls-over');\r\n event.target.classList.remove('edls-over-first');\r\n event.target.classList.remove('edls-over-second');\r\n });\r\n\r\n this._componentElement.querySelectorAll('.edls-box .edls-search .edls-check input').forEach(element => {\r\n element.addEventListener('click', () => {\r\n const value = element.checked;\r\n element.closest('.edls-box').querySelectorAll('.edls-list .edls-check input').forEach(checkbox => {\r\n if (value && checkbox.closest('.edls-item').style.display !== 'none') {\r\n this._toggleItemCheckbox(checkbox, true);\r\n } else {\r\n this._toggleItemCheckbox(checkbox, false);\r\n }\r\n });\r\n });\r\n });\r\n\r\n this._componentElement.querySelector('.edls-control-wrap').addEventListener('click', event => {\r\n let isSelected;\r\n if (componentElement.classList.contains('edls-over-first')) {\r\n isSelected = false;\r\n } else if (componentElement.classList.contains('edls-over-second')) {\r\n isSelected = true;\r\n } else {\r\n return;\r\n }\r\n\r\n this._list.forEach((element, index) => {\r\n if (element.selected === isSelected) {\r\n const item = document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`);\r\n if (item.classList.contains('selected')) {\r\n this._toggleItemSelection(index, isSelected, event, true);\r\n }\r\n }\r\n });\r\n this._fixListZebra();\r\n this.onChange();\r\n });\r\n }\r\n\r\n _onReloadCreate() {\r\n this._list = [];\r\n this._componentElement.querySelectorAll('.edls-box').forEach(listArea => {\r\n listArea.querySelector('ul').innerHTML = '';\r\n listArea.querySelector('.edls-ajax-loading').style.display = '';\r\n listArea.querySelector('.edls-list-empty').style.display = 'none';\r\n });\r\n }\r\n\r\n _onReloadComplete() {\r\n this._componentElement.querySelectorAll('.edls-box').forEach(listArea => {\r\n listArea.querySelector('.edls-ajax-loading').style.display = 'none';\r\n });\r\n }\r\n}\r\n","module.exports = Jsw.skinUrl + \"/images/search-input.png?9fd99cb66354e116893e88b4f234ca6d\";","module.exports = Jsw.skinUrl + \"/images/clear-search.png?c022c431eedbe669278180412386b137\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\n\r\nimport './dynamic-popup-hint.less';\r\n\r\n/**\r\n * @class DynamicPopupHint\r\n * @singleton\r\n */\r\nexport const DynamicPopupHint = {\r\n windowId: 'ajaxTooltipWindow',\r\n delay: 0.55,\r\n _isInitialized: false,\r\n _currentTooltip: null,\r\n\r\n _init(cls) {\r\n if (this._isInitialized) {\r\n return;\r\n }\r\n\r\n this._cls = cls;\r\n this._initWindowElement();\r\n this._initWindowEvents();\r\n this._isInitialized = true;\r\n },\r\n\r\n _initWindowElement() {\r\n render(document.body, `
            `, 'top');\r\n\r\n const element = document.getElementById(this.windowId);\r\n element.innerHTML = (\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 );\r\n // TODO Need remove this hack when all popup boxes will use DynamicPopupHint component and hardcoded offset will be removed in css\r\n element.style.marginTop = 0;\r\n },\r\n\r\n _initWindowEvents() {\r\n document.getElementById(this.windowId).addEventListener('mouseover', this._onWindowMouseOver.bind(this));\r\n document.getElementById(this.windowId).addEventListener('mouseout', this._onWindowMouseOut.bind(this));\r\n document.getElementById(`${this.windowId}-close`).addEventListener('click', this._onCloseClick.bind(this));\r\n document.body.addEventListener('click', this._onCloseClick.bind(this));\r\n document.getElementById(this.windowId).addEventListener('click', event => {\r\n event.stopPropagation();\r\n });\r\n },\r\n\r\n _onWindowMouseOver() {\r\n this._showWindow();\r\n },\r\n\r\n _onWindowMouseOut() {\r\n if (this._currentTooltip.getPlacement() === '') {\r\n document.getElementById(this.windowId).style.display = 'none';\r\n }\r\n },\r\n\r\n _onCloseClick() {\r\n document.getElementById(this.windowId).style.display = 'none';\r\n },\r\n\r\n set(tooltip) {\r\n this._init(tooltip.getCls());\r\n const title = tooltip.getTitle();\r\n const titleElement = document.getElementById(`${this.windowId}-title`);\r\n if (false === title) {\r\n document.getElementById(`${this.windowId}-title`).innerHTML = '';\r\n titleElement.closest('.popup-heading').style.display = 'none';\r\n } else {\r\n document.getElementById(`${this.windowId}-title`).innerHTML = title;\r\n titleElement.closest('.popup-heading').style.display = '';\r\n }\r\n ['left', 'right', 'top', 'bottom'].forEach(className => {\r\n document.getElementById(this.windowId).classList.remove(className);\r\n });\r\n document.getElementById(this.windowId).classList.add(tooltip.getPlacement());\r\n document.getElementById(this.windowId)\r\n .querySelector('.heading-area .arrow').style.display = ['left', 'right', 'bottom'].indexOf(tooltip.getPlacement()) !== -1 ? '' : 'none';\r\n document.getElementById(this.windowId).classList[tooltip.getScrollable() ? 'add' : 'remove']('popup-box-scrollable');\r\n this._currentTooltip = tooltip;\r\n this.updateContent(tooltip);\r\n this._showWindow(tooltip);\r\n },\r\n\r\n isSet(tooltip) {\r\n const element = document.getElementById(this.windowId);\r\n return element && element.style.display !== 'none' && this._currentTooltip === tooltip;\r\n },\r\n\r\n unset() {\r\n const element = document.getElementById(this.windowId);\r\n if (element) {\r\n element.style.display = 'none';\r\n }\r\n },\r\n\r\n updateContent(tooltip) {\r\n if (this._currentTooltip === tooltip) {\r\n render(document.getElementById(`${this.windowId}-content`), [\r\n tooltip.getPlacement() === 'top' ? '' : '',\r\n tooltip.getContent(),\r\n ], 'inner');\r\n }\r\n this._updatePosition();\r\n },\r\n\r\n _showWindow() {\r\n document.getElementById(this.windowId).style.display = '';\r\n this._updatePosition();\r\n },\r\n\r\n _updatePosition() {\r\n const element = document.getElementById(this.windowId);\r\n const elementWidth = Element.getWidth(element);\r\n const elementHeight = Element.getHeight(element);\r\n const headingElementHeight = Element.getHeight(element.querySelector('.popup-heading'));\r\n const tooltipElement = this._currentTooltip.getTargetElement();\r\n const tooltipElementHeight = Element.getHeight(tooltipElement);\r\n const tooltipElementWidth = Element.getWidth(tooltipElement);\r\n let offsetLeft = 0;\r\n let offsetTop = 0;\r\n const elementRight = Element.cumulativeOffset(tooltipElement).left + elementWidth;\r\n const viewportRight = document.viewport.getWidth() + document.viewport.getScrollOffsets().left;\r\n\r\n switch (this._currentTooltip.getPlacement()) {\r\n case 'top':\r\n offsetTop -= elementHeight;\r\n offsetLeft -= (elementWidth - tooltipElementWidth) / 2;\r\n break;\r\n case 'bottom':\r\n offsetTop += tooltipElementHeight;\r\n offsetLeft -= (elementWidth - tooltipElementWidth) / 2;\r\n break;\r\n case 'left':\r\n offsetTop -= (headingElementHeight - tooltipElementHeight) / 2;\r\n offsetLeft -= elementWidth;\r\n break;\r\n case 'right':\r\n offsetTop -= (headingElementHeight - tooltipElementHeight) / 2;\r\n offsetLeft += tooltipElementWidth;\r\n break;\r\n }\r\n if (elementRight + offsetLeft > viewportRight) {\r\n offsetLeft -= elementRight + offsetLeft - viewportRight + 10;\r\n }\r\n\r\n Element.clonePosition(element, tooltipElement, {\r\n offsetLeft,\r\n offsetTop,\r\n setWidth: false,\r\n setHeight: false,\r\n });\r\n },\r\n};\r\n\r\nDynamicPopupHint.Instance = class Instance extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._targetElement = this._getConfigParam('target', '');\r\n if (typeof this._targetElement === 'string') {\r\n this._targetElement = document.getElementById(this._targetElement);\r\n }\r\n this._title = this._getConfigParam('title', '');\r\n this._waitMsg = this._getConfigParam('waitMsg', '');\r\n this._url = this._getConfigParam('url', '');\r\n this._cls = this._getConfigParam('cls', 'popup-box');\r\n this._scrollable = this._getConfigParam('scrollable', true);\r\n this._placement = this._getConfigParam('placement', '');\r\n\r\n this._content = this._getConfigParam('content', `
            ${this._waitMsg}
            `);\r\n this._contentLoaded = false;\r\n this._delayedExecuter = null;\r\n }\r\n\r\n _initComponentElement() {\r\n this._initTargetEvents();\r\n }\r\n\r\n _initTargetEvents() {\r\n if (this._placement !== '') {\r\n this._targetElement.addEventListener('click', event => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n if (DynamicPopupHint.isSet(this)) {\r\n DynamicPopupHint.unset();\r\n } else {\r\n DynamicPopupHint.set(this);\r\n }\r\n });\r\n } else {\r\n this._targetElement.addEventListener('mouseover', this.set.bind(this));\r\n this._targetElement.addEventListener('mouseout', this.unset.bind(this));\r\n }\r\n }\r\n\r\n _loadContent() {\r\n new Ajax.Request(prepareUrl(this._url), {\r\n method: 'get',\r\n onSuccess: transport => {\r\n if ('' === transport.responseText) {\r\n return;\r\n }\r\n\r\n this._content = transport.responseText;\r\n DynamicPopupHint.updateContent(this);\r\n },\r\n });\r\n\r\n this._contentLoaded = true;\r\n }\r\n\r\n setContent(content) {\r\n this._contentLoaded = true;\r\n this._content = content;\r\n }\r\n\r\n set() {\r\n this._delayedExecuter = new PeriodicalExecuter(pe => {\r\n DynamicPopupHint.set(this);\r\n pe.stop();\r\n this._delayedExecuter = null;\r\n }, DynamicPopupHint.delay);\r\n }\r\n\r\n unset() {\r\n if (this._delayedExecuter) {\r\n this._delayedExecuter.stop();\r\n this._delayedExecuter = null;\r\n }\r\n }\r\n\r\n getTitle() {\r\n return this._title;\r\n }\r\n\r\n getContent() {\r\n if (!this._contentLoaded && this._url) {\r\n this._loadContent();\r\n }\r\n\r\n return this._content;\r\n }\r\n\r\n getTargetElement() {\r\n return this._targetElement;\r\n }\r\n\r\n getCls() {\r\n return this._cls;\r\n }\r\n\r\n getScrollable() {\r\n return this._scrollable;\r\n }\r\n\r\n getPlacement() {\r\n return this._placement;\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/require-render-return */\r\n\r\nimport { Component } from './component';\r\nimport { DynamicPopupHint } from './dynamic-popup-hint';\r\nimport Locale from './Locale';\r\nimport render from './render';\r\nimport ce from './createElement';\r\nimport estimatePassword from '../helpers/estimatePassword';\r\n\r\nimport './password-meter.less';\r\n\r\nexport class PasswordMeter extends Component {\r\n _initConfiguration({ observe, ...config }) {\r\n this._passwordElement = document.getElementById(observe);\r\n this._passwordElement.addEventListener('keyup', this._onChange.bind(this));\r\n // Temporary workaround for custom prototype's event 'plesk:passwordGenerated'\r\n this._passwordElement.addEventListener('dataavailable', this._onChange.bind(this));\r\n\r\n super._initConfiguration({\r\n id: `${this._passwordElement.id}-meter`,\r\n tag: 'span',\r\n cls: 'password-strength',\r\n locale: Locale.getSection('components.password.meter'),\r\n ...config,\r\n });\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n render(this._componentElement, [\r\n ce('i', {\r\n onrender: el => {\r\n this._progress = el;\r\n },\r\n }),\r\n ce('b', {\r\n onrender: el => {\r\n this._verdict = el;\r\n },\r\n }),\r\n ]);\r\n }\r\n\r\n setProgress(strength) {\r\n const level = ['VeryWeak', 'Weak', 'Medium', 'Strong', 'VeryStrong'].indexOf(strength);\r\n this._progress.setAttribute('style', `width: ${(level + 1) * 20}%`);\r\n }\r\n\r\n async _onChange() {\r\n const { password, strength, suggestions } = await estimatePassword(this._passwordElement.value);\r\n if (password !== this._passwordElement.value) {\r\n return;\r\n }\r\n\r\n this._updateVisibility();\r\n this.setProgress(strength);\r\n this._updateHint(suggestions);\r\n this._updateVerdict(strength);\r\n this._updateColor(strength);\r\n }\r\n\r\n _updateVisibility() {\r\n if (this._passwordElement.value === '') {\r\n this._componentElement.style.display = 'none';\r\n this._hintContainer.style.display = 'none';\r\n } else {\r\n this._componentElement.style.display = '';\r\n this._hintContainer.style.display = '';\r\n }\r\n }\r\n\r\n _updateColor(strength) {\r\n const newClass = `password-strength${strength.replace(/[A-Z]/g, c => `-${c.toLowerCase()}`)}`;\r\n if (this._oldClass === newClass) {\r\n return;\r\n }\r\n if (this._oldClass) {\r\n this._componentElement.classList.remove(this._oldClass);\r\n }\r\n this._componentElement.classList.add(newClass);\r\n this._oldClass = newClass;\r\n }\r\n\r\n _updateHint(suggestions) {\r\n this._tooltip.setContent(suggestions.length ? [\r\n this.lmsg('description'),\r\n ce('br'),\r\n ce('ul', suggestions.map(suggestion => ce('li.asd', suggestion))),\r\n ] : this.lmsg('yourPasswordIsStrong'));\r\n }\r\n\r\n _updateVerdict(strength) {\r\n this._verdict.innerHTML = this.lmsg(`verdict${strength}`);\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n render(this._componentElement, ce('span.hint-inline.hint-info', {\r\n onrender: el => {\r\n this._hintContainer = el;\r\n },\r\n }, ce('span', {\r\n onrender: el => {\r\n this._tooltip = new DynamicPopupHint.Instance({\r\n title: this.lmsg('title'),\r\n waitMsg: '',\r\n url: '',\r\n placement: 'right',\r\n target: el,\r\n });\r\n },\r\n }, '(?)')), 'after');\r\n this._updateVisibility();\r\n\r\n if (this._passwordElement.value) {\r\n this._onChange();\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { gql } from '@apollo/client';\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from '../apolloClient';\r\n\r\nconst PASSWORD_ESTIMATION_QUERY = gql`\r\n query PasswordEstimation($password: String!) {\r\n passwordEstimation(password: $password) {\r\n level\r\n suggestions\r\n }\r\n }\r\n`;\r\n\r\nconst defaultEstimateFn = async password => {\r\n const { data: { passwordEstimation } } = await apolloClient.query({\r\n query: PASSWORD_ESTIMATION_QUERY,\r\n variables: { password },\r\n });\r\n return passwordEstimation;\r\n};\r\n\r\nexport default async (password, estimateFn = defaultEstimateFn) => {\r\n const [{ level, suggestions }, locale] = await Promise.all([\r\n estimateFn(password),\r\n Locale.loadSection('components.password.suggestions'),\r\n ]);\r\n\r\n return {\r\n password,\r\n strength: ['VeryWeak', 'Weak', 'Medium', 'Strong'][level] ?? 'VeryStrong',\r\n suggestions: suggestions.map(suggestion => locale.lmsg(suggestion)),\r\n };\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { ApolloClient, ApolloLink, InMemoryCache, defaultDataIdFromObject, from, Observable } from '@apollo/client';\r\nimport { BatchHttpLink } from '@apollo/client/link/batch-http';\r\nimport { onError } from '@apollo/client/link/error';\r\nimport { createUploadLink } from 'apollo-upload-client';\r\nimport { SentryLink } from 'apollo-link-sentry';\r\nimport { extractFiles } from 'extract-files';\r\n\r\nconst sentryLink = new SentryLink({\r\n setTransaction: false,\r\n});\r\n\r\nconst errorLink = onError(error => {\r\n if (error.networkError?.statusCode === 400) {\r\n window.location.reload();\r\n return new Observable(() => {});\r\n }\r\n});\r\n\r\nconst headers = {\r\n 'X-Requested-With': 'XMLHttpRequest',\r\n};\r\n\r\nconst tokenEl = document.getElementById('forgery_protection_token');\r\nif (tokenEl) {\r\n headers['X-Forgery-Protection-Token'] = tokenEl.content;\r\n}\r\n\r\nconst fetchParams = {\r\n uri: '/cp/graphql',\r\n headers,\r\n};\r\nconst terminatingLink = ApolloLink.split(\r\n operation => operation.getContext().noBatch || extractFiles(operation).files.size > 0,\r\n createUploadLink(fetchParams),\r\n new BatchHttpLink({\r\n ...fetchParams,\r\n batchMax: 10,\r\n batchInterval: 10,\r\n }),\r\n);\r\n\r\nconst apolloClient = new ApolloClient({\r\n link: from([errorLink, sentryLink, terminatingLink]),\r\n cache: new InMemoryCache({\r\n typePolicies: {\r\n AdditionalKey: {\r\n keyFields: ['keyNumber'],\r\n },\r\n Domain: {\r\n fields: {\r\n hosting: {\r\n merge: true,\r\n },\r\n webScriptingSettings: {\r\n merge: true,\r\n },\r\n subscription: {\r\n merge: true,\r\n },\r\n },\r\n },\r\n Subscription: {\r\n fields: {\r\n permissions: { merge: true },\r\n },\r\n },\r\n ExtensionTab: {\r\n keyFields: false,\r\n },\r\n SiteButton: {\r\n keyFields: false,\r\n },\r\n ConfigSectionGdprCookie: {\r\n keyFields: ['name'],\r\n },\r\n User: {\r\n keyFields: ['login'],\r\n },\r\n UserLogo: {\r\n merge: true,\r\n },\r\n UserPermissions: {\r\n merge: true,\r\n },\r\n Os: {\r\n merge: true,\r\n },\r\n Mode: {\r\n merge: true,\r\n },\r\n Home: {\r\n merge: true,\r\n },\r\n Notification: {\r\n keyFields: [],\r\n },\r\n PrimaryKey: {\r\n keyFields: ['pleskKeyId'],\r\n },\r\n WebsitesDiagnostic: {\r\n keyFields: [],\r\n fields: {\r\n settings: {\r\n merge: true,\r\n },\r\n },\r\n },\r\n ServerMail: {\r\n keyFields: [],\r\n fields: {\r\n spamAssassin: {\r\n merge: true,\r\n },\r\n },\r\n },\r\n Capability: {\r\n keyFields: [],\r\n fields: {\r\n mailServer: {\r\n merge: true,\r\n },\r\n packages: {\r\n merge: true,\r\n },\r\n },\r\n },\r\n Dns: {\r\n keyFields: [],\r\n },\r\n Query: {\r\n fields: {\r\n additionalKeys: {\r\n merge: false,\r\n },\r\n recentSearch: {\r\n merge: false,\r\n },\r\n node: {\r\n read(_, { args: { id }, toReference }) {\r\n const __typename = atob(id).split(':')[0];\r\n return toReference({ id, __typename });\r\n },\r\n },\r\n },\r\n },\r\n Server: {\r\n keyFields: [],\r\n fields: {\r\n firewall: {\r\n merge: true,\r\n },\r\n components: {\r\n merge: false,\r\n },\r\n settings: {\r\n merge: true,\r\n },\r\n information: {\r\n merge: true,\r\n },\r\n productVersion: {\r\n merge: true,\r\n },\r\n productUpdates: {\r\n merge: true,\r\n },\r\n pum: {\r\n merge: true,\r\n },\r\n },\r\n },\r\n DnsTemplate: {\r\n keyFields: [],\r\n },\r\n DnsSoaRecordTemplate: {\r\n keyFields: [],\r\n },\r\n TaskList: {\r\n keyFields: [],\r\n },\r\n IpAddress: {\r\n fields: {\r\n clients: {\r\n merge: false,\r\n },\r\n },\r\n },\r\n IpAddressList: {\r\n keyFields: [],\r\n fields: {\r\n list: {\r\n merge: false,\r\n },\r\n },\r\n },\r\n VirtualDirectory: {\r\n keyFields: ['key'],\r\n fields: {\r\n errorDoc: {\r\n read: (_, { args: { code }, toReference }) => toReference({\r\n code,\r\n __typename: 'VirtualDirectoryErrorDoc',\r\n }),\r\n },\r\n },\r\n },\r\n VirtualDirectoryErrorDoc: {\r\n keyFields: ['code'],\r\n },\r\n SystemMessage: {\r\n keyFields: ['key'],\r\n },\r\n ClientStatistics: {\r\n merge: true,\r\n },\r\n DomainStatistics: {\r\n merge: true,\r\n },\r\n MailAccountConfiguration: {\r\n merge: true,\r\n },\r\n },\r\n dataIdFromObject: object => {\r\n switch (true) {\r\n case object.__typename?.startsWith('Config'):\r\n return object.__typename;\r\n default:\r\n return defaultDataIdFromObject(object);\r\n }\r\n },\r\n }),\r\n});\r\n\r\nexport default apolloClient;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { shuffle } from 'helpers/shuffle';\r\nimport { Component } from './component';\r\nimport fireCustomEvent from './fireCustomEvent';\r\n\r\nconst symbolClasses = {\r\n upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',\r\n lower: 'abcdefghijklmnopqrstuvwxyz',\r\n number: '0123456789',\r\n special: '!@#$%^&*?_~',\r\n};\r\n\r\nexport class PasswordGenerator extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({ tag: 'span', ...config });\r\n this._passwordElement = document.getElementById(this._getConfigParam('password', null));\r\n this._generateButtonElement = document.getElementById(this._getConfigParam('generateButton', null));\r\n this._generateButtonElement.addEventListener('click', this._onGeneratePasswordClick.bind(this));\r\n this._showButtonElement = document.getElementById(this._getConfigParam('showButton', null));\r\n this._showButtonElement.addEventListener('click', this._onShowPasswordClick.bind(this));\r\n this._showPasswordVisible = true;\r\n this._showPasswordTitle = this._getConfigParam('showPasswordTitle', '');\r\n this._hidePasswordTitle = this._getConfigParam('hidePasswordTitle', '');\r\n this._passwordStrength = this._getConfigParam('passwordStrength', '');\r\n }\r\n\r\n _onGeneratePasswordClick() {\r\n const password = this._generatePassword();\r\n this._passwordElement.value = password;\r\n\r\n const passwordConfirmationElement = document.getElementById(this._getConfigParam('passwordConfirmation'));\r\n\r\n if (passwordConfirmationElement) {\r\n passwordConfirmationElement.value = password;\r\n }\r\n\r\n fireCustomEvent(this._passwordElement, 'plesk:passwordGenerated');\r\n }\r\n\r\n _onShowPasswordClick() {\r\n if (this._showPasswordVisible) {\r\n this._passwordElement.setAttribute('type', 'text');\r\n this._showButtonElement.innerHTML = this._hidePasswordTitle;\r\n } else {\r\n this._passwordElement.setAttribute('type', 'password');\r\n this._showButtonElement.innerHTML = this._showPasswordTitle;\r\n }\r\n this._showPasswordVisible = !this._showPasswordVisible;\r\n }\r\n\r\n _generatePassword() {\r\n let password = '';\r\n const requiredClasses = ['upper', 'lower', 'lower', 'lower', 'number', 'number', 'special', 'number', 'number'];\r\n\r\n if ('Stronger' === this._passwordStrength) {\r\n requiredClasses.push('upper', 'upper', 'lower', 'lower', 'lower', 'lower', 'lower', 'lower');\r\n }\r\n\r\n const shuffledRequiredClasses = shuffle(requiredClasses);\r\n\r\n shuffledRequiredClasses.forEach(i => {\r\n password += this._generateSymbol(i);\r\n });\r\n return password;\r\n }\r\n\r\n _generateSymbol(symbolClass) {\r\n const randomValue = crypto.getRandomValues(new Uint32Array(1))[0];\r\n const index = randomValue % symbolClasses[symbolClass].length;\r\n return symbolClasses[symbolClass][index];\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Shuffle an array with the Fisher-Yates shuffle algorithm\r\n */\r\nexport const shuffle = function (array) {\r\n const shuffledArray = [...array];\r\n\r\n let remaining = array.length;\r\n\r\n while (remaining) {\r\n const currentIndex = remaining - 1;\r\n const randomIndex = crypto.getRandomValues(new Uint32Array(1))[0] % remaining;\r\n\r\n [\r\n shuffledArray[currentIndex],\r\n shuffledArray[randomIndex],\r\n ] = [\r\n shuffledArray[randomIndex],\r\n shuffledArray[currentIndex],\r\n ];\r\n\r\n remaining--;\r\n }\r\n\r\n return shuffledArray;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { StatusMessage } from './status-message';\r\nimport api from './api';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\n\r\nexport class UpgradeFailureNotification extends StatusMessage {\r\n _initConfiguration(config) {\r\n this.updateInterval = 5000;\r\n\r\n super._initConfiguration(config);\r\n this._isBootstrapRunning = this._getConfigParam('isBootstrapRunning');\r\n this._bootstrapExecutionUrl = this._getConfigParam('bootstrapExecutionUrl');\r\n this._bootstrapStatusUrl = this._getConfigParam('bootstrapStatusUrl');\r\n this._bootstrapInProgressMessage = this._getConfigParam('bootstrapInProgressMessage');\r\n this._bootstrapLinkTitle = this._getConfigParam('bootstrapLinkTitle');\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n if (this._isBootstrapRunning) {\r\n this._scheduleUpdateStatus();\r\n }\r\n }\r\n\r\n _executeBootstrapper() {\r\n this._isBootstrapRunning = true;\r\n render(this._componentElement.querySelector('.msg-content'), this._renderMessage(), 'inner');\r\n api.post(prepareUrl(this._bootstrapExecutionUrl))\r\n .finally(() => {\r\n this._scheduleUpdateStatus();\r\n });\r\n }\r\n\r\n _renderMessage() {\r\n if (this._isBootstrapRunning) {\r\n return createElement('span.ajax-loading', this._bootstrapInProgressMessage);\r\n }\r\n return [this._message, ' ', createElement('a', { onclick: this._executeBootstrapper.bind(this) }, this._bootstrapLinkTitle)];\r\n }\r\n\r\n _scheduleUpdateStatus() {\r\n setTimeout(() => {\r\n this._statusUpdate();\r\n }, this.updateInterval);\r\n }\r\n\r\n _statusUpdate() {\r\n api.get(prepareUrl(this._bootstrapStatusUrl))\r\n .finally(() => {\r\n this._scheduleUpdateStatus();\r\n });\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { StatusMessage } from './status-message';\r\nimport api from './api';\r\nimport { redirectPost } from './form-redirect';\r\nimport addStatusMessage from './addStatusMessage';\r\nimport clearStatusMessages from './clearStatusMessages';\r\nimport prepareUrl from './prepareUrl';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nexport class WebserverConfigurationFailure extends StatusMessage {\r\n _initConfiguration(config) {\r\n this._rebuildFailedUrl = '^/admin/subscription/webserver-configuration-rebuild/?returnUrl=/';\r\n this._rebuildAllUrl = '^/admin/subscription/webserver-configuration-rebuild-all/';\r\n\r\n super._initConfiguration(config);\r\n this._moduleInstalled = this._getConfigParam('moduleInstalled');\r\n this._kbArticle = this._getConfigParam('kbArticle');\r\n }\r\n\r\n _renderMessage() {\r\n return this.lmsg('message', {\r\n error: `${escapeHtml(this._message.trim())} ${this._moduleInstalled ? `${this.lmsg('moduleLink')}` : ''}`,\r\n link: `${this.lmsg('link')}`,\r\n linkAll: `${this.lmsg('linkAll')}`,\r\n howToFix: this._kbArticle ? ` ${this.lmsg('knownIssue', {\r\n kbArticle: `${this._kbArticle}`,\r\n })}` : '',\r\n });\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n document.getElementById('webserver-configuration-failure-rebuild-failed').addEventListener('click', this._rebuildFailed.bind(this));\r\n document.getElementById('webserver-configuration-failure-rebuild-all').addEventListener('click', this._rebuildAll.bind(this));\r\n }\r\n\r\n _rebuildFailed() {\r\n redirectPost(this._rebuildFailedUrl);\r\n }\r\n\r\n _rebuildAll() {\r\n this._onCreateExecute();\r\n api.post(prepareUrl(this._rebuildAllUrl))\r\n .then(this._onSuccess.bind(this))\r\n .catch(this._onException.bind(this));\r\n }\r\n\r\n _onCreateExecute() {\r\n clearStatusMessages();\r\n addStatusMessage('warning', `${this.lmsg('messageInProgress')}`);\r\n }\r\n\r\n _onSuccess(response) {\r\n clearStatusMessages();\r\n if ('success' === response.status) {\r\n addStatusMessage('info', this.lmsg('messageSuccess'));\r\n } else {\r\n addStatusMessage('error', this.lmsg('messageFailure') + response.message);\r\n }\r\n }\r\n\r\n _onException(exception) {\r\n clearStatusMessages();\r\n\r\n if (window.location.port === '') {\r\n // Configuration Troubleshooter restarts main web server, therefore the connection is always interrupted.\r\n addStatusMessage('info', this.lmsg('messageSuccess'));\r\n } else {\r\n addStatusMessage('error', `Internal error: ${exception}`);\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { PopupForm } from './popup-form';\r\nimport { getComponent } from './component';\r\nimport { redirect } from './form-redirect';\r\nimport Locale from './Locale';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\nimport api from './api';\r\n\r\nexport const ConfirmationPopupManager = {};\r\nConfirmationPopupManager.PopupForm = class extends PopupForm {\r\n _initConfiguration(config) {\r\n this._sendButtonTitle = '';\r\n\r\n super._initConfiguration({\r\n singleRowButtons: true,\r\n ...config,\r\n });\r\n\r\n this._prepareUrl = this._getConfigParam('prepareUrl', '');\r\n this._handlerUrl = this._getConfigParam('handlerUrl', '');\r\n this._ids = this._getConfigParam('ids', '');\r\n this._formListItemsAreaId = `${this._id}-form-list-items`;\r\n this._formListAreaId = `${this._id}-form-list`;\r\n this._formBoxAreaId = `${this._id}-form-box`;\r\n this._sendButtonId = this._getConfigParam('sendButtonId', 'btn-send');\r\n this._cancelButtonId = this._getConfigParam('cancelButtonId', 'btn-cancel');\r\n this._formDescriptionId = `${this._id}-form-desc`;\r\n this._longtask = this._getConfigParam('longtask', false);\r\n this._autoload = this._getConfigParam('autoload', true);\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this.setBoxType('form-box');\r\n this._setTitle();\r\n\r\n const formHtml = (\r\n `
            ` +\r\n `
            ` +\r\n `
            ` +\r\n '
            '\r\n );\r\n\r\n document.getElementById(this._contentAreaId).innerHTML = (\r\n this._getHeadDescription() +\r\n formHtml +\r\n this._getBottomDescription()\r\n );\r\n\r\n const form = document.getElementById(`${this._id}-form`);\r\n form._formSubmit = form.submit;\r\n form.submit = this._onSubmit.bind(this);\r\n form.addEventListener('submit', this._onSubmitEvent.bind(this));\r\n\r\n render(document.getElementById(this._formBoxAreaId), `
            ${this.lmsg('loading')}
            `);\r\n\r\n this._addButtons();\r\n\r\n if (this._autoload) {\r\n this._renderPreparePopup();\r\n }\r\n }\r\n\r\n reload() {\r\n document.getElementById(this._formListAreaId).innerHTML = '';\r\n document.getElementById(this._formBoxAreaId).innerHTML = `
            ${this.lmsg('loading')}
            `;\r\n this._preparePopup();\r\n }\r\n\r\n _addButtons() {\r\n this.addRightButton(Locale.getSection('components.buttons').lmsg('ok'), this._onOkClick, true, true, { id: this._sendButtonId });\r\n this.addRightButton(Locale.getSection('components.buttons').lmsg('cancel'), this._onCancelClick, false, false, { id: this._cancelButtonId });\r\n }\r\n\r\n _setTitle() {\r\n this.setTitle(this.lmsg('title'));\r\n }\r\n\r\n _getHeadDescription() {\r\n return '';\r\n }\r\n\r\n _getBottomDescription() {\r\n return `

            ${this.lmsg('description')}

            `;\r\n }\r\n\r\n _onException(exception) {\r\n this._addErrorMessage(`Internal error: ${exception}`);\r\n this.enable();\r\n }\r\n\r\n _onOkClick(e) {\r\n this._onSubmit(e);\r\n }\r\n\r\n _onCancelClick() {\r\n this.hide();\r\n }\r\n\r\n _preparePopup() {\r\n api.post(prepareUrl(this._prepareUrl), { ids: this._ids })\r\n .then(this._onSuccessPreparePopup.bind(this))\r\n .catch(this._onException.bind(this));\r\n }\r\n\r\n _renderPreparePopup() {\r\n this._preparePopup();\r\n }\r\n\r\n _onSubmitEvent(event) {\r\n this._onSubmit();\r\n event.preventDefault();\r\n return false;\r\n }\r\n\r\n _onSuccessResponse(response) {\r\n this.hide();\r\n redirect(response.redirect);\r\n }\r\n\r\n _onSuccess(transport) {\r\n this._clearMessages();\r\n try {\r\n const response = JSON.parse(transport.responseText);\r\n if ('success' === response.status) {\r\n this._onSuccessResponse(response);\r\n } else {\r\n if (response.redirect) {\r\n redirect(response.redirect);\r\n return;\r\n }\r\n this._addErrorMessage(response.message);\r\n this.enable();\r\n }\r\n } catch (e) {\r\n this._addErrorMessage(e.message);\r\n this._addErrorMessage(\r\n `Internal error: ${transport.responseText}`,\r\n );\r\n this.enable();\r\n }\r\n }\r\n\r\n disable() {\r\n const sendButton = document.getElementById(this._sendButtonId);\r\n if (sendButton) {\r\n sendButton.disabled = true;\r\n sendButton.classList.add('disabled');\r\n if (!this._sendButtonTitle) {\r\n this._sendButtonTitle = sendButton.innerHTML;\r\n }\r\n sendButton.innerHTML = `${this.lmsg('loading')}`;\r\n }\r\n\r\n const cancelButton = document.getElementById(this._cancelButtonId);\r\n if (cancelButton) {\r\n cancelButton.disabled = true;\r\n cancelButton.classList.add('disabled');\r\n }\r\n }\r\n\r\n enable() {\r\n const sendButton = document.getElementById(this._sendButtonId);\r\n if (sendButton) {\r\n sendButton.disabled = false;\r\n sendButton.innerHTML = this._sendButtonTitle;\r\n sendButton.classList.remove('disabled');\r\n }\r\n\r\n const cancelButton = document.getElementById(this._cancelButtonId);\r\n if (cancelButton) {\r\n cancelButton.disabled = false;\r\n cancelButton.classList.remove('disabled');\r\n }\r\n }\r\n\r\n _onSuccessPreparePopup() {\r\n // should be implemented in child classes\r\n return true;\r\n }\r\n\r\n _getLoadingIndicatorItems() {\r\n return [];\r\n }\r\n\r\n _addLoadingIndicator() {\r\n // should be implemented in child classes\r\n }\r\n\r\n _getAdditionalParams(params) {\r\n // should be implemented in child classes if it necessary\r\n return params;\r\n }\r\n\r\n _isValid() {\r\n return true;\r\n }\r\n\r\n _onSubmit(e) {\r\n this._clearMessages();\r\n\r\n if (!this._isValid()) {\r\n return;\r\n }\r\n\r\n let params = $H();\r\n let count = 0;\r\n this._ids.forEach(id => {\r\n params.set(`ids[${count}]`, id);\r\n count++;\r\n });\r\n params = this._getAdditionalParams(params);\r\n\r\n this.disable();\r\n this._addLoadingIndicator(this._getLoadingIndicatorItems());\r\n\r\n if (this._needFlyEffect()) {\r\n const beginOffset = Element.cumulativeOffset(e.target);\r\n getComponent('asyncProgressBarWrapper')\r\n .fly(\r\n beginOffset,\r\n this._longtask,\r\n () => {\r\n this._sendRequest(params);\r\n },\r\n );\r\n } else {\r\n this._sendRequest(params);\r\n }\r\n }\r\n\r\n _needFlyEffect() {\r\n return (false !== this._longtask);\r\n }\r\n\r\n _sendRequest(params) {\r\n new Ajax.Request(\r\n this._handlerUrl,\r\n {\r\n method: 'post',\r\n parameters: params,\r\n onSuccess: this._onSuccess.bind(this),\r\n onException: this._onException.bind(this),\r\n },\r\n );\r\n }\r\n};\r\n\r\n// TODO WPT use Class.create()\r\nConfirmationPopupManager.PopupForm.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport { list } from './list';\r\nimport { Tooltip } from './tooltip';\r\nimport isRtl from './isRtl';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\nimport escapeHtml from './escapeHtml';\r\nimport fireCustomEvent from './fireCustomEvent';\r\nimport { ESC, ENTER, LEFT_ARROW, UP_ARROW, RIGHT_ARROW, DOWN_ARROW } from './keyCode';\r\nimport api from './api';\r\nimport stripTags from 'helpers/stripTags';\r\nimport { createHtmlElement } from 'helpers/createHtmlElement';\r\n\r\nexport class LookUp extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._name = this._getConfigParam('name', null);\r\n this._cls = this._getConfigParam('cls', 'lookup');\r\n this._data = this._getConfigParam('data', []);\r\n this._currentValue = this._getConfigParam('value', null);\r\n this._newItemValue = this._getConfigParam('newItemValue', null);\r\n this._dataUrl = this._getConfigParam('dataUrl', null);\r\n this._copyTitleValue = this._getConfigParam('copyTitleValue', false);\r\n this._limit = this._getConfigParam('limit', this._dataUrl ? 10 : list.ITEMS_UNLIMITED);\r\n this._lookUpParams = this._getConfigParam('lookUpParams', {});\r\n this._disabled = this._getConfigParam('disabled', false);\r\n this._placeholder = this._getConfigParam('placeholder', null);\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._valueField = createHtmlElement('input', {\r\n type: 'hidden',\r\n name: this._name,\r\n });\r\n\r\n render(this._componentElement, this._valueField);\r\n\r\n const inputFieldConfig = {\r\n type: 'text',\r\n class: 'form-control',\r\n };\r\n if (this._disabled) {\r\n inputFieldConfig.disabled = 'disabled';\r\n }\r\n if (null !== this._placeholder) {\r\n inputFieldConfig.placeholder = this._placeholder;\r\n }\r\n this._inputField = createHtmlElement('input', inputFieldConfig);\r\n\r\n this._lookUpButton = createHtmlElement('span', { class: 'form-control-icon form-control-icon-action' });\r\n render(this._lookUpButton, createHtmlElement('i', { class: 'icon-form-control-search' }));\r\n\r\n this._lookUpControl = createHtmlElement('div', { class: 'form-control-group' });\r\n render(this._lookUpControl, this._inputField);\r\n render(this._lookUpControl, this._lookUpButton);\r\n\r\n this._dropdownList = createHtmlElement('ul', { class: 'dropdown-menu lookup-dropdown-menu' });\r\n\r\n this._initCustomLookUpComponent();\r\n if (this._customLookUpComponent) {\r\n render(this._dropdownList,\r\n createElement('li', { class: 'dropdown-header' }, this.lmsg('label')),\r\n );\r\n render(this._dropdownList,\r\n createElement('li',\r\n createElement('div', { class: 'dropdown-menu-content' },\r\n this._lookUpControl,\r\n ),\r\n ),\r\n );\r\n } else {\r\n this._lookUpControl.classList.add('f-large-size');\r\n render(this._componentElement, this._lookUpControl);\r\n }\r\n\r\n this._emptyElement = createHtmlElement('li');\r\n render(this._emptyElement, createElement('div.dropdown-menu-content', this.lmsg('nothingFound')));\r\n render(this._dropdownList, this._emptyElement);\r\n\r\n render(this._componentElement, this._dropdownList);\r\n\r\n if (!this._currentValue && this._newItemValue) {\r\n this._currentValue = this._newItemValue;\r\n this.handleChange();\r\n }\r\n\r\n this._updateValue();\r\n\r\n if (0 < this._data.length) {\r\n this._updateData(this._data);\r\n }\r\n if (this._dataUrl && this._limit === list.ITEMS_UNLIMITED) {\r\n this._getDataByUrl();\r\n }\r\n }\r\n\r\n _initCustomLookUpComponent() {\r\n if (!this._newItemValue) {\r\n return;\r\n }\r\n\r\n this._customLookUpComponent = createHtmlElement('div', { class: 'input-group' });\r\n this._customLookUpComponent.innerHTML = (\r\n '' +\r\n '' +\r\n '' +\r\n ''\r\n );\r\n render(this._componentElement, this._customLookUpComponent);\r\n\r\n render(this._dropdownList, this._createItem(this._newItemValue));\r\n render(this._dropdownList, createHtmlElement('li', { class: 'divider' }));\r\n\r\n this._setDisabled(this._disabled);\r\n }\r\n\r\n _setDisabled(disabled) {\r\n this._disabled = disabled;\r\n\r\n if (this._customLookUpComponent) {\r\n this._customLookUpComponent.style['pointer-events'] = disabled ? 'none' : null;\r\n this._customLookUpComponent.querySelector('.input-group input').disabled = disabled;\r\n this._customLookUpComponent.querySelector('.input-group .btn.dropdown-toggle').disabled = disabled;\r\n }\r\n }\r\n\r\n disable() {\r\n this._setDisabled(true);\r\n }\r\n\r\n enable() {\r\n this._setDisabled(false);\r\n }\r\n\r\n _getDataByUrl(filter) {\r\n this._emptyElement.querySelector('div').innerHTML = this.lmsg('loading');\r\n this._filter = filter;\r\n api.get(prepareUrl(this._dataUrl), {\r\n filter,\r\n limit: this._limit,\r\n ...this._lookUpParams,\r\n })\r\n .then(response => {\r\n if (filter !== this._filter) {\r\n return;\r\n }\r\n\r\n this._emptyElement.querySelector('div').innerHTML = this.lmsg('nothingFound');\r\n if ('error' === response.status) {\r\n return;\r\n }\r\n\r\n this._data = response.data;\r\n this._updateData(this._data);\r\n this._selectResults(filter, response.itemsCount - this._data.length);\r\n });\r\n }\r\n\r\n isEmpty() {\r\n return null === this._currentValue;\r\n }\r\n\r\n getValue() {\r\n return this._currentValue ? this._currentValue.id : null;\r\n }\r\n\r\n getItemValue() {\r\n return this._currentValue ? this._currentValue : null;\r\n }\r\n\r\n getDisplayValue() {\r\n return this._currentValue ? this._currentValue.title : '';\r\n }\r\n\r\n _openList(showAll) {\r\n this._componentElement.classList.add('open');\r\n this._lookUpButton.querySelector('i').classList.remove('icon-form-control-search');\r\n this._lookUpButton.querySelector('i').classList.add('icon-form-control-clear');\r\n this._fixDropdownPosition();\r\n\r\n const filter = showAll ? '' : this._inputField.value.toLocaleLowerCase();\r\n if (this._dataUrl && this._limit !== list.ITEMS_UNLIMITED) {\r\n this._emptyElement.querySelector('div').innerHTML = this.lmsg('loading');\r\n if (this._getDataTask) {\r\n clearTimeout(this._getDataTask);\r\n }\r\n this._getDataTask = setTimeout(function () {\r\n this._getDataByUrl(filter);\r\n }.bind(this), 250);\r\n } else {\r\n this._selectResults(filter);\r\n }\r\n }\r\n\r\n _closeList() {\r\n this._updateValue();\r\n this._componentElement.classList.remove('open');\r\n this._lookUpButton.querySelector('i').classList.add('icon-form-control-search');\r\n this._lookUpButton.querySelector('i').classList.remove('icon-form-control-clear');\r\n }\r\n\r\n _updateValue() {\r\n this._valueField.value = this._currentValue ? (this._copyTitleValue ? this._currentValue.title : this._currentValue.id) : '';\r\n this._inputField.value = this._currentValue && !(this._newItemValue && this._currentValue.id === this._newItemValue.id) ? this._currentValue.title : '';\r\n if (this._newItemValue) {\r\n this._componentElement.querySelector('.input-group input').value = this._currentValue ? this._currentValue.title : '';\r\n }\r\n }\r\n\r\n _selectResults(filter, itemsCount) {\r\n let itemsFound = 0;\r\n this._dropdownList.querySelectorAll('li').forEach(item => {\r\n if (!item._item) {\r\n return;\r\n }\r\n if (this._newItemValue && this._newItemValue.id === item._item.id) {\r\n if (this._currentValue && this._currentValue.id === this._newItemValue.id) {\r\n item.style.display = 'none';\r\n item.nextElementSibling.style.display = 'none';\r\n } else {\r\n item.style.display = '';\r\n item.nextElementSibling.style.display = '';\r\n }\r\n return;\r\n }\r\n item.classList.remove('active');\r\n const itemLink = item.querySelector('a');\r\n let itemData = stripTags(itemLink.innerHTML);\r\n const pos = itemData.toLowerCase().indexOf(filter);\r\n if (-1 !== pos) {\r\n itemsFound++;\r\n if (itemsFound <= this._limit) {\r\n item.style.display = '';\r\n itemData = `${\r\n itemData.substr(0, pos)\r\n }${\r\n itemData.substr(pos, filter.length)\r\n }${\r\n itemData.substr(pos + filter.length)\r\n }`;\r\n } else {\r\n item.style.display = 'none';\r\n }\r\n } else {\r\n item.style.display = 'none';\r\n }\r\n itemLink.innerHTML = itemData;\r\n });\r\n\r\n this._emptyElement.style.display = itemsFound ? 'none' : '';\r\n if (itemsFound) {\r\n const visibleItems = [...this._dropdownList.querySelectorAll('li')].filter(el => el.style.display !== 'none');\r\n if (visibleItems.length) {\r\n visibleItems[0].classList.add('active');\r\n }\r\n }\r\n\r\n itemsFound += itemsCount || 0;\r\n\r\n if (this._searchMoreElement) {\r\n if (itemsFound > this._limit) {\r\n this._searchMoreElement.querySelector('div').innerHTML = this._getSearchMoreText(itemsFound - this._limit);\r\n this._searchMoreElement.style.display = '';\r\n this._searchMoreElement.previousElementSibling.style.display = '';\r\n } else {\r\n this._searchMoreElement.style.display = 'none';\r\n this._searchMoreElement.previousElementSibling.style.display = 'none';\r\n }\r\n }\r\n\r\n this._fixDropdownPosition();\r\n }\r\n\r\n _addEvents() {\r\n if (this._disabled) {\r\n return;\r\n }\r\n\r\n super._addEvents();\r\n\r\n if (this._customLookUpComponent) {\r\n this._customLookUpComponent.addEventListener('click', event => {\r\n event.preventDefault();\r\n Tooltip.hide();\r\n if (this._componentElement.classList.contains('open')) {\r\n this._inputField.blur();\r\n } else {\r\n this._openList(true);\r\n this._inputField.focus();\r\n }\r\n });\r\n } else {\r\n this._inputField.addEventListener('focus', this._inputOnFocus.bind(this));\r\n }\r\n this._inputField.addEventListener('paste', this._inputOnPaste.bind(this));\r\n this._inputField.addEventListener('blur', this._inputOnBlur.bind(this));\r\n this._inputField.addEventListener('keyup', this._inputOnKeyUp.bind(this));\r\n this._inputField.addEventListener('keydown', this._inputOnKeyDown.bind(this));\r\n this._lookUpButton.addEventListener('click', this._lookUpButtonOnClick.bind(this));\r\n }\r\n\r\n _inputOnFocus() {\r\n this._openList(true);\r\n }\r\n\r\n _inputOnBlur() {\r\n // workaround for Google Chrome\r\n setTimeout(() => {\r\n this._closeList();\r\n }, 300);\r\n }\r\n\r\n _inputOnPaste() {\r\n setTimeout(() => {\r\n this._openList();\r\n const activeItem = this._dropdownList.querySelector('li.active');\r\n if (activeItem) {\r\n this._currentValue = activeItem._item;\r\n this._updateValue();\r\n }\r\n }, 300);\r\n }\r\n\r\n _inputOnKeyUp(event) {\r\n if ([UP_ARROW, DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, ESC].indexOf(event.keyCode) !== -1) {\r\n return;\r\n }\r\n\r\n this._openList();\r\n }\r\n\r\n _inputOnKeyDown(event) {\r\n if ([UP_ARROW, DOWN_ARROW].indexOf(event.keyCode) !== -1) {\r\n this._onArrowKeyPressed(event.keyCode);\r\n }\r\n\r\n if (ESC === event.keyCode) {\r\n this._closeList();\r\n }\r\n\r\n if (ENTER === event.keyCode) {\r\n const activeItem = this._dropdownList.querySelector('li.active');\r\n if (activeItem) {\r\n this._currentValue = activeItem._item;\r\n this._closeList();\r\n this.handleChange();\r\n } else {\r\n this._closeList();\r\n this._openList();\r\n }\r\n }\r\n }\r\n\r\n _onArrowKeyPressed(keyCode) {\r\n let nextItem = null;\r\n const activeItem = this._dropdownList.querySelector('li.active');\r\n if (!activeItem) {\r\n nextItem = this._dropdownList.querySelector('li');\r\n while (nextItem && !(nextItem.style.display !== 'none' && nextItem._item)) {\r\n nextItem = nextItem.nextElementSibling;\r\n }\r\n } else if (DOWN_ARROW === keyCode) {\r\n nextItem = activeItem.nextElementSibling;\r\n while (nextItem && !(nextItem.style.display !== 'none' && nextItem._item)) {\r\n nextItem = nextItem.nextElementSibling;\r\n }\r\n } else if (UP_ARROW === keyCode) {\r\n nextItem = activeItem.previousElementSibling;\r\n while (nextItem && !(nextItem.style.display !== 'none' && nextItem._item)) {\r\n nextItem = nextItem.previousElementSibling;\r\n }\r\n }\r\n if (nextItem && nextItem.style.display !== 'none' && nextItem._item) {\r\n nextItem.classList.add('active');\r\n if (activeItem) {\r\n activeItem.classList.remove('active');\r\n }\r\n this._scrollDropdownList();\r\n }\r\n }\r\n\r\n _scrollDropdownList() {\r\n const firstItem = this._dropdownList.querySelector('li.dropdown-menu-list-item');\r\n const activeItem = this._dropdownList.querySelector('li.active');\r\n\r\n if (!firstItem || !activeItem) {\r\n return;\r\n }\r\n\r\n const position = Math.round(activeItem.offsetTop / firstItem.offsetHeight) + 1;\r\n const itemsInFrame = Math.round(this._dropdownList.clientHeight / firstItem.offsetHeight);\r\n\r\n this.frameStart = this.frameStart || 1;\r\n\r\n if (position >= this.frameStart + itemsInFrame) {\r\n this._dropdownList.scrollTop += firstItem.offsetHeight;\r\n this.frameStart++;\r\n } else if (position <= this.frameStart) {\r\n this._dropdownList.scrollTop -= firstItem.offsetHeight;\r\n this.frameStart--;\r\n }\r\n }\r\n\r\n _lookUpButtonOnClick(event) {\r\n event.preventDefault();\r\n\r\n if (this._componentElement.classList.contains('open')) {\r\n this._closeList();\r\n } else {\r\n this._openList(true);\r\n }\r\n }\r\n\r\n _itemOnClick(event) {\r\n event.preventDefault();\r\n this._currentValue = event.target.closest('li')._item;\r\n this._closeList();\r\n this.handleChange();\r\n }\r\n\r\n _itemOnOver() {\r\n this._dropdownList.querySelectorAll('li.active').forEach(element => {\r\n element.classList.remove('active');\r\n });\r\n }\r\n\r\n _createItem(item) {\r\n const listItem = createHtmlElement('li', { class: 'dropdown-menu-list-item' });\r\n listItem.innerHTML = `${escapeHtml(item.title)}`;\r\n listItem._item = item;\r\n listItem.addEventListener('click', this._itemOnClick.bind(this));\r\n listItem.addEventListener('mouseover', this._itemOnOver.bind(this));\r\n\r\n return listItem;\r\n }\r\n\r\n _getSearchMoreText(count) {\r\n return this.lmsg('moreObjectsAvailable', { count });\r\n }\r\n\r\n _updateData(data) {\r\n this._clearData();\r\n\r\n data.forEach(item => {\r\n render(this._dropdownList, this._createItem(item));\r\n });\r\n\r\n this._addSearchMoreElement();\r\n }\r\n\r\n _clearData() {\r\n let el;\r\n while ((el = this._emptyElement.nextSibling)) {\r\n el.parentNode.removeChild(el);\r\n }\r\n }\r\n\r\n _addSearchMoreElement() {\r\n this._searchMoreElement = document.createElement('li');\r\n this._searchMoreElement.innerHTML = '
            ';\r\n this._searchMoreElement.style.display = 'none';\r\n\r\n render(this._dropdownList, '
          • ');\r\n render(this._dropdownList, this._searchMoreElement);\r\n }\r\n\r\n _fixDropdownPosition() {\r\n this._dropdownList.style[isRtl() ? 'right' : 'left'] = null;\r\n\r\n const windowWidth = document.documentElement.clientWidth;\r\n const offsets = this._dropdownList.getBoundingClientRect();\r\n\r\n const delta = (isRtl() ? offsets.left : (windowWidth - offsets.width - offsets.left))\r\n - parseInt(window.getComputedStyle(document.querySelector('.pul-layout__main-inner')).paddingLeft || 0);\r\n\r\n if (delta < 0) {\r\n this._dropdownList.style[isRtl() ? 'right' : 'left'] = `${delta}px`;\r\n }\r\n }\r\n\r\n handleChange() {\r\n fireCustomEvent(this._componentElement, 'component:change');\r\n\r\n const onChange = this._getConfigParam('onChange');\r\n if (typeof onChange === 'function') {\r\n onChange(this._currentValue);\r\n }\r\n }\r\n}\r\n\r\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\r\nLookUp.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n/**\r\n * This is part of public Jsw API. Don't modify it!\r\n */\r\n\r\nexport { default as List } from './List';\r\nexport { default as ListContextMenu } from './ListContextMenu';\r\n\r\nimport AdditionalActions from './AdditionalActions';\r\nimport { COLUMN_SELECTION, COLUMN_ACTIONS, ITEMS_UNLIMITED } from './constants';\r\n\r\nexport const list = {\r\n COLUMN_SELECTION,\r\n COLUMN_ACTIONS,\r\n ITEMS_UNLIMITED,\r\n AdditionalActions,\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport Cookie from 'common/cookie';\r\nimport { Component, getComponent } from '../component';\r\nimport { Tooltip } from '../tooltip';\r\nimport { bar } from '../bar';\r\nimport { SmallTools } from '../small-tools';\r\nimport { messageBox } from '../message-box';\r\nimport { DropdownManager } from '../dropdown-manager';\r\nimport createComponent from '../createComponent';\r\nimport addStatusMessage from '../addStatusMessage';\r\nimport clearStatusMessages from '../clearStatusMessages';\r\nimport showInternalError from '../showInternalError';\r\nimport prepareUrl from '../prepareUrl';\r\nimport addUrlParams from '../addUrlParams';\r\nimport render from '../render';\r\nimport createElement from '../createElement';\r\nimport escapeHtml from '../escapeHtml';\r\nimport emptyFn from '../emptyFn';\r\nimport { redirect } from '../form-redirect';\r\nimport Filters from './Filters';\r\nimport ListContextMenu from './ListContextMenu';\r\nimport { COLUMN_ACTIONS, COLUMN_SELECTION, ITEMS_UNLIMITED } from './constants';\r\nimport stripTags from 'helpers/stripTags';\r\nimport api from '../api';\r\n\r\nimport './List.less';\r\n\r\n/**\r\n * The class for the implementation of the widget \"List\". In addition to displaying the data,\r\n * it is possible to change the sorting, search, perform group operations.\r\n */\r\nclass List extends Component {\r\n /**\r\n * @cfg {String} listCls=list\r\n */\r\n /**\r\n * @cfg {String} dataUrl=\"\"\r\n */\r\n /**\r\n * @cfg {Object[]} operations List operations.\r\n * See SmallTools.operations for details.\r\n */\r\n /**\r\n * @cfg {Object[]} columns\r\n */\r\n /**\r\n * @cfg {Object[]} itemActions\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._cls += ' js-list';\r\n this._listCls = this._getConfigParam('listCls', 'list');\r\n this._tableId = `${this._id}-table`;\r\n this._dataUrl = this._getConfigParam('dataUrl', '');\r\n this._operations = this._getConfigParam('operations', null);\r\n this._itemActions = this._getConfigParam('itemActions', {});\r\n this._columns = this._getConfigParam('columns', []).filter(Boolean);\r\n this._limitValues = this._getConfigParam('limitValues', [10, 25, 100, ITEMS_UNLIMITED]);\r\n this._splitListData(this._getConfigParam('data', { data: null, pathbar: null, state: null, pager: null, locale: null, additional: null }));\r\n this._searchFilters = $H(this._getConfigParam('searchFilters', {}));\r\n this._searchOveral = this._getConfigParam('searchOveral', null);\r\n this._pageable = this._getConfigParam('pageable', true);\r\n /** @deprecated use renderDisabledSelectHint instead */\r\n this._disabledSelectHint = this._getConfigParam('disabledSelectHint', '');\r\n this._renderDisabledSelectHint = this._getConfigParam('renderDisabledSelectHint', null);\r\n this._clearStatusOnReload = this._getConfigParam('clearStatusOnReload', true);\r\n this.isDisabledItem = this._getConfigParam('isDisabledItem', () => false);\r\n this._onRedraw = this._getConfigParam('onRedraw', emptyFn);\r\n this._emptyViewMode = this._getConfigParam('emptyViewMode', 'items');\r\n this._getTotalInfo = this._getConfigParam('getTotalInfo', function () {\r\n return this.getLocale().formatMessage('recordsTotal', { total: this._pager.totalItemCount });\r\n });\r\n this._getRowClass = this._getConfigParam('getRowClass', function () {\r\n return '';\r\n });\r\n\r\n if (Array.isArray(this._operations)) {\r\n this._operations = this._operations.filter(value => value !== null);\r\n if (!this._operations.length) {\r\n this._operations = null;\r\n }\r\n }\r\n }\r\n\r\n _getSearchOveralField() {\r\n if (null === this._searchOveral) {\r\n this._searchFilters.each(function (pair) {\r\n if (pair.value.overal) {\r\n this._searchOveral = pair.key;\r\n }\r\n }, this);\r\n if (null === this._searchOveral && 1 === this._searchFilters.keys().length) {\r\n this._searchOveral = this._searchFilters.keys()[0];\r\n }\r\n if (null === this._searchOveral) {\r\n this._searchOveral = false;\r\n }\r\n }\r\n\r\n return this._searchOveral;\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._updateComponentElement(`
            `);\r\n this._initDisablerOverlay();\r\n }\r\n\r\n _splitListData(listData, place) {\r\n if (!listData || !listData.data) {\r\n return false;\r\n }\r\n\r\n const dataLen = listData.data.length;\r\n if ('before' === place) {\r\n this._data = listData.data.concat(this._data);\r\n } else if ('after' === place) {\r\n this._data = this._data.concat(listData.data);\r\n } else {\r\n this._data = listData.data;\r\n }\r\n this._state = listData.state || {};\r\n this._pager = listData.pager || {};\r\n if (listData.locale) {\r\n this._locale.messages = { ...this._locale.messages, ...listData.locale };\r\n }\r\n if (listData.pathbar) {\r\n this._pathbar = listData.pathbar;\r\n }\r\n if (listData.additional) {\r\n this._additionalData = { ...this._additionalData, ...listData.additional };\r\n }\r\n return dataLen;\r\n }\r\n\r\n _isColumnSelectionPresent() {\r\n return this._getColumns().includes(COLUMN_SELECTION);\r\n }\r\n\r\n /**\r\n * @param {String} dataIndex\r\n */\r\n onHeaderClick(dataIndex) {\r\n this._state.sortField = dataIndex;\r\n this._state.sortDirection = ('down' === this._state.sortDirection)\r\n ? 'up'\r\n : 'down';\r\n\r\n this.reload(`/sort-field/${dataIndex}/sort-dir/${this._state.sortDirection}`);\r\n }\r\n\r\n /**\r\n * @param {Boolean} [force]\r\n */\r\n updateFilter(force) {\r\n if (!document.getElementById(this._tableId)) {\r\n this.checkEmptyList();\r\n return;\r\n }\r\n let filterChanged = false;\r\n let hasFilter = false;\r\n this._getColumns()\r\n .filter(({ isVisible }) => 'function' !== typeof isVisible || isVisible())\r\n .forEach(column => {\r\n if (!column.filter || !column.filter.type) {\r\n return;\r\n }\r\n\r\n let input;\r\n if (column.filter.options) {\r\n if (column.filter.multi) {\r\n input = this._componentElement.querySelector(`th[data-index=\"${column.dataIndex}\"]`).querySelectorAll('input[type=checkbox]:checked');\r\n } else {\r\n input = this._componentElement.querySelector(`th[data-index=\"${column.dataIndex}\"] select`);\r\n }\r\n } else {\r\n input = this._componentElement.querySelector(`th[data-index=\"${column.dataIndex}\"] input`);\r\n }\r\n if (!input) {\r\n column.filter.value = '';\r\n return;\r\n }\r\n\r\n hasFilter = true;\r\n\r\n let value;\r\n if (column.filter.multi) {\r\n value = [];\r\n input.forEach(function (el) {\r\n value.push(el.value.toLowerCase());\r\n });\r\n if (value.length === column.filter.options.length) {\r\n value = [];\r\n }\r\n } else {\r\n value = input.value.toLowerCase();\r\n }\r\n if (value === column.filter.value) {\r\n return;\r\n }\r\n\r\n column.filter.value = value;\r\n filterChanged = true;\r\n });\r\n\r\n if (!hasFilter || (!force && !filterChanged)) {\r\n this.checkEmptyList();\r\n return;\r\n }\r\n let oddEvenRowClass = 'even';\r\n document.getElementById(this._tableId).querySelectorAll('tr.odd, tr.even').forEach((row, rowIndex) => {\r\n const cells = row.childNodes;\r\n let match = true;\r\n\r\n this._getColumns()\r\n .filter(({ isVisible }) => 'function' !== typeof isVisible || isVisible())\r\n .forEach((column, columnIndex) => {\r\n const value = this._data[rowIndex][column.dataIndex];\r\n if (cells[columnIndex]._filtered) {\r\n if (column.noEscape) {\r\n cells[columnIndex].innerHTML = value;\r\n } else {\r\n cells[columnIndex].innerHTML = escapeHtml(value);\r\n }\r\n delete cells[columnIndex]._filtered;\r\n }\r\n\r\n if (!match || !column.filter || !column.filter.type || 0 === column.filter.value.length) {\r\n return;\r\n }\r\n\r\n if (column.filter.type === 'date') {\r\n if (new Date(value.replace(/ /g, 'T')) < new Date(column.filter.value.replace(/ /g, 'T'))) {\r\n match = false;\r\n }\r\n return;\r\n }\r\n\r\n if (column.filter.options) {\r\n if (column.filter.multi) {\r\n if (column.filter.value.indexOf(value.toLowerCase()) === -1) {\r\n match = false;\r\n }\r\n } else if (value.toLowerCase() !== column.filter.value) {\r\n match = false;\r\n }\r\n return;\r\n }\r\n\r\n const pos = value.toLowerCase().indexOf(column.filter.value);\r\n\r\n if (pos === -1 || (column.filter.startsWith && pos !== 0)) {\r\n match = false;\r\n return;\r\n }\r\n\r\n if (column.noEscape) {\r\n cells[columnIndex].innerHTML = `${value.substr(0, pos)\r\n }${\r\n value.substr(pos, column.filter.value.length)\r\n }${\r\n value.substr(pos + column.filter.value.length)}`;\r\n } else {\r\n cells[columnIndex].innerHTML = `${escapeHtml(value.substr(0, pos))\r\n }${\r\n escapeHtml(value.substr(pos, column.filter.value.length))\r\n }${\r\n escapeHtml(value.substr(pos + column.filter.value.length))}`;\r\n }\r\n cells[columnIndex]._filtered = true;\r\n });\r\n\r\n if (match) {\r\n row.classList.remove(oddEvenRowClass);\r\n oddEvenRowClass = oddEvenRowClass === 'odd' ? 'even' : 'odd';\r\n row.classList.add(oddEvenRowClass);\r\n row.style.display = '';\r\n } else {\r\n row.style.display = 'none';\r\n }\r\n });\r\n this.checkEmptyList();\r\n }\r\n\r\n /**\r\n * @param {String} value\r\n */\r\n onLimitClick(value) {\r\n this.reload({ 'items-per-page': value });\r\n }\r\n\r\n /**\r\n * @param {String} page\r\n */\r\n onPagerClick(page) {\r\n this.reload({ page });\r\n }\r\n\r\n handleSelectButtonClick = () => {\r\n const globalCheckbox = this._componentElement.querySelector('input[name=\"listGlobalCheckbox\"]');\r\n globalCheckbox.checked = !globalCheckbox.checked;\r\n this.onListGlobalCheckboxClick();\r\n };\r\n\r\n onListGlobalCheckboxClick() {\r\n const actionsBox = this._getActionBoxElement();\r\n const globalCheckbox = this._componentElement.querySelector('input[name=\"listGlobalCheckbox\"]');\r\n\r\n if (actionsBox) {\r\n const selectButton = actionsBox.querySelector('.r-actions-select');\r\n if (selectButton) {\r\n if (globalCheckbox.checked) {\r\n selectButton.classList.add('r-actions-item-active');\r\n } else {\r\n selectButton.classList.remove('r-actions-item-active');\r\n }\r\n }\r\n }\r\n\r\n this._componentElement.querySelectorAll('input[name=\"listCheckbox[]\"]').forEach(checkbox => {\r\n if (globalCheckbox.checked) {\r\n checkbox.closest('tr').classList.add('selected');\r\n } else {\r\n checkbox.closest('tr').classList.remove('selected');\r\n }\r\n checkbox.checked = globalCheckbox.checked;\r\n });\r\n }\r\n\r\n onPagerButtonClick(event) {\r\n const paging = this._componentElement.querySelector('.paging');\r\n const show = !paging.classList.contains('r-paging-visible');\r\n if (this._actionBox) {\r\n this._actionBox._hideResponsiveButtonBlocks();\r\n }\r\n if (show) {\r\n paging.classList.add('r-paging-visible');\r\n }\r\n event.stopPropagation();\r\n }\r\n\r\n listHeadersView() {\r\n const headers = [];\r\n const filters = [];\r\n let hasFilter = false;\r\n let colspan = 0;\r\n\r\n this._getColumns().forEach(column => {\r\n if (colspan) {\r\n colspan--;\r\n return;\r\n }\r\n\r\n if ('function' === typeof column.isVisible) {\r\n if (!column.isVisible()) {\r\n return;\r\n }\r\n }\r\n\r\n if (column.headerColspan) {\r\n colspan = column.headerColspan;\r\n }\r\n\r\n let { header } = column;\r\n\r\n let headerCls = column.headerCls ? `.${column.headerCls}` : '';\r\n\r\n if ('undefined' !== typeof column.headerRenderer) {\r\n header = column.headerRenderer(column);\r\n } else {\r\n let sortCssClass = '';\r\n if (this._state.sortField === column.dataIndex) {\r\n sortCssClass = 'down' === this._state.sortDirection ? '' : '.sort-up';\r\n headerCls += '.sort';\r\n }\r\n\r\n if (column.sortable) {\r\n header = createElement(`a${sortCssClass}`, { onclick: this.onHeaderClick.bind(this, column.dataIndex) }, header);\r\n }\r\n }\r\n headers.push(createElement(`th${headerCls}${colspan ? `[colspan=\"${colspan}\"]` : ''}`, { ...column.headerParams }, header));\r\n\r\n let filter = '';\r\n if (column.filter) {\r\n hasFilter = true;\r\n filter = Filters.create({\r\n name: column.dataIndex,\r\n locale: this.getLocale(),\r\n ...column.filter,\r\n }, this.updateFilter.bind(this, false));\r\n }\r\n filters.push(createElement('th', { 'data-index': column.dataIndex }, filter));\r\n });\r\n\r\n return createElement('thead',\r\n hasFilter ? createElement('tr.list-search-filter', filters) : '',\r\n createElement('tr', headers),\r\n );\r\n }\r\n\r\n listDataView(listData = this._data, indexOffset = 0) {\r\n if (!listData) {\r\n return null;\r\n }\r\n\r\n return createElement('tbody',\r\n Object.keys(listData).map(index => this.rowView(listData[index], index, indexOffset)),\r\n );\r\n }\r\n\r\n rowView(item, index, indexOffset) {\r\n const columns = this._getColumns()\r\n .filter(column => 'function' !== typeof column.isVisible || column.isVisible())\r\n .map(column => {\r\n let cell = null;\r\n\r\n if (typeof column.renderer === 'function') {\r\n const isDisabled = this.isDisabledItem(item);\r\n\r\n if (!isDisabled || !column.hideDisabled) {\r\n cell = column.renderer.call(this, item, isDisabled);\r\n }\r\n } else if ('undefined' !== typeof column.dataIndex && 'undefined' !== typeof item[column.dataIndex]) {\r\n if (column.noEscape) {\r\n cell = item[column.dataIndex];\r\n } else {\r\n cell = escapeHtml(item[column.dataIndex]);\r\n }\r\n }\r\n\r\n return createElement('td', {\r\n class: column.cls,\r\n }, cell);\r\n });\r\n\r\n return createElement(`tr.${this._getRowClass(item)}.${(index + indexOffset) % 2 ? 'even' : 'odd'}`, {\r\n 'data-row-id': item.id,\r\n }, columns);\r\n }\r\n\r\n listView() {\r\n return createElement(`.${this._listCls}`,\r\n createElement(`table#${this._tableId}[width=\"100%\"][cellspacing=\"0\"]`,\r\n this.listHeadersView(),\r\n this.listDataView(),\r\n ),\r\n );\r\n }\r\n\r\n containerView() {\r\n return createElement(`#${this._id}-container`,\r\n this._getActionBox(),\r\n this._getPathbarHtml(),\r\n this._getPagerHtml(),\r\n this.listView(),\r\n this._getPagerHtml(),\r\n this.emptyViewContainer(),\r\n );\r\n }\r\n\r\n checkEmptyList() {\r\n const isEmpty = this.isListEmpty();\r\n this._componentElement.querySelectorAll('.js-empty-list').forEach(element => {\r\n element.style.display = isEmpty ? '' : 'none';\r\n });\r\n this._componentElement.querySelectorAll('.paging').forEach(element => {\r\n element.style.display = isEmpty ? 'none' : '';\r\n });\r\n const listSelector = this._listCls.split(' ').reduce((previousValue, currentValue) => {\r\n if (currentValue !== '') {\r\n previousValue += `.${currentValue}`;\r\n }\r\n return previousValue;\r\n }, '');\r\n this._componentElement.querySelectorAll(listSelector).forEach(element => {\r\n element.style.display = isEmpty ? 'none' : '';\r\n });\r\n }\r\n\r\n isFiltered() {\r\n return Object.values(this._state?.searchFilters || {}).some(({ searchText }) => searchText);\r\n }\r\n\r\n isListEmpty() {\r\n if (!document.getElementById(this._tableId)) {\r\n return !this._data.length;\r\n }\r\n return ![...document.getElementById(this._tableId).querySelectorAll('tr.odd, tr.even')].filter(element => element.style.display !== 'none').length;\r\n }\r\n\r\n _getActionBox() {\r\n if (!this._operations && !this._searchFilters.keys().length) {\r\n return null;\r\n }\r\n\r\n if (!this.isFiltered() && this.isListEmpty() && this._emptyViewMode === 'all') {\r\n return null;\r\n }\r\n\r\n if (this._state.forceShowSearch) {\r\n Cookie.set(`${this._id}-search-show`, 'true');\r\n }\r\n\r\n this._actionBox = new SmallTools({\r\n locale: this.getLocale(),\r\n operationsId: `${this._id}-operations`,\r\n operations: this._getOperations(),\r\n listId: this._id,\r\n searchFilters: this._searchFilters,\r\n searchFiltersState: this._state.searchFilters,\r\n searchOveral: this._searchOveral,\r\n searchHandler: this._onSearchClick.bind(this),\r\n resetSearchHandler: this._onResetSearchClick.bind(this),\r\n searchCollapsed: 'true' !== Cookie.get(`${this._id}-search-show`),\r\n onToggleSearch: collapsed => {\r\n Cookie.set(`${this._id}-search-show`, !collapsed);\r\n this._hideItemsNotSelectedWarning();\r\n },\r\n quickSearchInputId: `${this._id}-search-text-${this._getSearchOveralField()}`,\r\n });\r\n\r\n return this._actionBox;\r\n }\r\n\r\n _getActionBoxElement() {\r\n return this._componentElement.querySelector('.actions-box');\r\n }\r\n\r\n _getPathbarHtml() {\r\n if (!this._pathbar) {\r\n return '';\r\n }\r\n\r\n return `
            `;\r\n }\r\n\r\n _getPagerHtml() {\r\n return this._pageable ? (\r\n createElement('.paging',\r\n createElement('.paging-area',\r\n createElement('span.paging-info', { onclick: e => this.onPagerButtonClick(e) }, this._getTotalInfo()),\r\n createElement('span.paging-view', this.lmsg('numberOfItemPerPage'), ': ', this._getLimitValuesHtml()),\r\n this._pager.pageCount > 1 ? createElement('span.paging-nav', this.lmsg('pages'), ': ', this._getPagesItemsHtml()) : null,\r\n ),\r\n )\r\n ) : null;\r\n }\r\n\r\n _getLimitValuesHtml() {\r\n const result = [];\r\n this._limitValues.forEach((limitValue, index) => {\r\n const limitValueTitle = (ITEMS_UNLIMITED === limitValue)\r\n ? this.lmsg('allItems')\r\n : limitValue;\r\n\r\n if (index > 0) {\r\n result.push(' ');\r\n }\r\n result.push(this._pager.itemCountPerPage !== limitValue ? (\r\n createElement('a', { onclick: () => this.onLimitClick(limitValue) }, limitValueTitle)\r\n ) : (\r\n createElement('span', limitValueTitle)\r\n ));\r\n });\r\n return result;\r\n }\r\n\r\n _getPagesItemsHtml() {\r\n const result = [];\r\n\r\n if (this._pager.first !== this._pager.current) {\r\n result.push(createElement('a', { onclick: () => this.onPagerClick(this._pager.first) }, this.lmsg('firstPage')));\r\n } else {\r\n result.push(createElement('span', this.lmsg('firstPage')));\r\n }\r\n result.push(' ');\r\n\r\n if (this._pager.previous) {\r\n result.push(createElement('a', { onclick: () => this.onPagerClick(this._pager.previous) }, '<<'));\r\n } else {\r\n result.push(createElement('span', '<<'));\r\n }\r\n result.push(' ');\r\n\r\n $H(this._pager.pagesInRange).values().each(page => {\r\n if (page !== this._pager.current) {\r\n result.push(createElement('a', { onclick: () => this.onPagerClick(page) }, page));\r\n } else {\r\n result.push(page);\r\n }\r\n result.push(' ');\r\n });\r\n\r\n if (this._pager.next) {\r\n result.push(createElement('a', { onclick: () => this.onPagerClick(this._pager.next) }, '>>'));\r\n } else {\r\n result.push(createElement('span', '>>'));\r\n }\r\n result.push(' ');\r\n\r\n if (this._pager.last !== this._pager.current) {\r\n result.push(createElement('a', { onclick: () => this.onPagerClick(this._pager.last) }, this.lmsg('lastPage')));\r\n } else {\r\n result.push(createElement('span', this.lmsg('lastPage')));\r\n }\r\n\r\n return result;\r\n }\r\n\r\n emptyViewContainer() {\r\n return createElement('.js-empty-list.empty-list',\r\n this.isFiltered() ? createElement('p.text-muted', this.lmsg('noEntriesFound')) : this.emptyView(),\r\n );\r\n }\r\n\r\n emptyView() {\r\n return this._getConfigParam('emptyView', createElement('p.text-muted', this.lmsg('noEntries')));\r\n }\r\n\r\n _onSearchClick(form) {\r\n this.reload(`?${Form.serialize(form)}`);\r\n }\r\n\r\n _onResetSearchClick() {\r\n this.reload('/reset-search/true/');\r\n }\r\n\r\n _addSelectionHandlers() {\r\n let selectButton;\r\n\r\n const rActionsList = this._componentElement.querySelector('.actions-box .r-actions-list');\r\n if (rActionsList) {\r\n selectButton = new Element('li', { class: 'r-actions-item r-actions-select' });\r\n selectButton.innerHTML = '';\r\n selectButton.addEventListener('click', event => {\r\n event.stopPropagation();\r\n this.handleSelectButtonClick();\r\n });\r\n render(rActionsList, selectButton, 'top');\r\n }\r\n\r\n const globalCheckbox = this._componentElement.querySelector('input[name=\"listGlobalCheckbox\"]');\r\n globalCheckbox.addEventListener('click', this.onListGlobalCheckboxClick.bind(this));\r\n\r\n this._componentElement.querySelectorAll('input[name=\"listCheckbox[]\"]').forEach(checkbox => {\r\n checkbox.addEventListener('click', () => {\r\n if (checkbox.checked) {\r\n checkbox.closest('tr').classList.add('selected');\r\n } else {\r\n checkbox.closest('tr').classList.remove('selected');\r\n globalCheckbox.checked = false;\r\n if (selectButton) {\r\n selectButton.classList.remove('r-actions-item-active');\r\n }\r\n }\r\n });\r\n });\r\n\r\n document.body.addEventListener('click', event => {\r\n if (event.target.closest('.actions-box')) {\r\n return;\r\n }\r\n\r\n this._hideItemsNotSelectedWarning();\r\n });\r\n document.body.addEventListener('touchstart', () => {\r\n this._hideItemsNotSelectedWarning();\r\n });\r\n }\r\n\r\n _addPathbar() {\r\n if (!this._pathbar) {\r\n return;\r\n }\r\n\r\n render(document.getElementById(`${this._id}-pathbar`), createComponent(this._pathbar));\r\n }\r\n\r\n disable() {\r\n this._disablerOverlay.style.display = '';\r\n }\r\n\r\n enable() {\r\n this._disablerOverlay.style.display = 'none';\r\n }\r\n\r\n getSelectedItemsIds() {\r\n return [...this._componentElement.querySelectorAll('input[name=\"listCheckbox[]\"]')]\r\n .filter(({ checked }) => checked)\r\n .map(({ value }) => value);\r\n }\r\n\r\n getSelectedItems() {\r\n const ids = [];\r\n const selectedItems = [];\r\n\r\n this.getSelectedItemsIds().forEach(function (id) {\r\n ids.push(id);\r\n });\r\n\r\n this._data.forEach(function (dataItem) {\r\n const itemIndex = ids.indexOf(dataItem.id.toString());\r\n if (itemIndex < 0) {\r\n return;\r\n }\r\n\r\n selectedItems.push(dataItem);\r\n });\r\n\r\n return selectedItems;\r\n }\r\n\r\n checkNonEmptySelection() {\r\n if (!this.getSelectedItemsIds().length) {\r\n this._showItemsNotSelectedWarning();\r\n return false;\r\n }\r\n this._hideItemsNotSelectedWarning();\r\n return true;\r\n }\r\n\r\n execLongGroupOperation(params, event) {\r\n let itemId;\r\n params.onSuccess = function () {\r\n const progressBar = getComponent('asyncProgressBarWrapper');\r\n progressBar.removePreparingItem(itemId);\r\n progressBar.update();\r\n };\r\n\r\n params.beforeSendRequest = function (sendRequest) {\r\n const beginOffset = Element.cumulativeOffset(event.target);\r\n itemId = getComponent('asyncProgressBarWrapper').fly(beginOffset,\r\n params.taskName,\r\n function () {\r\n sendRequest();\r\n });\r\n };\r\n\r\n this.execGroupOperation(params);\r\n }\r\n\r\n execGroupOperation(params) {\r\n const payload = params.payload || {};\r\n // workaround for $A(payload) called in extensions\r\n Object.defineProperty(payload, 'toArray', {\r\n value() {\r\n return Object.entries(this).map(([key, value]) => ({ key, value }));\r\n },\r\n });\r\n\r\n const idsParamName = params.submitVarName\r\n ? params.submitVarName\r\n : 'ids';\r\n\r\n const { toJsonPayload } = params;\r\n const selectedItems = params.selectedItems ? params.selectedItems : this.getSelectedItemsIds();\r\n selectedItems.forEach((id, index) => {\r\n if (toJsonPayload) {\r\n payload[idsParamName] ||= [];\r\n payload[idsParamName].push(id);\r\n } else {\r\n payload[`${idsParamName}[${index}]`] = id;\r\n }\r\n });\r\n\r\n if (params.checkSelection) {\r\n if (!params.checkSelection()) {\r\n return;\r\n }\r\n } else if (!selectedItems.length) {\r\n this._showItemsNotSelectedWarning();\r\n return;\r\n } else {\r\n this._hideItemsNotSelectedWarning();\r\n }\r\n\r\n const submit = this._submit;\r\n const sendRequestHandler = params.submitHandler\r\n ? params.submitHandler\r\n : (url, payload) => {\r\n const parameters = {\r\n method: 'post',\r\n parameters: payload,\r\n reloading: false,\r\n context: this,\r\n\r\n onSuccess: transport => {\r\n let response;\r\n try {\r\n response = JSON.parse(transport.responseText);\r\n } catch {\r\n showInternalError(transport.responseText);\r\n return;\r\n }\r\n if (response.redirect) {\r\n redirect(response.redirect);\r\n } else if (!response.noReload) {\r\n parameters.reloading = true;\r\n this.reload();\r\n }\r\n\r\n if (this._clearStatusOnReload) {\r\n clearStatusMessages();\r\n }\r\n response.statusMessages?.forEach(({ status, content }) => {\r\n addStatusMessage(status, content);\r\n });\r\n\r\n if (params.onSuccess) {\r\n params.onSuccess(response);\r\n }\r\n },\r\n\r\n onCreate: () => {\r\n this.disable();\r\n },\r\n\r\n onComplete: () => {\r\n if (!parameters.reloading) {\r\n this.enable();\r\n }\r\n },\r\n\r\n onFailure: req => {\r\n if (504 === req.status) {\r\n addStatusMessage('error', this.lmsg('timeoutMessage'));\r\n } else {\r\n showInternalError(req.responseText);\r\n }\r\n\r\n this.enable();\r\n },\r\n };\r\n\r\n submit(prepareUrl(url), parameters);\r\n };\r\n\r\n const sendRequest = function () {\r\n if (params.beforeSendRequest) {\r\n params.beforeSendRequest(() => {\r\n sendRequestHandler(params.url, payload);\r\n }, payload);\r\n } else {\r\n sendRequestHandler(params.url, payload);\r\n }\r\n };\r\n\r\n let { skipConfirmation } = params;\r\n const { mouseEvent } = params;\r\n\r\n if (mouseEvent && !skipConfirmation) {\r\n mouseEvent.preventDefault();\r\n skipConfirmation = mouseEvent.shiftKey;\r\n }\r\n\r\n if (skipConfirmation) {\r\n sendRequest();\r\n } else {\r\n params.confirmationPopup = params.confirmationPopup || this._confirmationPopup.bind(this, params, sendRequest);\r\n params.confirmationPopup(payload);\r\n }\r\n }\r\n\r\n _submit(url, params) {\r\n new Ajax.Request(url, params);\r\n }\r\n\r\n _confirmationPopup({\r\n getConfirmOnGroupOperation,\r\n text,\r\n description,\r\n subtype,\r\n needAttention = false,\r\n needAttentionText = '',\r\n needAttentionBlockSubmit = false,\r\n needAttentionOnChange = null,\r\n requestUrl,\r\n isAjax,\r\n loadingTitle,\r\n locale = {},\r\n }, onYesClick, requestParams) {\r\n messageBox.show({\r\n type: messageBox.TYPE_YESNO,\r\n buttonTitles: ['Yes', 'No', 'Wait'].reduce((titles, key) => {\r\n const buttonKey = `button${key}`;\r\n if (locale[buttonKey]) {\r\n titles[key.toLowerCase()] = locale[buttonKey];\r\n }\r\n return titles;\r\n }, {}),\r\n text: getConfirmOnGroupOperation ? getConfirmOnGroupOperation() : text || locale.confirmOnGroupOperation,\r\n description,\r\n subtype,\r\n needAttention,\r\n needAttentionText,\r\n needAttentionBlockSubmit,\r\n needAttentionOnChange,\r\n onYesClick,\r\n\r\n isAjax,\r\n requestUrl,\r\n requestParams,\r\n loadingTitle,\r\n });\r\n }\r\n\r\n _showItemsNotSelectedWarning() {\r\n this._hideItemsNotSelectedWarning();\r\n const element = this._getActionBoxElement()?.querySelector('.actions-msg-container');\r\n if (element) {\r\n element.style.display = '';\r\n } else {\r\n render(this._getActionBoxElement(), (\r\n '
            ' +\r\n `${this.lmsg('itemsNotSelected')}` +\r\n '
            '\r\n ), 'top');\r\n }\r\n this._itemsNotSelectedTimerId = setTimeout(() => {\r\n this._hideItemsNotSelectedWarning();\r\n }, 3000);\r\n }\r\n\r\n _hideItemsNotSelectedWarning() {\r\n clearTimeout(this._itemsNotSelectedTimerId);\r\n const element = this._getActionBoxElement()?.querySelector('.actions-msg-container');\r\n if (element) {\r\n element.style.display = 'none';\r\n }\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n document.body.addEventListener('click', () => {\r\n const paging = this._componentElement.querySelector('.paging');\r\n if (paging) {\r\n paging.classList.remove('r-paging-visible');\r\n }\r\n });\r\n }\r\n\r\n reload(urlParams, place) {\r\n urlParams = urlParams || '';\r\n\r\n if (!this._dataUrl) {\r\n return null;\r\n }\r\n\r\n let reloadUrl = addUrlParams(this._dataUrl, urlParams);\r\n\r\n if (this._additionalData && this._additionalData.controllerName) {\r\n reloadUrl = addUrlParams(reloadUrl, { controllerName: this._additionalData.controllerName });\r\n }\r\n if (this._additionalData && this._additionalData.actionName) {\r\n reloadUrl = addUrlParams(reloadUrl, { actionName: this._additionalData.actionName });\r\n }\r\n\r\n if (this._request) {\r\n this._request.abort();\r\n }\r\n\r\n this._request = new Ajax.Request(prepareUrl(reloadUrl), {\r\n method: 'get',\r\n onSuccess: this._onReloadSuccess.bind(this, place),\r\n onFailure: this._onReloadFailure.bind(this),\r\n onException: this._onReloadException.bind(this),\r\n onCreate: this._onReloadCreate.bind(this),\r\n onComplete: this._onReloadComplete.bind(this),\r\n });\r\n return this._request;\r\n }\r\n\r\n _onReloadSuccess(place, transport) {\r\n if (!transport.responseText) {\r\n // :INFO: sometimes happens in FF if you are go to other page during request\r\n return;\r\n }\r\n\r\n let data = {};\r\n try {\r\n data = JSON.parse(transport.responseText);\r\n } catch {\r\n showInternalError(transport.responseText);\r\n return;\r\n }\r\n if (data.redirect) {\r\n redirect(data.redirect);\r\n }\r\n const dataLen = this._splitListData(data, place);\r\n if (false === dataLen) {\r\n this.processReloadError(data);\r\n } else {\r\n this.redraw(place, dataLen);\r\n }\r\n }\r\n\r\n _onReloadFailure(transport) {\r\n showInternalError(transport.responseText);\r\n }\r\n\r\n _onReloadException(transport, exception) {\r\n showInternalError(`${exception}\\n${transport.responseText}`);\r\n }\r\n\r\n _onReloadCreate() {\r\n if (this._clearStatusOnReload) {\r\n clearStatusMessages();\r\n }\r\n this.disable();\r\n }\r\n\r\n _onReloadComplete() {\r\n this._request = null;\r\n this.enable();\r\n }\r\n\r\n _addDisabledCheckboxesHints() {\r\n const checkboxes = this._componentElement.querySelectorAll('input[type=\"checkbox\"][disabled]');\r\n\r\n checkboxes.forEach(checkbox => {\r\n new Tooltip.Instance(checkbox.previousSibling, { text: this._disabledSelectHint });\r\n });\r\n }\r\n\r\n _renderDisabledCheckboxesHints() {\r\n if (!this._renderDisabledSelectHint) {\r\n return;\r\n }\r\n\r\n this._data.forEach(item => {\r\n const hint = this._renderDisabledSelectHint(item);\r\n\r\n if (!hint) {\r\n return;\r\n }\r\n\r\n const row = document.getElementById(this._tableId).querySelector(`[data-row-id=\"${item.id}\"]`);\r\n const checkbox = row.querySelector('input[type=\"checkbox\"][disabled]');\r\n\r\n if (!checkbox) {\r\n return;\r\n }\r\n\r\n new Tooltip.Instance(checkbox.previousSibling, { text: hint });\r\n });\r\n }\r\n\r\n /**\r\n * @param {String} [place]\r\n * @param {Number} [dataLen]\r\n */\r\n redrawPartial(place, dataLen) {\r\n if (!dataLen) {\r\n return;\r\n }\r\n\r\n if ('before' === place) {\r\n render(\r\n document.getElementById(this._tableId).querySelector('thead'),\r\n this.listDataView(this._data.slice(0, dataLen)),\r\n 'after',\r\n );\r\n } else if ('after' === place) {\r\n render(\r\n document.getElementById(this._tableId),\r\n this.listDataView(this._data.slice(-dataLen)),\r\n );\r\n }\r\n\r\n Tooltip.initData(this._componentElement);\r\n this.updateFilter(true);\r\n }\r\n\r\n /**\r\n * @param {String} [place]\r\n * @param {Number} [dataLen]\r\n */\r\n redraw(place, dataLen) {\r\n if (place && document.getElementById(this._tableId)) {\r\n this.redrawPartial(place, dataLen);\r\n this._onRedraw();\r\n return;\r\n }\r\n\r\n this._componentElement.removeChild(this._componentElement.firstChild);\r\n render(this._componentElement, this.containerView(), 'top');\r\n\r\n if (this._isColumnSelectionPresent() && this._pager.totalItemCount > 0) {\r\n this._addSelectionHandlers();\r\n }\r\n if (this._contextMenu) {\r\n this._contextMenu.onRedraw();\r\n }\r\n\r\n this._addPathbar();\r\n\r\n if (this._disabledSelectHint) {\r\n this._addDisabledCheckboxesHints();\r\n }\r\n this._renderDisabledCheckboxesHints();\r\n\r\n this._addResponsiveHtml();\r\n\r\n this._initDropdowns();\r\n this._initItemActions();\r\n Tooltip.initData(this._componentElement);\r\n this.updateFilter(true);\r\n this._onRedraw();\r\n }\r\n\r\n _initItemActions() {\r\n this._componentElement.querySelectorAll('a[data-action-name]').forEach(link => {\r\n link.addEventListener('click', event => {\r\n event.preventDefault();\r\n if (!this._itemActions[link.dataset.actionName]) {\r\n return;\r\n }\r\n\r\n const itemId = link.closest('tr').dataset.rowId;\r\n const row = this._data.filter(({ id }) => id === itemId)[0];\r\n this._itemActions[link.dataset.actionName](row, event);\r\n });\r\n });\r\n }\r\n\r\n _initDropdowns() {\r\n let dropdown;\r\n this._dropdowns = this._dropdowns || [];\r\n while ((dropdown = this._dropdowns.pop())) {\r\n DropdownManager.unregister(dropdown);\r\n }\r\n\r\n this._componentElement.querySelectorAll('.dropdown .input-group').forEach(el => {\r\n this._dropdowns.push(DropdownManager.register(el,\r\n function () {\r\n return el.parentNode.classList.contains('open');\r\n },\r\n function () {\r\n el.parentNode.classList.add('open');\r\n },\r\n function () {\r\n el.parentNode.classList.remove('open');\r\n },\r\n ));\r\n });\r\n }\r\n\r\n /**\r\n * @param {*} data\r\n */\r\n processReloadError(data) {\r\n if (data && data.statusMessages) {\r\n data.statusMessages.forEach(({ status, content }) => {\r\n addStatusMessage(status, content);\r\n });\r\n } else {\r\n showInternalError('Unable to load list data.');\r\n }\r\n }\r\n\r\n /**\r\n * @param {Function} callback\r\n * @returns {Boolean}\r\n */\r\n hasSelectedItems(callback) {\r\n const selected = this.getSelectedItemsIds();\r\n\r\n if (!selected.length) {\r\n this._showItemsNotSelectedWarning();\r\n return false;\r\n }\r\n this._hideItemsNotSelectedWarning();\r\n\r\n if (callback) {\r\n callback.bind(this)();\r\n }\r\n\r\n return true;\r\n }\r\n\r\n getItemById(itemId) {\r\n for (let i = 0; i < this._data.length; i++) {\r\n if (((typeof this._data[i].id) === 'number' && this._data[i].id === Number(itemId)) ||\r\n this._data[i].id === itemId\r\n ) {\r\n return this._data[i];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n getItemByName(itemName) {\r\n for (let i = 0; i < this._data.length; i++) {\r\n if (this._data[i].name === itemName) {\r\n return this._data[i];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n _addResponsiveHtml() {\r\n const columns = this._componentElement.querySelectorAll('thead th');\r\n this._componentElement.querySelectorAll(`#${this._tableId} tbody tr`).forEach(row => {\r\n const cells = row.children;\r\n for (let i = 0; i < cells.length; i++) {\r\n const element = cells[i];\r\n const columnName = stripTags(columns[i].innerHTML.trim());\r\n const columnNameHtml = `${columnName}`;\r\n\r\n this._addResponsiveHtmlToButtons(element, columnNameHtml);\r\n\r\n this._addResponsiveHtmlToImages(element, columnNameHtml);\r\n\r\n this._addResponsiveHtmlToIcons(element, columnNameHtml);\r\n\r\n this._addResponsiveHtmlToNumbers(element, columnName);\r\n }\r\n });\r\n }\r\n\r\n _addResponsiveHtmlToButtons(element, columnNameHtml) {\r\n const buttons = element.querySelectorAll('a.s-btn');\r\n buttons.forEach(button => {\r\n const tooltip = button.parentNode.querySelector('.tooltipData');\r\n if (!button.querySelector('span').innerHTML && tooltip) {\r\n button.querySelector('span').innerHTML = `${tooltip.innerHTML}`;\r\n }\r\n });\r\n if (buttons.length === 1 && !buttons[0].querySelector('span').innerHTML) {\r\n buttons[0].querySelector('span').innerHTML = columnNameHtml;\r\n }\r\n }\r\n\r\n _addResponsiveHtmlToImages(element, columnNameHtml) {\r\n const images = element.querySelectorAll('a img,a [class^=\"icon-\"],a [class*=\" icon-\"]');\r\n images.forEach(image => {\r\n let text = '';\r\n const tooltip = image.parentNode.parentNode.querySelector('.tooltipData');\r\n if (!tooltip) {\r\n if (images.length !== 1) {\r\n return;\r\n }\r\n text = columnNameHtml;\r\n } else {\r\n text = tooltip.innerHTML;\r\n }\r\n if (!image.closest('.b-indent-icon') || !image.closest('a').innerHTML.replace(image.closest('.b-indent-icon').outerHTML, '').trim()) {\r\n let wrapper = image;\r\n if ('img' === image.tagName.toLowerCase()) {\r\n const icon = document.createElement('i');\r\n icon.className = 'icon';\r\n wrapper.parentNode.replaceChild(icon, wrapper);\r\n wrapper = icon;\r\n icon.appendChild(image);\r\n }\r\n render(wrapper, ` ${text}`, 'after');\r\n image.closest('a').classList.add('i-link');\r\n }\r\n });\r\n }\r\n\r\n _addResponsiveHtmlToIcons(element, columnNameHtml) {\r\n const icons = element.querySelectorAll('span.b-indent-icon');\r\n icons.forEach(icon => {\r\n const tooltip = icon.querySelector('.tooltipData');\r\n if (tooltip && !icon.parentNode.innerHTML.replace(icon.outerHTML, '').trim()) {\r\n render(icon.querySelector('img'), ` ${tooltip.innerHTML}`, 'after');\r\n }\r\n });\r\n if (icons.length === 1 && !icons[0].querySelector('span.r-visible') && !icons[0].parentNode.innerHTML.replace(icons[0].outerHTML, '').trim()) {\r\n render(icons[0].querySelector('img'), columnNameHtml, 'after');\r\n }\r\n }\r\n\r\n _addResponsiveHtmlToNumbers(element, columnName) {\r\n const number = element.innerHTML;\r\n const columnNameHtml = `${columnName}: `;\r\n if ('-' === number || (!isNaN(parseFloat(number)) && isFinite(number))) {\r\n render(element, columnNameHtml, 'top');\r\n }\r\n const links = element.querySelectorAll('a');\r\n if (\r\n links.length === 1 &&\r\n ('-' === links[0].innerHTML || (!isNaN(parseFloat(links[0].innerHTML)) && isFinite(links[0].innerHTML)))\r\n ) {\r\n render(element, columnNameHtml, 'top');\r\n }\r\n }\r\n\r\n checkSyncStatus(statusElementId, url, onFinishCallback, randomId, options) {\r\n // list was reloaded - stop the check of sync status for old list elements\r\n if (this._randomId !== randomId) {\r\n return;\r\n }\r\n\r\n options = {\r\n timeout: 5000,\r\n progressStatus: 'started',\r\n ...options,\r\n };\r\n api.get(url)\r\n .then(result => {\r\n const statusElement = document.getElementById(statusElementId);\r\n if (!statusElement) {\r\n return;\r\n }\r\n if (options.progressStatus === result.status) {\r\n setTimeout(() => {\r\n this.checkSyncStatus(statusElementId, url, onFinishCallback, randomId, options);\r\n }, options.timeout);\r\n } else {\r\n onFinishCallback(statusElement, result);\r\n }\r\n });\r\n }\r\n\r\n _getOperations() {\r\n const operations = this._operations ? this._operations.slice() : [];\r\n if (!this._additionalData || !this._additionalData.operations || !this._additionalData.operations.length) {\r\n return operations;\r\n }\r\n const deleteButtonIndex = this._getDeleteButtonIndex();\r\n let args = [deleteButtonIndex, 0];\r\n if (deleteButtonIndex !== 0 && operations[deleteButtonIndex - 1].componentType !== 'Jsw.bar.Separator') {\r\n args.push({ componentType: bar.Separator });\r\n }\r\n args = args.concat(this._additionalData.operations);\r\n if (deleteButtonIndex !== operations.length) {\r\n args.push({ componentType: bar.Separator });\r\n }\r\n operations.splice(...args);\r\n return operations;\r\n }\r\n\r\n _getColumns() {\r\n const columns = this._columns.slice();\r\n\r\n const extensions = (this._additionalData && this._additionalData.extensions) || {};\r\n Object.keys(extensions).forEach(id => {\r\n this._modifyColumnsByExtension(columns, extensions[id]);\r\n });\r\n\r\n return columns;\r\n }\r\n\r\n _modifyColumnsByExtension(columns, extension) {\r\n const findColumn = dataIndex => {\r\n const column = columns.filter(column => column.dataIndex === dataIndex)[0];\r\n\r\n dataIndex = parseInt(dataIndex);\r\n return column || columns[dataIndex < 0 ? dataIndex + columns.length : dataIndex - 1];\r\n };\r\n\r\n if (extension.columnsOverride) {\r\n Object.keys(extension.columnsOverride).forEach(dataIndex => {\r\n const originalColumn = findColumn(dataIndex);\r\n if (!originalColumn) {\r\n return;\r\n }\r\n\r\n const column = extension.columnsOverride[dataIndex];\r\n\r\n if (column.title) {\r\n column.header = column.title;\r\n }\r\n\r\n if (column.renderer) {\r\n // eslint-disable-next-line no-eval\r\n column.renderer = eval(`(${column.renderer})`);\r\n }\r\n\r\n if ('undefined' !== typeof column.isVisible && !column.isVisible) {\r\n column.isVisible = function () {\r\n return false;\r\n };\r\n }\r\n\r\n Object.extend(originalColumn, column);\r\n });\r\n }\r\n\r\n if (extension.columns) {\r\n Object.keys(extension.columns).forEach(dataIndex => {\r\n let column = extension.columns[dataIndex];\r\n\r\n if (column.renderer) {\r\n // eslint-disable-next-line no-eval\r\n column.renderer = eval(`(${column.renderer})`);\r\n }\r\n\r\n column = {\r\n header: column.title,\r\n dataIndex,\r\n ...column,\r\n };\r\n\r\n let index;\r\n let originalColumn;\r\n\r\n if (column.insertBefore && (originalColumn = findColumn(column.insertBefore))) {\r\n index = columns.indexOf(originalColumn);\r\n } else if (column.insertAfter && (originalColumn = findColumn(column.insertAfter))) {\r\n index = columns.indexOf(originalColumn) + 1;\r\n } else {\r\n index = columns.length;\r\n }\r\n\r\n columns.splice(index, 0, column);\r\n });\r\n }\r\n }\r\n\r\n _getDeleteButtonIndex() {\r\n if (!this._operations) {\r\n return 0;\r\n }\r\n let deleteButtonIndex = this._operations.length;\r\n this._operations.forEach((el, i) => {\r\n if (el.addCls === 'sb-remove-selected') {\r\n deleteButtonIndex = i;\r\n }\r\n });\r\n return deleteButtonIndex;\r\n }\r\n\r\n getItemActions({ actions = [] }) {\r\n actions = actions\r\n .reduce((actions, actionInfo) => {\r\n if (actionInfo === 'separator') {\r\n if (actions.length && actions[actions.length - 1] !== 'separator') {\r\n actions.push(actionInfo);\r\n }\r\n return actions;\r\n }\r\n\r\n if (typeof actionInfo === 'string') {\r\n actionInfo = { name: actionInfo };\r\n }\r\n if (actionInfo.href || this._itemActions[actionInfo.name]) {\r\n actions.push(actionInfo);\r\n }\r\n return actions;\r\n }, []);\r\n\r\n if (actions[actions.length - 1] === 'separator') {\r\n actions.pop();\r\n }\r\n\r\n return actions;\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n if (this._getColumns().includes(COLUMN_ACTIONS)) {\r\n this._contextMenu = new ListContextMenu({\r\n renderTo: document.body,\r\n list: this,\r\n });\r\n }\r\n\r\n if (!this._data) {\r\n this.reload();\r\n return;\r\n }\r\n\r\n this.redraw();\r\n }\r\n}\r\n\r\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\r\nList.subclasses = [];\r\n\r\nexport default List;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport ce from '../createElement';\r\nimport { Container } from '../container';\r\nimport { DropdownManager } from '../dropdown-manager';\r\nimport isRtl from '../isRtl';\r\nimport prepareUrl from '../prepareUrl';\r\nimport render from '../render';\r\n\r\nconst TARGET_TYPE_DROP_DOWN = 'dropDown';\r\nconst TARGET_TYPE_TABLE_ROW = 'tableRow';\r\n\r\nclass ListContextMenu extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._cls = 'popup-box popup-menu collapsed';\r\n this._list = this._getConfigParam('list');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.innerHTML = (\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            '\r\n );\r\n }\r\n\r\n /**\r\n * Called on list redraw\r\n */\r\n onRedraw() {\r\n this._initRowStyles();\r\n this._initShowOnClick();\r\n }\r\n\r\n /**\r\n * Get list of actions for popup by row\r\n */\r\n _prefillPopup(row) {\r\n render(this._componentElement.querySelector('.popup-content-area'), (\r\n ce('ul', this._list.getItemActions(row).map(actionInfo => {\r\n if (actionInfo === 'separator') {\r\n return ce('li.separator', ce('span'));\r\n }\r\n\r\n return ce('li',\r\n ce('a', {\r\n class: `sb-btn ${actionInfo.iconClass ? actionInfo.iconClass : 'sb-no-icon'}`,\r\n href: actionInfo.href ? prepareUrl(actionInfo.href) : null,\r\n target: actionInfo.newWindow ? '_blank' : null,\r\n 'data-button-key': actionInfo.name,\r\n onclick: this._list._itemActions[actionInfo.name] ? event => {\r\n event.preventDefault();\r\n this._list._itemActions[actionInfo.name](row, event);\r\n } : null,\r\n }, ce('i',\r\n ce('i',\r\n ce('i',\r\n ce('span', actionInfo.title || this._list.lmsg(`item-action-${actionInfo.name}`)),\r\n ),\r\n ),\r\n )),\r\n );\r\n }))\r\n ), 'inner');\r\n }\r\n\r\n /**\r\n * Show prefilled popup on context menu button click\r\n */\r\n _togglePopupNearButton(button) {\r\n document.getElementById(this._list._tableId).querySelectorAll('tr.odd,tr.even').forEach(el => {\r\n el.classList.remove('row-over');\r\n });\r\n this._componentElement.classList.add('collapsed');\r\n\r\n if (!button.closest('.btn-group').classList.contains('btn-group-open')) {\r\n document.querySelectorAll('.btn-list-menu').forEach(el => {\r\n el.closest('.btn-group').classList.remove('btn-group-open');\r\n });\r\n\r\n this._componentElement.classList.remove('collapsed');\r\n button.closest('tr').classList.add('row-over');\r\n }\r\n\r\n button.closest('.btn-group').classList.toggle('btn-group-open');\r\n\r\n const scrollOffsets = document.viewport.getScrollOffsets();\r\n const buttonPosition = Element.viewportOffset(button);\r\n buttonPosition.left += scrollOffsets.left;\r\n buttonPosition.top += scrollOffsets.top;\r\n\r\n const buttonWidth = Element.getWidth(button);\r\n const buttonHeight = Element.getHeight(button);\r\n\r\n if (!this._componentElement.classList.contains('collapsed')) {\r\n this._setPosition(\r\n buttonPosition.left,\r\n buttonPosition.top + buttonHeight,\r\n buttonPosition.left + buttonWidth,\r\n buttonPosition.top,\r\n );\r\n }\r\n }\r\n\r\n _initRowStyles() {\r\n document.getElementById(this._list._tableId).querySelectorAll('tr.odd,tr.even').forEach(el => {\r\n const button = el.querySelector('.dropdown-toggle');\r\n if (!button) {\r\n return;\r\n }\r\n\r\n const row = this._list.getItemById(button.dataset.rowId);\r\n if (!row || !this._list.getItemActions(row).length) {\r\n return;\r\n }\r\n\r\n el.classList.add('list-context-actions');\r\n });\r\n }\r\n\r\n /**\r\n * Hide popup and remove selection from row\r\n */\r\n _hidePopup() {\r\n this._componentElement.classList.add('collapsed');\r\n this.targetData.rowEl.querySelector('.btn-group').classList.remove('btn-group-open');\r\n this.targetData.rowEl.classList.remove('row-over');\r\n }\r\n\r\n _openPopup(event) {\r\n this._prefillPopup(this.targetData.rowData);\r\n if (this.targetType === TARGET_TYPE_TABLE_ROW) {\r\n this.targetData.rowEl.classList.add('row-over');\r\n this._componentElement.classList.remove('collapsed');\r\n this._setPosition(event.clientX + (window.scrollX || window.pageXOffset), event.clientY + (window.scrollY || window.pageYOffset));\r\n } else {\r\n this._togglePopupNearButton(this.targetData.dropDownEl);\r\n }\r\n }\r\n\r\n _isListContextEvent({ target }) {\r\n return !target.closest('input,a') && (target.closest('.list-menu') || target.closest('[data-row-id]'));\r\n }\r\n\r\n _getTargetData(target) {\r\n const rowEl = target.closest('tr');\r\n let dropDownEl;\r\n\r\n if (this.targetType === TARGET_TYPE_DROP_DOWN) {\r\n dropDownEl = target.closest('.btn-list-menu');\r\n } else if (this.targetType === TARGET_TYPE_TABLE_ROW) {\r\n dropDownEl = rowEl.querySelector('.dropdown-toggle');\r\n }\r\n if (!dropDownEl) {\r\n return null;\r\n }\r\n\r\n const rowData = this._list.getItemById(dropDownEl.dataset.rowId);\r\n if (rowData && this._list.getItemActions(rowData).length) {\r\n return {\r\n rowData,\r\n rowEl,\r\n dropDownEl,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n _getTargetType(target) {\r\n if (target.closest('.list-menu')) {\r\n return TARGET_TYPE_DROP_DOWN;\r\n }\r\n\r\n if (target.closest('[data-row-id]')) {\r\n return TARGET_TYPE_TABLE_ROW;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n _open(event) {\r\n this.targetType = this._getTargetType(event.target);\r\n this.targetData = this._getTargetData(event.target);\r\n\r\n if (!this.targetData) {\r\n return;\r\n }\r\n\r\n this._openPopup(event);\r\n }\r\n\r\n _hide(event) {\r\n if (!this.targetData) {\r\n return;\r\n }\r\n\r\n this._hidePopup(event);\r\n\r\n if (this._isListContextEvent(event) && this._isImmediatelyOpening(event)) {\r\n this._open(event);\r\n }\r\n }\r\n\r\n _isOpened() {\r\n return (\r\n (\r\n this.targetData\r\n && this.targetData.dropDownEl\r\n && this.targetData.dropDownEl.closest('.btn-group').classList.contains('btn-group-open')\r\n )\r\n || !this._componentElement.classList.contains('collapsed')\r\n );\r\n }\r\n\r\n _isImmediatelyOpening(event) {\r\n const targetType = this._getTargetType(event.target);\r\n const targetData = this._getTargetData(event.target);\r\n\r\n return (targetType && targetData\r\n && ((targetType === TARGET_TYPE_DROP_DOWN && this.targetType === TARGET_TYPE_TABLE_ROW)\r\n || (targetType === TARGET_TYPE_DROP_DOWN\r\n && targetData.rowEl.dataset.rowId !== this.targetData.rowEl.dataset.rowId)\r\n )\r\n );\r\n }\r\n\r\n /**\r\n * Show popup on click row or dropdown button\r\n */\r\n _initShowOnClick() {\r\n DropdownManager.register(\r\n document.getElementById(this._list._tableId),\r\n this._isOpened.bind(this),\r\n this._open.bind(this),\r\n this._hide.bind(this),\r\n this._isListContextEvent.bind(this),\r\n );\r\n }\r\n\r\n _setPosition(x, y, altX, altY) {\r\n altX = altX || x;\r\n altY = altY || y;\r\n\r\n const scrollOffsets = document.viewport.getScrollOffsets();\r\n\r\n const windowWidth = Element.getWidth(document.body);\r\n const popupWidth = Element.getWidth(this._componentElement);\r\n if (isRtl()) {\r\n if ((altX - popupWidth - scrollOffsets.left) > 0) {\r\n x = altX - popupWidth;\r\n }\r\n } else if ((x + popupWidth - scrollOffsets.left) > windowWidth) {\r\n x = altX - popupWidth;\r\n }\r\n\r\n const windowHeight = Element.getHeight(document.body);\r\n const popupHeight = Element.getHeight(this._componentElement);\r\n const popupMarginTop = parseInt(Element.getStyle(this._componentElement, 'marginTop'));\r\n if ((y + popupHeight + popupMarginTop - scrollOffsets.top) > windowHeight) {\r\n y = altY - popupHeight - (2 * popupMarginTop);\r\n }\r\n\r\n this._componentElement.style.right = 'auto';\r\n this._componentElement.style.left = `${x}px`;\r\n this._componentElement.style.top = `${y}px`;\r\n }\r\n}\r\n\r\nexport default ListContextMenu;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport default () => document.documentElement.dir === 'rtl';\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport escapeAttribute from '../escapeAttribute';\r\n\r\nexport const COLUMN_SELECTION = {\r\n cls: 'select',\r\n headerCls: 'select',\r\n hideDisabled: false,\r\n headerRenderer() {\r\n return '';\r\n },\r\n renderer(item, isDisabled) {\r\n if (!isDisabled) {\r\n return ``;\r\n }\r\n\r\n return (\r\n '
            ' +\r\n '' +\r\n '' +\r\n '
            '\r\n );\r\n },\r\n};\r\n\r\nexport const COLUMN_ACTIONS = {\r\n header: '',\r\n cls: 'min',\r\n sortable: false,\r\n renderer(item) {\r\n if (!item.actions || !item.actions.length) {\r\n return '';\r\n }\r\n const rowId = item.id ? escapeAttribute(item.id) : '';\r\n return (\r\n '' +\r\n `' +\r\n ''\r\n );\r\n },\r\n};\r\n\r\nexport const ITEMS_UNLIMITED = 100000;\r\n","module.exports = Jsw.skinUrl + \"/icons/16/plesk/menu.png?a75a537332528331bb513a94e26d173d\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Remove tags from string\r\n * @param {string} str\r\n * @returns {string}\r\n */\r\nconst stripTags = str => str.replace(/<\\/?[^>]+(>|$)/g, '');\r\n\r\nexport default stripTags;\r\n\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from '../component';\r\nimport { SmallButton } from '../small-button';\r\nimport createComponent from '../createComponent';\r\nimport render from '../render';\r\n\r\nclass AdditionalActions extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'actions-menu',\r\n ...config,\r\n });\r\n\r\n this._operations = this._getConfigParam('operations', null);\r\n this._titleAddCls = this._getConfigParam('titleAddCls', 'sb-more-actions');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n render(this._componentElement, (\r\n '
            ' +\r\n '' +\r\n '' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '' +\r\n '

            ' +\r\n `${this._getConfigParam('title', '')}` +\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\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n document.body.addEventListener('click', () => {\r\n this.collapse();\r\n });\r\n }\r\n\r\n enable() {\r\n this._titleButton.enable();\r\n }\r\n\r\n disable() {\r\n this._titleButton.disable();\r\n }\r\n\r\n toggle() {\r\n const popup = this._componentElement.querySelector('.popup-box');\r\n\r\n if (popup) {\r\n popup.classList.toggle('collapsed');\r\n }\r\n\r\n const button = this._componentElement.querySelector(`.${this._titleAddCls}`);\r\n\r\n if (button) {\r\n button.classList.toggle('active');\r\n }\r\n }\r\n\r\n collapse() {\r\n const popup = this._componentElement.querySelector('.popup-box');\r\n\r\n if (popup) {\r\n popup.classList.add('collapsed');\r\n }\r\n\r\n const button = this._componentElement.querySelector(`.${this._titleAddCls}`);\r\n\r\n if (button) {\r\n button.classList.remove('active');\r\n }\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this._titleButton = new SmallButton({\r\n id: `${this._id}-title-button`,\r\n title: this._getConfigParam('title', ''),\r\n cls: 's-btn',\r\n addCls: this._titleAddCls,\r\n handler: event => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.toggle();\r\n },\r\n });\r\n render(this._componentElement, this._titleButton);\r\n\r\n if (!this._operations) {\r\n return;\r\n }\r\n\r\n const operationsArea = this._componentElement.querySelector(`#${this._id}-operations`);\r\n this._operations.forEach(config => {\r\n const liElement = new Element('li');\r\n render(operationsArea, liElement);\r\n\r\n const operation = createComponent(config);\r\n const wrapperClass = operation.getWrapperClass();\r\n if (wrapperClass) {\r\n liElement.classList.add(wrapperClass);\r\n }\r\n\r\n render(liElement, operation);\r\n });\r\n\r\n if (this._getConfigParam('disabled', false)) {\r\n this.disable();\r\n } else {\r\n this.enable();\r\n }\r\n }\r\n}\r\n\r\nexport default AdditionalActions;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { StatusMessage } from './status-message';\r\n\r\nexport class UnresolvedDomainWarning extends StatusMessage {\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n this._componentElement.querySelector('a#unresolved-domain-warning')?.addEventListener('click', e => {\r\n e.preventDefault();\r\n Plesk.require('app/dns-helper/dns-settings', run => {\r\n run({\r\n id: this._getConfigParam('id'),\r\n isAlias: this._getConfigParam('isAlias'),\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/require-render-return */\r\nimport { addToast } from 'helpers/toasts';\r\n\r\nimport { Component } from './component';\r\nimport { Container } from './container';\r\nimport { redirect } from './form-redirect';\r\nimport Observer from './Observer';\r\nimport createComponent from './createComponent';\r\nimport prepareUrl from './prepareUrl';\r\nimport escapeHtml from './escapeHtml';\r\nimport api from './api';\r\nimport pleskWS from './pleskWS';\r\nimport Locale from './Locale';\r\n\r\nconst STATUS_DONE = 'done';\r\nconst STATUS_ERROR = 'error';\r\nconst STATUS_STARTED = 'started';\r\nconst STATUS_NOT_STARTED = 'not_started';\r\nconst STATUS_PREPARING = 'preparing';\r\nconst STATUS_FLYING = 'flying';\r\nconst STATUS_CANCELED = 'canceled';\r\n\r\nclass Pool {\r\n constructor(items) {\r\n this.items = items;\r\n this.map = items.reduce((acc, item) => {\r\n acc[item.getId()] = item;\r\n return acc;\r\n }, {});\r\n }\r\n\r\n take(id) {\r\n if (this.map[id]) {\r\n const item = this.map[id];\r\n delete this.map[id];\r\n this.items = this.items.filter(item => item.getId() !== id);\r\n return item;\r\n }\r\n }\r\n\r\n shift() {\r\n const item = this.items.shift();\r\n if (item) {\r\n delete this.map[item.getId()];\r\n return item;\r\n }\r\n }\r\n\r\n hasItems() {\r\n return this.items.length > 0;\r\n }\r\n}\r\n\r\nconst generateUniq = () => Math.random().toString(36).slice(2);\r\n\r\nexport class ProgressBar extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n id: 'asyncProgressBarWrapper',\r\n ...config,\r\n });\r\n\r\n this._viewerId = this._getConfigParam('viewerId');\r\n\r\n this._preparingCounter = 0;\r\n this._hidden = false;\r\n\r\n this.intervalUpdateTimer = null;\r\n this.pleskWS = null;\r\n if (this._getConfigParam('wsEnabled')) {\r\n this.pleskWS = pleskWS.bind({\r\n actions: {\r\n // eslint-disable-next-line camelcase\r\n task_created: this.onUpdated.bind(this),\r\n // eslint-disable-next-line camelcase\r\n task_updated: this.onUpdated.bind(this),\r\n // eslint-disable-next-line camelcase\r\n task_deleted: this.onDeleted.bind(this),\r\n },\r\n onOpen: this.loadTasks.bind(this),\r\n onClose: this.loadTasks.bind(this),\r\n });\r\n } else {\r\n this.loadTasks();\r\n }\r\n }\r\n\r\n addPreparingItem(title) {\r\n const id = `preparing-${this._preparingCounter}`;\r\n const item = new ProgressBar.Item({\r\n errors: [],\r\n progressTitle: title,\r\n status: 'flying',\r\n id,\r\n uniq: generateUniq(),\r\n });\r\n this._preparingCounter++;\r\n this._items.unshift(item);\r\n return id;\r\n }\r\n\r\n failPreparingItem(id, message) {\r\n const item = this._items.find(item => item.getId() === id);\r\n if (!item) {\r\n return;\r\n }\r\n\r\n item.setStatus(STATUS_ERROR);\r\n item.setErrors([message]);\r\n this._renderItems();\r\n }\r\n\r\n // do not remove due to backward compatibility\r\n removePreparingItem() {\r\n }\r\n\r\n // do not remove due to backward compatibility\r\n toggle() {\r\n }\r\n\r\n async loadTasks() {\r\n try {\r\n const { items } = await api.get(prepareUrl('/task/task-progress'));\r\n\r\n if (Array.isArray(items)) {\r\n this._loaded = true;\r\n this.mergeItems(items.map(createComponent));\r\n }\r\n } catch {}\r\n }\r\n\r\n mergeItems(items) {\r\n let nextItems = this.getMergedItems(items);\r\n\r\n // remove completed items\r\n this.getItems().forEach(item => {\r\n if (!items.some(newItemData => item.getId() === newItemData.getId())) {\r\n this.onItemStatusChange(this.completeItem(item.initialConfig));\r\n nextItems = nextItems.filter(currentItem => currentItem.getId() !== item.getId());\r\n }\r\n });\r\n\r\n this.setItems(nextItems);\r\n }\r\n\r\n mergeItem(item) {\r\n const nextItems = this.getMergedItems([item]);\r\n this.setItems(nextItems);\r\n }\r\n\r\n getMergedItems(items) {\r\n const pool = new Pool(items);\r\n let nextItems = this.getItems();\r\n // update exist items\r\n nextItems = nextItems.map(item => {\r\n const nextItem = pool.take(item.getId());\r\n if (nextItem) {\r\n if (item.getUpdated() > nextItem.getUpdated()) {\r\n return item;\r\n }\r\n if (nextItem.getStatus() !== item.getStatus()) {\r\n this.onItemStatusChange(nextItem.getData());\r\n } else if (JSON.stringify(nextItem.getSteps()) !== JSON.stringify(item.getSteps())) {\r\n this.onItemStepChange(nextItem.getData());\r\n }\r\n nextItem.setRefreshLinkEnabled(STATUS_STARTED !== nextItem.getStatus() && item.isStarted() ? true : item.isRefreshLinkEnabled());\r\n nextItem.setUniq(item.getUniq());\r\n return nextItem;\r\n }\r\n return item;\r\n });\r\n\r\n // replace preparing items by new items\r\n if (pool.hasItems()) {\r\n nextItems = nextItems.map(item => {\r\n if (item.isFlying()) {\r\n const nextItem = pool.shift();\r\n if (nextItem) {\r\n this.onItemStatusChange(nextItem.getData());\r\n nextItem.setUniq(item.getUniq());\r\n return nextItem;\r\n }\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n // add new items\r\n if (pool.hasItems()) {\r\n let nextItem;\r\n do {\r\n nextItem = pool.shift();\r\n if (nextItem) {\r\n this.onItemStatusChange(nextItem.getData());\r\n nextItems.unshift(nextItem);\r\n }\r\n } while (nextItem);\r\n }\r\n\r\n return nextItems;\r\n }\r\n\r\n // do not remove due to backward compatibility\r\n update() {\r\n if (this.pleskWS && this.pleskWS.isReady()) {\r\n this.stopPeriodicalExecutor();\r\n return;\r\n }\r\n\r\n this.loadTasks();\r\n }\r\n\r\n onUpdated(data) {\r\n this.mergeItem(createComponent(data));\r\n }\r\n\r\n onDeleted(data) {\r\n this.onUpdated(this.completeItem(data));\r\n this.removeItemsByIds([data.id]);\r\n }\r\n\r\n removeItemsByIds(ids) {\r\n if (!ids.length) {\r\n return;\r\n }\r\n const items = this.getItems();\r\n for (let i = 0; i < ids.length; i++) {\r\n for (let j = 0; j < items.length; j++) {\r\n if (items[j].getId() === ids[i]) {\r\n items.splice(j, 1);\r\n break;\r\n }\r\n }\r\n }\r\n this.setItems(items);\r\n }\r\n\r\n onItemStatusChange(newItemData) {\r\n this.onItemStepChange(newItemData);\r\n Observer.notify(newItemData, 'plesk:taskUpdate');\r\n if (this.isCompletedItem(newItemData)) {\r\n Observer.notify(newItemData, 'plesk:taskComplete');\r\n }\r\n }\r\n\r\n onItemStepChange(newItemData) {\r\n Observer.notify(newItemData, 'plesk:taskStepUpdate');\r\n }\r\n\r\n setItems(items) {\r\n this._initItems(items);\r\n this._renderItems();\r\n this._updateProgressDialog();\r\n }\r\n\r\n fly(beginOffset, taskName, action) {\r\n const progressBarItemId = this.addPreparingItem(taskName);\r\n this._renderItems();\r\n // wait toast animation\r\n setTimeout(action, 300);\r\n return progressBarItemId;\r\n }\r\n\r\n progressDialog(task, { onHide, ...params } = {}) {\r\n const returnUrl = task && task.returnUrl;\r\n this._progressBarItem = task instanceof ProgressBar.Item ? task : createComponent(task);\r\n this.isOpenProgressDialog = true;\r\n\r\n if (!this._progressDialog) {\r\n this._progressDialog = document.createElement('div');\r\n }\r\n\r\n this.renderProgressDialog = () => {\r\n Plesk.require('app/progress-dialog', run => {\r\n if (!this._progressBarItem || !this._progressDialog) {\r\n return;\r\n }\r\n\r\n run({\r\n container: this._progressDialog,\r\n isOpen: this.isOpenProgressDialog,\r\n title: this._progressBarItem.getProgressTitle(),\r\n steps: this._progressBarItem.getSteps(),\r\n errors: this._progressBarItem.getVisibleErrors(),\r\n onHide: () => {\r\n this.isOpenProgressDialog = false;\r\n this.renderProgressDialog();\r\n\r\n if (onHide) {\r\n onHide(this._progressBarItem);\r\n return;\r\n }\r\n\r\n const redirectUrl = this._progressBarItem.isComplete()\r\n ? this._progressBarItem._getConfigParam('redirect') || returnUrl\r\n : returnUrl;\r\n const doRedirect = () => {\r\n if (redirectUrl) {\r\n redirect(redirectUrl);\r\n } else {\r\n this.show();\r\n }\r\n };\r\n\r\n if (this._progressBarItem.isCompleteSuccessfully() || this._progressBarItem.isCompleteWithWarning()) {\r\n this._progressBarItem.remove().then(() => {\r\n doRedirect();\r\n this._progressBarItem = null;\r\n });\r\n } else {\r\n doRedirect();\r\n }\r\n },\r\n locale: Locale.getSection('components.tasks.common').messages,\r\n ...params,\r\n });\r\n });\r\n };\r\n\r\n this.renderProgressDialog();\r\n this.update();\r\n this.hide();\r\n }\r\n\r\n hide() {\r\n this._hidden = true;\r\n this._renderItems();\r\n }\r\n\r\n show() {\r\n this._hidden = false;\r\n this._renderItems();\r\n }\r\n\r\n _updateProgressDialog() {\r\n if (!this._progressBarItem) {\r\n return;\r\n }\r\n\r\n const newItem = this.getItem(this._progressBarItem.getId());\r\n if (newItem) {\r\n this._progressBarItem = newItem;\r\n } else if (this._progressBarItem.getSteps().length) {\r\n // task was removed, show it as finished\r\n const finishedItem = createComponent(this.completeItem({\r\n ...this._progressBarItem.initialConfig,\r\n steps: this._progressBarItem.getSteps().map(step => this.completeItem(step)),\r\n }));\r\n finishedItem.setProgressBarElement(this._progressBarItem.getProgressBarElement());\r\n this._progressBarItem = finishedItem;\r\n }\r\n this.renderProgressDialog();\r\n }\r\n\r\n _renderItems() {\r\n super._renderItems();\r\n\r\n if (this._items.length) {\r\n this.setPeriodicalExecutor();\r\n }\r\n\r\n if (!this._loaded) {\r\n return;\r\n }\r\n\r\n Plesk.require('app/task-progress-bar', run => {\r\n run({\r\n viewerId: this._viewerId,\r\n container: this._componentElement,\r\n items: this._items,\r\n locale: Locale.getSection('components.tasks.common').messages,\r\n isOpen: !this._hidden,\r\n onGroupClose: this.handleGroupClose.bind(this),\r\n });\r\n });\r\n }\r\n\r\n async handleGroupClose(keys) {\r\n const items = this._items.filter(item => keys.includes(item.getKey()));\r\n const ids = items.map(item => item.getId());\r\n\r\n try {\r\n await api.post(prepareUrl('/task/task-remove'), { ids });\r\n this.removeItemsByIds(ids);\r\n } catch ({ message }) {\r\n addToast({ intent: 'danger', message });\r\n }\r\n }\r\n\r\n _renderItem(item) {\r\n item.setProgressBarElement(this);\r\n }\r\n\r\n setPeriodicalExecutor() {\r\n if (!this.intervalUpdateTimer && this.hasStartedTasks()) {\r\n this.intervalUpdateTimer = setInterval(() => {\r\n this.update();\r\n if (!this.hasStartedTasks()) {\r\n this.stopPeriodicalExecutor();\r\n }\r\n }, 5000);\r\n }\r\n }\r\n\r\n stopPeriodicalExecutor() {\r\n if (this.intervalUpdateTimer) {\r\n clearInterval(this.intervalUpdateTimer);\r\n this.intervalUpdateTimer = null;\r\n }\r\n }\r\n\r\n hasStartedTasks() {\r\n return this._items.some(item => item.isStarted());\r\n }\r\n\r\n isCompletedItem({ status }) {\r\n return [STATUS_DONE, STATUS_ERROR, STATUS_CANCELED].indexOf(status) !== -1;\r\n }\r\n\r\n completeItem(data) {\r\n return {\r\n ...data,\r\n status: this.isCompletedItem(data) ? data.status : STATUS_DONE,\r\n };\r\n }\r\n}\r\n\r\nProgressBar.Item = class Item extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._id = this._getConfigParam('id', '');\r\n this._updated = new Date(this._getConfigParam('updated'));\r\n this._status = this._getConfigParam('status', '');\r\n this._errors = this._getConfigParam('errors', []);\r\n this._output = this._getConfigParam('output', []);\r\n this._isRefreshLinkEnabled = this._getConfigParam('isRefreshLinkEnabled', false)\r\n && this._getConfigParam('isRefreshAllowed', true);\r\n this._progressValue = this._getConfigParam('progressValue', 0);\r\n this._canCancel = this._getConfigParam('canCancel', true);\r\n this._referrer = this._getConfigParam('referrer', '');\r\n this._uniq = this._getConfigParam('uniq', undefined);\r\n this._progressBarElement = {};\r\n }\r\n\r\n _initComponentElement() {}\r\n\r\n getUpdated() {\r\n return this._updated;\r\n }\r\n\r\n getData() {\r\n return this._config;\r\n }\r\n\r\n getSteps() {\r\n return this._getConfigParam('steps', []);\r\n }\r\n\r\n getUniq() {\r\n return this._uniq;\r\n }\r\n\r\n setUniq(uniq) {\r\n this._uniq = uniq;\r\n }\r\n\r\n getKey() {\r\n return this._uniq || this._id;\r\n }\r\n\r\n setProgressBarElement(element) {\r\n this._progressBarElement = element;\r\n }\r\n\r\n getProgressBarElement() {\r\n return this._progressBarElement;\r\n }\r\n\r\n getProgressTitle() {\r\n return this._getConfigParam('progressTitleHtml', escapeHtml(this._getConfigParam('progressTitle', '')));\r\n }\r\n\r\n getProgressValue() {\r\n return this._progressValue;\r\n }\r\n\r\n getStatus() {\r\n return this._status;\r\n }\r\n\r\n setStatus(status) {\r\n this._status = status;\r\n }\r\n\r\n getProgressDialogLinkHandler() {\r\n if (!this.getSteps().length) {\r\n return undefined;\r\n }\r\n return e => {\r\n e.preventDefault();\r\n this.getProgressBarElement().progressDialog(this);\r\n };\r\n }\r\n\r\n isRefreshLinkEnabled() {\r\n return this._isRefreshLinkEnabled;\r\n }\r\n\r\n setRefreshLinkEnabled(flag) {\r\n this._isRefreshLinkEnabled = flag && this._isRefreshAllowed;\r\n }\r\n\r\n getRefreshLinkProps() {\r\n const _redirect = this._getConfigParam('redirect');\r\n if (_redirect) {\r\n const redirectUrl = _redirect.url || _redirect;\r\n return this.getProgressTitle().includes(redirectUrl) ? null : {\r\n title: _redirect.title,\r\n onClick: e => {\r\n e.preventDefault();\r\n redirect(_redirect);\r\n },\r\n };\r\n }\r\n\r\n if (this._isRefreshLinkEnabled && window.location.pathname === this._referrer) {\r\n return {\r\n onClick: e => {\r\n e.preventDefault();\r\n redirect(prepareUrl(window.location.pathname));\r\n },\r\n };\r\n }\r\n }\r\n\r\n hasErrors() {\r\n return this._errors.length > 0;\r\n }\r\n\r\n getErrors() {\r\n return this._errors;\r\n }\r\n\r\n setErrors(errors) {\r\n this._errors = errors;\r\n }\r\n\r\n getVisibleErrors() {\r\n const hideErrors = this._getConfigParam('hideErrors', false);\r\n\r\n if (hideErrors || !this.hasErrors()) {\r\n return [];\r\n }\r\n\r\n return this.getErrors();\r\n }\r\n\r\n getOutput() {\r\n return this._output.map(line => String(line).trim()).filter(Boolean);\r\n }\r\n\r\n isCompleteSuccessfully() {\r\n return STATUS_DONE === this._status && !this.hasErrors();\r\n }\r\n\r\n isComplete() {\r\n return [STATUS_DONE, STATUS_ERROR, STATUS_CANCELED].indexOf(this._status) !== -1;\r\n }\r\n\r\n isCompleteWithWarning() {\r\n return STATUS_DONE === this._status && this.hasErrors();\r\n }\r\n\r\n isStarted() {\r\n return STATUS_STARTED === this._status || STATUS_NOT_STARTED === this._status;\r\n }\r\n\r\n isPreparing() {\r\n return STATUS_PREPARING === this._status;\r\n }\r\n\r\n isFlying() {\r\n return STATUS_FLYING === this._status;\r\n }\r\n\r\n isProgressUndefined() {\r\n return this._progressValue === -1;\r\n }\r\n\r\n isCompleteWithError() {\r\n return STATUS_ERROR === this._status;\r\n }\r\n\r\n async remove() {\r\n try {\r\n await api.post(prepareUrl('/task/task-remove'), { ids: [this.getId()] });\r\n this.getProgressBarElement().removeItemsByIds([this.getId()]);\r\n } catch ({ message }) {\r\n addToast({ intent: 'danger', message });\r\n }\r\n }\r\n\r\n toToast() {\r\n const props = {\r\n key: this.getKey(),\r\n };\r\n if (this.isCompleteSuccessfully()) {\r\n return {\r\n ...props,\r\n intent: 'success',\r\n onClose: () => this.remove(),\r\n title: this.getProgressTitle(),\r\n output: this.getOutput(),\r\n refresh: this.getRefreshLinkProps(),\r\n };\r\n } else if (this.isCompleteWithWarning() || this.isCompleteWithError()) {\r\n return {\r\n ...props,\r\n intent: this.isCompleteWithWarning() ? 'warning' : 'danger',\r\n onClose: () => this.remove(),\r\n title: this.getProgressTitle(),\r\n errors: this.getVisibleErrors(),\r\n refresh: this.getRefreshLinkProps(),\r\n };\r\n } else if (this.isPreparing() || this.isFlying() || this.isProgressUndefined()) {\r\n return {\r\n ...props,\r\n title: this.isFlying() ? undefined : this.getProgressTitle(),\r\n progress: {\r\n onClick: this.getProgressDialogLinkHandler(),\r\n },\r\n };\r\n }\r\n return {\r\n ...props,\r\n title: this.getProgressTitle(),\r\n progress: {\r\n value: this.getProgressValue(),\r\n onClick: this.getProgressDialogLinkHandler(),\r\n },\r\n };\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { makeVar, useReactiveVar } from '@apollo/client';\r\n\r\nconst toasts = makeVar([]);\r\nlet key = 0;\r\n\r\nexport const useToasts = () => useReactiveVar(toasts);\r\n\r\nexport const addToast = ({ intent, ...props }) => {\r\n toasts([\r\n ...toasts(),\r\n {\r\n key: key++,\r\n intent,\r\n autoClosable: ['success', 'info'].includes(intent) ? true : null,\r\n ...props,\r\n },\r\n ]);\r\n};\r\n\r\nexport const removeToast = ({ key }) => toasts(toasts().filter(toast => toast.key !== key));\r\n\r\nexport default toasts;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nlet isOpened = false;\r\nlet ws = null;\r\nconst messageSubscriptions = [];\r\nconst openSubscriptions = [];\r\nconst closeSubscriptions = [];\r\n\r\n// eslint-disable-next-line no-console\r\nconst handleError = error => console.error(error);\r\n\r\nconst wsConnect = (attempt = 0) => {\r\n const protocol = window.location.protocol === 'https:' ? 'wss' : 'ws';\r\n ws = new WebSocket(`${protocol}://${window.location.host}/ws`);\r\n ws.onmessage = message => {\r\n const messageData = JSON.parse(message.data);\r\n const { action, data, error } = messageData;\r\n if (error) {\r\n if (error === 'Unauthorized') {\r\n return;\r\n }\r\n throw new Error(`Unknown error ${error}`);\r\n }\r\n\r\n if (typeof messageSubscriptions[action] === 'undefined') {\r\n return;\r\n }\r\n\r\n messageSubscriptions[action].forEach(callback => {\r\n try {\r\n callback(data);\r\n } catch (e) {\r\n handleError(e);\r\n }\r\n });\r\n };\r\n\r\n ws.onopen = event => {\r\n isOpened = true;\r\n openSubscriptions.forEach(callback => {\r\n try {\r\n callback(event);\r\n } catch (e) {\r\n handleError(e);\r\n }\r\n });\r\n };\r\n\r\n ws.onclose = event => {\r\n isOpened = false;\r\n ws = null;\r\n closeSubscriptions.forEach(callback => {\r\n try {\r\n callback(event);\r\n } catch (e) {\r\n handleError(e);\r\n }\r\n });\r\n if (1000 !== event.code) {\r\n setTimeout(() => {\r\n wsConnect(attempt + 1);\r\n }, Math.min((2 ** attempt) * 1000, 60000));\r\n }\r\n };\r\n};\r\n\r\nconst PleskWSBinding = function ({ actions, onOpen, onClose }) {\r\n this.actions = actions;\r\n this.onOpen = onOpen;\r\n this.onClose = onClose;\r\n\r\n this.isReady = () => ws && 1 === ws.readyState;\r\n\r\n this.close = () => {\r\n if (this.actions) {\r\n for (const action in actions) {\r\n if (!actions.hasOwnProperty(action) || typeof messageSubscriptions[action] === 'undefined') {\r\n return;\r\n }\r\n const messageSubscriptionsIndex = messageSubscriptions[action].indexOf(actions[action]);\r\n if (messageSubscriptionsIndex >= 0) {\r\n messageSubscriptions[action].splice(messageSubscriptionsIndex, 1);\r\n }\r\n }\r\n }\r\n\r\n if (this.onOpen) {\r\n const openSubscriptionsIndex = openSubscriptions.indexOf(onOpen);\r\n if (openSubscriptionsIndex >= 0) {\r\n openSubscriptions.splice(openSubscriptionsIndex, 1);\r\n }\r\n }\r\n\r\n if (this.onClose) {\r\n const closeSubscriptionsIndex = closeSubscriptions.indexOf(onClose);\r\n if (closeSubscriptionsIndex >= 0) {\r\n closeSubscriptions.splice(closeSubscriptionsIndex, 1);\r\n }\r\n }\r\n };\r\n};\r\n\r\nexport default {\r\n bind: ({ actions, onOpen, onClose }) => {\r\n if (!ws) {\r\n wsConnect();\r\n }\r\n if (actions) {\r\n for (const action in actions) {\r\n if (!actions.hasOwnProperty(action)) {\r\n return;\r\n }\r\n if (typeof messageSubscriptions[action] === 'undefined') {\r\n messageSubscriptions[action] = [];\r\n }\r\n if (messageSubscriptions[action].indexOf(actions[action]) < 0) {\r\n messageSubscriptions[action].push(actions[action]);\r\n }\r\n }\r\n }\r\n\r\n if (onOpen) {\r\n if (openSubscriptions.indexOf(onOpen) < 0) {\r\n openSubscriptions.push(onOpen);\r\n }\r\n if (isOpened) {\r\n onOpen();\r\n }\r\n }\r\n\r\n if (onClose && closeSubscriptions.indexOf(onClose) < 0) {\r\n closeSubscriptions.push(onClose);\r\n }\r\n\r\n return new PleskWSBinding({\r\n actions,\r\n onOpen,\r\n onClose,\r\n });\r\n },\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport prepareUrl from './prepareUrl';\r\nimport api from './api';\r\n\r\n// see common/php/plib/Db/Table/Row/LongTask.php\r\nexport const STATUS_NOT_STARTED = 'not_started';\r\nexport const STATUS_STARTED = 'started';\r\nexport const STATUS_DONE = 'done';\r\nexport const STATUS_CANCELED = 'canceled';\r\nexport const STATUS_ERROR = 'error';\r\n\r\nexport class StatusMessage extends Component {\r\n _failedStatusUpdates = 0;\r\n\r\n _maxFailedStatusUpdates = 10;\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._id = this._getConfigParam('id');\r\n this._onStatusUpdate = this._getConfigParam('onStatusUpdate', null);\r\n this._onTaskDone = this._getConfigParam('onDone', null);\r\n this._onTaskCancel = this._getConfigParam('onCancel', null);\r\n this._onTaskError = this._getConfigParam('onError', null);\r\n this._renderMessage = this._getConfigParam('renderMessage', status => {\r\n if (!status.message) {\r\n return 'Internal error.';\r\n }\r\n if (status.progressParams.errorMessage) {\r\n const messages = status.progressParams.errorMessage.split('\\n');\r\n if (messages.length <= 1) {\r\n return status.progressParams.errorMessage;\r\n }\r\n let message = `${messages[0]} ${this.lmsg('details')}
            `;\r\n message += '';\r\n for (let i = 1; i < messages.length; i++) {\r\n message += `${messages[i]}
            `;\r\n }\r\n message += '
            ';\r\n return message;\r\n }\r\n return status.message;\r\n });\r\n\r\n this._statusUrl = this._getConfigParam('statusUrl', prepareUrl('/task/status/taskId/'));\r\n this._updateInterval = this._getConfigParam('updateInterval', 60);\r\n this._autoRender = true;\r\n }\r\n\r\n _showProgress(status) {\r\n let statusClass = 'msg-progress';\r\n if (STATUS_DONE === status.status) {\r\n if (status.progressParams.errorMessage) {\r\n statusClass = 'msg-warning';\r\n } else {\r\n statusClass = 'msg-info';\r\n }\r\n } else if (STATUS_CANCELED === status.status) {\r\n statusClass = 'msg-warning';\r\n } else if (STATUS_ERROR === status.status) {\r\n statusClass = 'msg-error';\r\n }\r\n\r\n let message = this._renderMessage(status);\r\n\r\n if (STATUS_DONE !== status.status && status.progress) {\r\n if (this._getConfigParam('percent', true)) {\r\n message = `${message}: ${status.progress}%`;\r\n }\r\n\r\n if (this._getConfigParam('gauge', true)) {\r\n message = (\r\n '' +\r\n `` +\r\n '' +\r\n '
            ${message}' +\r\n '
            ' +\r\n `
            ` +\r\n '
            ' +\r\n '
            '\r\n );\r\n }\r\n }\r\n\r\n this._componentElement.className = `msg-box ${statusClass}`;\r\n this._componentElement.innerHTML = `
            ${message}
            `;\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n this._processStatus(this._getConfigParam('status', null));\r\n }\r\n\r\n _scheduleUpdateStatus() {\r\n setTimeout(() => {\r\n this._updateStatus();\r\n }, this._updateInterval * 1000);\r\n }\r\n\r\n _updateStatus() {\r\n api.get(this._statusUrl + this._id)\r\n .then(this._onStatusUpdateSuccess.bind(this))\r\n .catch(this._onStatusUpdateFailure.bind(this));\r\n }\r\n\r\n _onStatusUpdateSuccess(status) {\r\n this._failedStatusUpdates = 0;\r\n this._processStatus(status);\r\n if (this._onStatusUpdate) {\r\n this._onStatusUpdate(status);\r\n }\r\n }\r\n\r\n _onStatusUpdateFailure() {\r\n this._failedStatusUpdates++;\r\n if (this._failedStatusUpdates < this._maxFailedStatusUpdates) {\r\n this._scheduleUpdateStatus();\r\n }\r\n }\r\n\r\n _processStatus(status) {\r\n if (!status) {\r\n this._showLoading();\r\n this._updateStatus();\r\n } else if (STATUS_DONE === status.status) {\r\n if (this._onTaskDone) {\r\n this._onTaskDone(status);\r\n }\r\n this._showFinished(status);\r\n } else if (STATUS_CANCELED === status.status) {\r\n if (this._onTaskCancel) {\r\n this._onTaskCancel(status);\r\n }\r\n this._showFinished(status);\r\n } else if (STATUS_ERROR === status.status) {\r\n if (this._onTaskError) {\r\n this._onTaskError(status);\r\n }\r\n this._showError(status);\r\n } else if (STATUS_STARTED === status.status || STATUS_NOT_STARTED === status.status) {\r\n this._showWorking(status);\r\n this._scheduleUpdateStatus();\r\n } else {\r\n this._showNone(status);\r\n }\r\n }\r\n\r\n _addDetailsEvent() {\r\n const details = this._componentElement.querySelector('.js-details-link');\r\n if (!details) {\r\n return;\r\n }\r\n details.addEventListener('click', event => {\r\n event.preventDefault();\r\n this._componentElement.querySelector('.js-details').classList.toggle('hidden');\r\n details.classList.toggle('hidden');\r\n });\r\n }\r\n\r\n _showFinished(status) {\r\n this._showProgress(status);\r\n setTimeout(() => {\r\n this._addDetailsEvent();\r\n }, 0);\r\n }\r\n\r\n _showWorking(status) {\r\n this._showProgress(status);\r\n }\r\n\r\n _showError(status) {\r\n this._showProgress(status);\r\n setTimeout(() => {\r\n this._addDetailsEvent();\r\n }, 0);\r\n }\r\n\r\n _showLoading() {\r\n // empty implementation\r\n }\r\n\r\n _showNone() {\r\n // empty implementation\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport { DropdownManager } from './dropdown-manager';\r\nimport Cookie from 'common/cookie';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\nimport ce from './createElement';\r\nimport escapeHtml from './escapeHtml';\r\nimport api from './api';\r\nimport Locale from './Locale';\r\nimport addStatusMessage from './addStatusMessage';\r\nimport pageData from '../helpers/pageData';\r\nimport emptyFn from './emptyFn';\r\n\r\nimport './active-list.less';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new ActiveList({\r\n * renderTo: document.body,\r\n * toolbar: {\r\n * buttons: {\r\n * btn1: {\r\n * title: 'Add new item',\r\n * url: '#!'\r\n * }\r\n * }\r\n * },\r\n * layout: 'responsivecolumn',\r\n * data: [{\r\n * title: 'Item 1',\r\n * icon: 'class-icons/component-large.png',\r\n * buttons: [{\r\n * title: 'Action 1',\r\n * icon: 'class-icons/class-large.png'\r\n * }, {\r\n * title: 'Action 2',\r\n * icon: 'class-icons/singleton-large.png'\r\n * }]\r\n * }, {\r\n * title: 'Item 2',\r\n * icon: 'class-icons/component-large.png',\r\n * buttons: [{\r\n * title: 'Action 1',\r\n * icon: 'class-icons/class-large.png'\r\n * }, {\r\n * title: 'Action 2',\r\n * icon: 'class-icons/singleton-large.png'\r\n * }]\r\n * }]\r\n * });\r\n */\r\nexport class ActiveList extends Component {\r\n static stateCollapsed = (id, defaultValue = false) => {\r\n const cookieName = `${id}-state-collapsed`;\r\n let stateCollapsed = Cookie.get(cookieName);\r\n\r\n try {\r\n stateCollapsed = JSON.parse(stateCollapsed) || {};\r\n } catch {\r\n stateCollapsed = {};\r\n }\r\n\r\n return {\r\n get(item) {\r\n return stateCollapsed[item.id] === undefined ? defaultValue : Boolean(stateCollapsed[item.id]);\r\n },\r\n set(item, value) {\r\n if (value === defaultValue) {\r\n delete stateCollapsed[item.id];\r\n } else {\r\n stateCollapsed[item.id] = value ? 1 : 0;\r\n }\r\n Cookie.setPermanent(cookieName, JSON.stringify(stateCollapsed), '/');\r\n },\r\n };\r\n };\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this.urls = this._getConfigParam('urls', {});\r\n this.navigate = this._getConfigParam('onNavigate', emptyFn);\r\n this.pageUrl = this._getConfigParam('pageUrl', location.href);\r\n\r\n this.isCollapsible = this._getConfigParam('isCollapsible', false);\r\n this.isNew = this._getConfigParam('isNew', false);\r\n this.isShowItemTitle = this._getConfigParam('isShowItemTitle', true);\r\n this.layout = this._getConfigParam('layout', 'auto');\r\n if (typeof this.layout === 'string') {\r\n this.layout = {\r\n type: this.layout,\r\n };\r\n }\r\n\r\n this.stateCollapsed = ActiveList.stateCollapsed(this.getId());\r\n\r\n this.itemActions = this._getConfigParam('itemActions', {});\r\n this.data = this._getConfigParam('data', []);\r\n\r\n this._cls = `active-list${this.isCollapsible ? ' active-list-collapsible' : ''}`;\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n render(this._componentElement, this.view());\r\n }\r\n\r\n view() {\r\n return ce('.active-list-wrap',\r\n this.toolbarView(this._getConfigParam('toolbar')),\r\n this.itemsView(),\r\n this.bottomBarView(this._getConfigParam('countMoreItems', 0)),\r\n );\r\n }\r\n\r\n toolbarView(toolbar) {\r\n if (!toolbar) {\r\n return '';\r\n }\r\n\r\n return ce('.a-toolbar.a-toolbar-collapsed',\r\n ce('.a-toolbar-wrap',\r\n ce('.a-toolbar-buttons',\r\n ce('.a-toolbar-buttons-wrap',\r\n ce('table.a-toolbar-buttons-table[cellspacing=0]',\r\n ce('tbody',\r\n ce('tr',\r\n ce('td.a-toolbar-buttons-table-main',\r\n ce('.a-toolbar-buttons-main',\r\n Object.entries(toolbar.buttons).map(([id, { title, url, intent }]) => ce(\r\n `a.btn${intent ? `.btn-${intent}` : ''}`,\r\n {\r\n id,\r\n href: url,\r\n onclick: this.navigate,\r\n },\r\n ` ${escapeHtml(title)}`,\r\n )),\r\n ),\r\n ),\r\n ce('td.a-toolbar-buttons-table-misc',\r\n ce('.a-toolbar-buttons-misc',\r\n ce('.a-toolbar-buttons-settings.a-toolbar-buttons-settings-inactive',\r\n ce('button.btn.btn-settings[type=button]', { title: this.lmsg('settingsTitle') },\r\n ce('i.icon', ce('img[alt=\"\"]', {\r\n src: require('icons/16/plesk/settings-toolbar.png'),\r\n })),\r\n ),\r\n this.isNew ? ce('span.badge-new', this.lmsg('badgeNew')) : '',\r\n ce('.popup-box.a-toolbar-buttons-settings-popup',\r\n ce('table.popup-wrapper[cellspacing=0]', ce('tbody', ce('tr', ce('td.popup-container',\r\n ce('.c1', ce('.c2', ce('.c3', ce('.c4', ce('.c5',\r\n ce('.popup-content',\r\n ce('.popup-content-area',\r\n ce('.settings-list',\r\n ce('.settings-item.settings-item-1',\r\n ce('h3.settings-item-title',\r\n ce('span', `${this.lmsg('sortTitle')}:`),\r\n ),\r\n ce(`a.btn${toolbar.sortDir === 'up' ? '.btn-state-selected' : ''}`,\r\n { href: this.urls['sort-up'] },\r\n ce('i.icon', ce('img[alt=\"\"]', {\r\n src: require('icons/16/plesk/order-ascending.png'),\r\n })),\r\n this.lmsg('orderAscending'),\r\n ),\r\n ce(`a.btn${toolbar.sortDir === 'down' ? '.btn-state-selected' : ''}`,\r\n { href: this.urls['sort-down'] },\r\n ce('i.icon', ce('img[alt=\"\"]', {\r\n src: require('icons/16/plesk/order-descending.png'),\r\n })),\r\n this.lmsg('orderDescending'),\r\n ),\r\n ),\r\n (toolbar.allowListSwitch && toolbar.hasClassicView) ?\r\n ce('.settings-item.settings-item-2',\r\n ce('h3.settings-item-title',\r\n ce('span', `${this.lmsg('modeTitle')}:`),\r\n ),\r\n ce('a.btn.btn-state-selected',\r\n ce('i.icon', ce('img[alt=\"\"]', {\r\n src: require('icons/16/plesk/list-type-active.png'),\r\n })),\r\n this.lmsg('typeActive'),\r\n ),\r\n toolbar.hasClassicView ? ce('a.btn', { href: '?list-type=classic' },\r\n ce('i.icon', ce('img[alt=\"\"]', {\r\n src: require('icons/16/plesk/list-type-classic.png'),\r\n })),\r\n this.lmsg('typeClassic'),\r\n ) : null,\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 ),\r\n ),\r\n );\r\n }\r\n\r\n itemsView() {\r\n if (!this.data.length) {\r\n return this.emptyView();\r\n }\r\n\r\n const items = this.data.map(this.itemView.bind(this));\r\n if (this.layout.type !== 'responsivecolumn') {\r\n return items;\r\n }\r\n\r\n let cls = ['.grid'];\r\n if (this.layout.stretched !== false) {\r\n cls.push('.grid-stretched');\r\n }\r\n cls = cls.concat((this.layout.columns || 'xl-2 xxl-3').split(' ').map(cls => `.grid-${cls}`));\r\n\r\n return ce(cls.join(''),\r\n items.map(item => ce('.grid-col', item)),\r\n );\r\n }\r\n\r\n emptyView() {\r\n return ce('p', this.lmsg('noObjects'));\r\n }\r\n\r\n itemView(item) {\r\n const itemClasses = [\r\n '.active-list-item',\r\n ];\r\n const types = [\r\n 'danger',\r\n 'warning',\r\n 'inactive',\r\n 'success',\r\n ];\r\n\r\n if (item.type && types.indexOf(item.type) > -1) {\r\n itemClasses.push(`.active-list-item-${item.type}`);\r\n }\r\n if (this.isCollapsible && item.buttons) {\r\n itemClasses.push('.active-list-item-collapsible');\r\n itemClasses.push(this.stateCollapsed.get(item) ? '.active-list-item-collapsed' : '.active-list-item-expanded');\r\n } else {\r\n itemClasses.push('.active-list-item-expanded');\r\n }\r\n\r\n return ce(`#active-list-item-${item.id}${itemClasses.join('')}`, { style: 'position:relative' },\r\n ce('.content-blocker', { style: 'display:none;' }),\r\n ce('.active-list-item-wrap',\r\n this.itemCaptionView(item),\r\n this.itemDetailsView(item),\r\n ),\r\n );\r\n }\r\n\r\n itemDetailsView(item) {\r\n const children = [];\r\n if (item.settings && item.settings.length) {\r\n children.push(this.itemSettingsView(item));\r\n }\r\n if (item.buttons && item.buttons.length) {\r\n children.push(this.itemToolsView(item));\r\n }\r\n\r\n if (!children.length) {\r\n return '';\r\n }\r\n\r\n return ce('.active-list-details',\r\n ce('.active-list-details-wrap',\r\n children,\r\n ),\r\n );\r\n }\r\n\r\n itemSettingsView(item) {\r\n return ce('.list',\r\n ce(`table#active-list-item-settings-table-${item.id}[width=100%][cellspacing=0]`,\r\n ce('tbody',\r\n item.settings.map((settings, index) => ce(`tr${index % 2 ? '.even' : '.odd'}`,\r\n ce('td.min',\r\n ce('span.tooltipData', escapeHtml(settings.hint)),\r\n ce(`a.s-btn.${settings.button}[data-method=post]`, { href: settings.url }, ce('span')),\r\n ),\r\n ce('td', escapeHtml(settings.name)),\r\n ce('td', escapeHtml(settings.description)),\r\n )),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n itemToolsView(item) {\r\n return ce('.tools-list-box',\r\n ce('.box-area',\r\n ce('.content',\r\n ce('.content-area',\r\n ce('ul.tools-list',\r\n item.buttons.map(button => {\r\n let onClick = null;\r\n if (button.name && this.itemActions[button.name]) {\r\n onClick = event => {\r\n event.preventDefault();\r\n this.itemActions[button.name](item, event);\r\n };\r\n } else if (button.handler) {\r\n onClick = typeof button.handler === 'function'\r\n ? button.handler\r\n : `(${button.handler}(event)); return false;`;\r\n } else {\r\n onClick = this.navigate;\r\n }\r\n\r\n return ce('li.tools-item',\r\n ce(`a.tool-block${button.disabled ? '.disabled' : ''}`,\r\n {\r\n href: !button.disabled && button.href ? button.href : null,\r\n onclick: button.disabled ? null : onClick,\r\n target: button.target || null,\r\n 'data-identity': button.id || null,\r\n 'data-action-name': button.name || null,\r\n rel: button.target === '_blank' ? 'noopener noreferrer' : null,\r\n },\r\n ce('span.tool-icon', ce('img[alt=\"\"]', { src: button.icon })),\r\n ce('span.tool-name', button.noEscapeTitle ? button.title : escapeHtml(button.title)),\r\n button.new ? ce('span.badge-new', this.lmsg('badgeNew')) : '',\r\n Array.isArray(button.additionalComments) ? ce('.span.tool-info',\r\n button.additionalComments\r\n .map(comment => button.noEscape ? comment : escapeHtml(comment))\r\n .join('
            '),\r\n ) : '',\r\n ),\r\n button.comment ? ce('span.tooltipData', escapeHtml(button.comment)) : '',\r\n );\r\n }),\r\n ),\r\n ),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n bottomBarView(countMoreItems) {\r\n if (!countMoreItems) {\r\n return '';\r\n }\r\n\r\n return ce('.active-list-bottom-bar',\r\n ce('.active-list-bottom-bar-wrap', this.lmsg('showAll', {\r\n countMoreItems,\r\n loadAllLink: `${this.lmsg('loadAll')}`,\r\n switchToLink: `${this.lmsg('switchTo', { listType: this.lmsg('typeClassic') })}`,\r\n })),\r\n );\r\n }\r\n\r\n itemCaptionView(item) {\r\n return ce('.caption',\r\n ce('.caption-wrap',\r\n this.itemCaptionHeaderView(item),\r\n this.itemCaptionServicesView(item),\r\n this.itemCaptionDataView(item),\r\n this.itemCaptionAdditionalHtml(item),\r\n Array.isArray(item.buttons) && item.buttons.length ? (\r\n this.isCollapsible ? ce('.caption-control',\r\n {\r\n onclick: this.toggleItem.bind(this, item),\r\n },\r\n ce('span.caption-control-wrap',\r\n ce('i'), ' ',\r\n ce('span.caption-control-on', this.lmsg('showMore')),\r\n ce('span.caption-control-off', this.lmsg('showLess')),\r\n ),\r\n ) : ''\r\n ) : '',\r\n ),\r\n );\r\n }\r\n\r\n itemCaptionHeaderView(item) {\r\n return ce('.caption-header',\r\n ce('.caption-widget'),\r\n ce('.caption-header-wrap',\r\n ce('.caption-main',\r\n item.icon ? ce('.caption-icon',\r\n ce('span', ce('img[alt=\"\"]', { src: item.icon })),\r\n ) : '',\r\n this.itemCaptionHeadView(item),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n itemCaptionHeadView(item) {\r\n return ce('.caption-head',\r\n this.isShowItemTitle ? this.itemCaptionHeadWrapView(item) : '',\r\n this.itemCaptionSummaryView(item),\r\n this.itemCaptionToolbarView(item),\r\n );\r\n }\r\n\r\n itemCaptionHeadWrapView(item) {\r\n let labels = [];\r\n const labelTypes = ['danger', 'warning', 'success', 'info', 'inactive'];\r\n\r\n if (Array.isArray(item.labels) && item.labels.length) {\r\n labels = item.labels.map(function (label) {\r\n const type = label.type && labelTypes.indexOf(label.type) > -1 ? label.type : '';\r\n const cls = type === '' ? '' : (`.label-${type}`);\r\n\r\n return ce(`span.label${cls}`, label.value || '');\r\n });\r\n }\r\n\r\n return ce('.caption-head-wrap',\r\n {\r\n onclick: this.isCollapsible && item.buttons ? this.onCaptionHeadWrapClick.bind(this, item) : null,\r\n },\r\n ce('h2.caption-name',\r\n ce('span', escapeHtml(item.title)),\r\n ),\r\n labels,\r\n Array.isArray(item.primaryActions) && item.primaryActions.length ? ce('span.caption-head-widget',\r\n item.primaryActions.map(function (action) {\r\n return [ce('a.btn', { href: action.link },\r\n action.title,\r\n ), ' '];\r\n }),\r\n ) : '',\r\n );\r\n }\r\n\r\n itemCaptionSummaryView(item) {\r\n return Array.isArray(item.summary) && item.summary.length ? ce('.caption-summary',\r\n ce('.caption-summary-wrap',\r\n item.summary.map(this.summaryItemView.bind(this)),\r\n ),\r\n ) : item.summary || '';\r\n }\r\n\r\n summaryItemView(summaryItem) {\r\n return ce('span.summary-item', `${summaryItem.name}: ${summaryItem.value}`);\r\n }\r\n\r\n itemCaptionToolbarView(item) {\r\n return Array.isArray(item.toolbar) && item.toolbar.length ? ce('.caption-toolbar',\r\n ce('.caption-toolbar-wrap',\r\n item.toolbar.map(this.toolbarButtonView.bind(this)),\r\n ),\r\n ) : '';\r\n }\r\n\r\n toolbarButtonView(button) {\r\n return ce(`a.i-link${button.action ? `[data-item-action=\"${button.action}\"]` : ''}`, { href: button.link || null },\r\n button.icon || button.iconClass ? [ce(`i${button.iconClass ? `.${button.iconClass}` : 'icon'}`,\r\n button.icon ? ce('img[alt=\"\"]', { src: button.icon }) : '',\r\n ), ' '] : '',\r\n ce('span', escapeHtml(button.title)),\r\n );\r\n }\r\n\r\n itemCaptionServicesView(item) {\r\n return Array.isArray(item.services) ? item.services.map(this.itemServiceView.bind(this)) : '';\r\n }\r\n\r\n itemServiceView(service) {\r\n return ce(`.caption-services${service.class ? `.${service.class}` : ''}`, { style: service.hidden ? 'display:none' : '' },\r\n ce('.caption-services-wrap',\r\n service.header ? ce(service.headerClass ? `.${service.headerClass}` : '',\r\n service.closeUrl ? ce('span.close', { 'data-close-url': service.closeUrl }) : '',\r\n service.header,\r\n ) : '',\r\n this.itemServiceBlockView(service),\r\n ),\r\n );\r\n }\r\n\r\n renderItemServiceView(service) {\r\n const type = service.type\r\n .replace(/(^\\w|-\\w)/g, ch => ch.toUpperCase())\r\n .replaceAll('-', '');\r\n return this[`itemService${type}View`](service);\r\n }\r\n\r\n itemServiceBlockView(service) {\r\n if (service.grid) {\r\n const columns = service.grid.reduce(function (columns, service) {\r\n return columns + (service.colspan || 1);\r\n }, 0);\r\n return ce(`.b-grid${service.grid.length > 1 ? `.b-grid-${columns}` : ''}`,\r\n ce('ul.b-grid-list',\r\n service.grid.map(function (subService) {\r\n return ce(`li.b-grid-item${service.grid.length > 1 && subService.colspan ? `.b-grid-item-${subService.colspan}` : ''}`,\r\n ce('.b-grid-item-wrap', this.itemServiceBlockView(subService)),\r\n );\r\n }.bind(this)),\r\n ),\r\n );\r\n }\r\n\r\n if (service.type) {\r\n return this.renderItemServiceView(service);\r\n }\r\n\r\n let icon = ce('img[alt=\"\"]', { src: service.icon });\r\n let name = escapeHtml(service.title);\r\n if (service.href) {\r\n icon = ce(`a${service.newWindow ? '[target=_blank]' : ''}`, {\r\n href: service.href,\r\n onclick: this.navigate,\r\n }, icon);\r\n name = ce(`a${service.newWindow ? '[target=_blank]' : ''}`, {\r\n href: service.href,\r\n onclick: this.navigate,\r\n }, name);\r\n }\r\n\r\n const description = service.description ? service.description : '';\r\n return ce('.caption-service-block',\r\n ce('span.caption-service-title',\r\n ce('i.caption-service-icon', icon),\r\n ce('span.caption-service-name', name, description),\r\n ),\r\n Array.isArray(service.links) && service.links.length ? ce('.caption-service-toolbar',\r\n service.links.map(function (link) {\r\n let linkView;\r\n if (link.childLinks && link.childLinks.length) {\r\n linkView = ce('.btn-group',\r\n ce('a.btn', {\r\n href: link.href,\r\n target: link.newWindow ? '_blank' : null,\r\n }, escapeHtml(link.title)),\r\n ce('button.btn.dropdown-toggle[type=button]', ce('em.caret')),\r\n ce('ul.dropdown-menu',\r\n link.childLinks.map(function (childLink) {\r\n return ce('li',\r\n ce('a', {\r\n href: childLink.href,\r\n target: childLink.newWindow ? '_blank' : null,\r\n }, escapeHtml(childLink.title)),\r\n );\r\n }),\r\n ),\r\n );\r\n } else {\r\n const icon = link.icon ? [ce('i.icon', ce('img[alt=\"\"]', { src: link.icon })), ' '] : '';\r\n if (link.isSimpleText) {\r\n linkView = ce('span',\r\n icon,\r\n link.noEscape ? link.info : escapeHtml(link.info),\r\n );\r\n } else if (link.isSimpleLink) {\r\n linkView = ce(`span${link.spanClass ? `.${link.spanClass}` : ''}`,\r\n icon,\r\n `${escapeHtml(link.info)} `,\r\n ce('a', {\r\n href: link.href,\r\n class: link.class ? escapeHtml(link.class) : null,\r\n onclick: link.onClick ? escapeHtml(link.onClick) : null,\r\n target: link.newWindow ? '_blank' : null,\r\n }, escapeHtml(link.title)),\r\n );\r\n } else {\r\n linkView = ce('a.btn', {\r\n href: link.href,\r\n class: link.class ? escapeHtml(link.class) : null,\r\n onclick: link.onClick ? escapeHtml(link.onClick) : null,\r\n target: link.newWindow ? '_blank' : null,\r\n id: link.id ? escapeHtml(link.id) : null,\r\n name: link.name ? escapeHtml(link.name) : null,\r\n }, icon, escapeHtml(link.title));\r\n }\r\n }\r\n\r\n return [\r\n link.newLine ? ce('br') : '',\r\n linkView,\r\n ' ',\r\n ];\r\n }),\r\n ) : '',\r\n );\r\n }\r\n\r\n itemCaptionDataView(item) {\r\n if (!item.data || !item.data.length) {\r\n return '';\r\n }\r\n\r\n return ce('.caption-data',\r\n ce('.caption-data-wrap',\r\n item.data.map(function (data, index) {\r\n return ce('.form-group',\r\n ce(`label.control-label[for=active-list-data-${item.id}-${index}]`, data.label),\r\n ce(`textarea#active-list-data-${item.id}-${index}.form-control.code[rows=${data.linesNumber}][readonly]`, escapeHtml(data.text)),\r\n );\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n itemCaptionAdditionalHtml(item) {\r\n if (!item.additionalHtml) {\r\n return '';\r\n }\r\n\r\n return ce('.caption-data',\r\n ce('.caption-data-wrap', item.additionalHtml),\r\n );\r\n }\r\n\r\n onCaptionHeadWrapClick(item, event) {\r\n if (event && event.target.closest('.caption-head-action, .caption-head-status, .caption-head-widget')) {\r\n return;\r\n }\r\n\r\n this.toggleItem(item);\r\n\r\n const el = this.getItemElement(item);\r\n if (el.classList.contains('active-list-item-collapsed')) {\r\n return;\r\n }\r\n\r\n const itemBottom = Element.cumulativeOffset(el).top + Element.getHeight(el);\r\n const viewportBottom = document.viewport.getScrollOffsets().top + document.viewport.getHeight();\r\n if (itemBottom + 40 > viewportBottom) {\r\n this.scrollToItem(el, 500);\r\n }\r\n }\r\n\r\n getItemElement(item) {\r\n return this._componentElement.querySelector(`#active-list-item-${String(item.id).replace(/:/g, '\\\\:')}`);\r\n }\r\n\r\n _addEvents() {\r\n this._componentElement.querySelectorAll('.dropdown-toggle').forEach(element => {\r\n element.addEventListener('click', event => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n const hadClassName = event.target.closest('.btn-group').classList.contains('btn-group-open');\r\n document.querySelectorAll('.active-list .dropdown-toggle').forEach(elem => {\r\n elem.closest('.btn-group').classList.remove('btn-group-open');\r\n });\r\n if (!hadClassName) {\r\n event.target.closest('.btn-group').classList.add('btn-group-open');\r\n }\r\n });\r\n document.body.addEventListener('click', () => {\r\n element.closest('.btn-group').classList.remove('btn-group-open');\r\n });\r\n });\r\n\r\n this._componentElement.querySelectorAll('.a-toolbar-buttons-misc .btn-search').forEach(element => {\r\n element.addEventListener('click', () => {\r\n element.closest('.a-toolbar').classList.toggle('a-toolbar-collapsed');\r\n element.closest('.a-toolbar').classList.toggle('a-toolbar-expanded');\r\n });\r\n });\r\n\r\n this._componentElement.querySelectorAll('.a-toolbar-buttons-misc .btn-settings').forEach(el => {\r\n DropdownManager.register(el,\r\n function () {\r\n return el.parentNode.classList.contains('a-toolbar-buttons-settings-active');\r\n },\r\n function () {\r\n el.parentNode.classList.add('a-toolbar-buttons-settings-active');\r\n el.parentNode.classList.remove('a-toolbar-buttons-settings-inactive');\r\n },\r\n function () {\r\n el.parentNode.classList.add('a-toolbar-buttons-settings-inactive');\r\n el.parentNode.classList.remove('a-toolbar-buttons-settings-active');\r\n },\r\n );\r\n });\r\n\r\n this._componentElement.querySelectorAll('.caption-services .close').forEach(element => {\r\n element.addEventListener('click', event => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n const { closeUrl } = event.target.dataset;\r\n event.target.closest('.caption').querySelectorAll('.caption-services').forEach(element => {\r\n element.style.display = '';\r\n });\r\n const servicesEl = event.target.closest('.caption-services');\r\n servicesEl.parentNode.removeChild(servicesEl);\r\n api.post(prepareUrl(closeUrl));\r\n });\r\n });\r\n\r\n this._initToolbar();\r\n }\r\n\r\n disableItem(id) {\r\n this.getItemElement({ id }).querySelector('.content-blocker').style.display = '';\r\n }\r\n\r\n enableItem(id) {\r\n this.getItemElement({ id }).querySelector('.content-blocker').style.display = 'none';\r\n }\r\n\r\n _initToolbar() {\r\n this._componentElement.querySelectorAll('.a-toolbar-buttons-main').forEach(toolbarEl => {\r\n const itemEls = [...toolbarEl.children];\r\n\r\n const menuEl = new Element('span', { class: 'btn-group' });\r\n menuEl.innerHTML = (\r\n '' +\r\n '
              '\r\n );\r\n\r\n menuEl.addEventListener('click', event => {\r\n event.stopPropagation();\r\n menuEl.classList.toggle('btn-group-open');\r\n\r\n const dropdownMenu = menuEl.querySelector('.dropdown-menu');\r\n if (Element.getStyle(dropdownMenu, 'display') !== 'none') {\r\n dropdownMenu.style.right = 0;\r\n const offset = Element.cumulativeOffset(dropdownMenu);\r\n const { left } = Element.cumulativeOffset(toolbarEl);\r\n if (offset.left < left) {\r\n dropdownMenu.style.right = `${offset.left - left}px`;\r\n }\r\n }\r\n });\r\n document.body.addEventListener('click', () => {\r\n menuEl.classList.remove('btn-group-open');\r\n });\r\n render(toolbarEl, menuEl);\r\n\r\n const layout = Element.getLayout(menuEl);\r\n toolbarEl._menuEl = {\r\n el: menuEl,\r\n width: Element.getWidth(menuEl) + layout.get('margin-left') + layout.get('margin-right'),\r\n };\r\n menuEl.style.display = 'none';\r\n\r\n toolbarEl._items = [];\r\n itemEls.forEach(itemEl => {\r\n const itemElClone = itemEl.cloneNode(true);\r\n itemElClone.classList.remove('btn');\r\n\r\n const liEl = new Element('li');\r\n render(liEl, itemElClone);\r\n render(menuEl.querySelector('ul'), liEl);\r\n\r\n const layout = Element.getLayout(itemEl);\r\n toolbarEl._items.push({\r\n el: itemEl,\r\n elInMenu: liEl,\r\n width: Element.getWidth(itemEl) + layout.get('margin-left') + layout.get('margin-right'),\r\n });\r\n });\r\n });\r\n\r\n const onWindowResize = () => {\r\n document.querySelectorAll('.a-toolbar-buttons-main').forEach(toolbarEl => {\r\n let width = Element.getWidth(toolbarEl);\r\n width -= toolbarEl._menuEl.width;\r\n\r\n toolbarEl._items.forEach(function (item) {\r\n if (width > item.width) {\r\n item.el.style.display = '';\r\n item.elInMenu.style.display = 'none';\r\n width -= item.width;\r\n } else {\r\n item.el.style.display = 'none';\r\n item.elInMenu.style.display = '';\r\n width = -1;\r\n }\r\n });\r\n if (width === -1) {\r\n toolbarEl._menuEl.el.style.display = '';\r\n } else {\r\n toolbarEl._menuEl.el.style.display = 'none';\r\n }\r\n });\r\n };\r\n\r\n onWindowResize();\r\n window.addEventListener('resize', onWindowResize);\r\n }\r\n\r\n toggleItem(item) {\r\n this.getItemElement(item).classList.toggle('active-list-item-collapsed');\r\n this.getItemElement(item).classList.toggle('active-list-item-expanded');\r\n this.stateCollapsed.set(item, !this.stateCollapsed.get(item));\r\n }\r\n\r\n scrollToItem(el, duration) {\r\n const startTime = new Date().getTime();\r\n const from = document.viewport.getScrollOffsets().top;\r\n let to = Element.cumulativeOffset(el).top - Element.cumulativeOffset(document.querySelector('.pul-layout__main')).top - 40;\r\n\r\n if (document.getElementById('classic-mode-navigation')) {\r\n to -= Element.getHeight(document.getElementById('classic-mode-navigation'));\r\n }\r\n\r\n const frame = () => {\r\n let progress = duration ? ((new Date().getTime() - startTime) / duration) : 1;\r\n if (progress > 1) {\r\n progress = 1;\r\n }\r\n\r\n window.scrollTo(0, Math.round(from + ((to - from) * progress)));\r\n\r\n if (progress < 1) {\r\n setTimeout(frame, 50);\r\n }\r\n };\r\n frame();\r\n }\r\n\r\n getItemIdFromUrl(url) {\r\n const m = url.match('/id/([0-9]+)');\r\n return m && m[1];\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n const id = this.getItemIdFromUrl(decodeURIComponent(this.pageUrl));\r\n if (!id) {\r\n return;\r\n }\r\n\r\n const el = this.getItemElement({ id });\r\n if (el) {\r\n pageData().status?.forEach(({ status, content, ...props }) => {\r\n addStatusMessage(status, content, {\r\n ...props,\r\n title: Locale.getSection('components.status').lmsg(status),\r\n renderTo: el.querySelector('.caption-header-wrap'),\r\n renderMode: 'top',\r\n });\r\n });\r\n pageData({ ...pageData(), status: [] });\r\n this.scrollToItem(el, 10);\r\n }\r\n }\r\n}\r\n","module.exports = Jsw.skinUrl + \"/icons/16/plesk/settings-toolbar.png?6074d526f4dc827dee3280629d2e5130\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/order-ascending.png?3c02863d9b5c4a3cf034bd74e0183fa6\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/order-descending.png?c973774da91e3186ce0b188d9d895ef1\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/list-type-active.png?2bd72c88d60436bb8acc8328ed7f9ed3\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/list-type-classic.png?3eb8621bc8257a9b5f9995433f509a57\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from '../component';\r\nimport addStatusMessage from '../addStatusMessage';\r\nimport clearStatusMessages from '../clearStatusMessages';\r\nimport showInternalError from '../showInternalError';\r\nimport prepareUrl from '../prepareUrl';\r\nimport render from '../render';\r\nimport ce from '../createElement';\r\nimport escapeHtml from '../escapeHtml';\r\nimport emptyFn from '../emptyFn';\r\nimport { ESC, ENTER } from '../keyCode';\r\nimport api from '../api';\r\nimport { getTypeIcon } from '../../helpers/fileManager';\r\n\r\nimport './tree.less';\r\n\r\n/**\r\n * The widget displays directories and files in the webspace, allows selection\r\n *\r\n * Example usage:\r\n *\r\n * @example\r\n * new FileManager.Tree({\r\n * renderTo: document.body,\r\n * rootNodeTitle: 'Root node',\r\n * data: [{\r\n * name: 'folder',\r\n * isDirectory: true,\r\n * icon: '/icons/16/plesk/file-folder.png'\r\n * }, {\r\n * name: 'file.html',\r\n * isDirectory: false,\r\n * icon: '/icons/16/plesk/file-html.png'\r\n * }]\r\n * });\r\n */\r\nexport class Tree extends Component {\r\n /**\r\n * @cfg {Object[]} data=[]\r\n */\r\n /**\r\n * @cfg {String} dataUrl=\"\"\r\n */\r\n /**\r\n * @cfg {Boolean} showFiles=false\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._data = this._getConfigParam('data', null);\r\n this._dataUrl = this._getConfigParam('dataUrl', '');\r\n this._createFolderUrl = this._getConfigParam('createFolderUrl', '');\r\n this._onNodeClick = this._getConfigParam('onNodeClick', emptyFn);\r\n this._rootNodeTitle = this._getConfigParam('rootNodeTitle', '');\r\n this._onReload = this._getConfigParam('onReload', emptyFn);\r\n this._showFiles = this._getConfigParam('showFiles', false);\r\n this._filterNodes = this._getConfigParam('filterNodes', () => true);\r\n this._selectOnlyFiles = this._showFiles && this._getConfigParam('selectOnlyFiles', false);\r\n if (this._getConfigParam('showMessage')) {\r\n this._showMessage = this._getConfigParam('showMessage');\r\n }\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n if (null === this._data) {\r\n this.reload();\r\n } else {\r\n this._initTreeView();\r\n }\r\n }\r\n\r\n _initTreeView() {\r\n this._componentElement.innerHTML = '
              ';\r\n const container = this._componentElement.firstChild;\r\n\r\n this._insertNode(container, {\r\n name: this._rootNodeTitle,\r\n path: '/',\r\n htmlElement: 'div',\r\n cssClass: 'tree-item-root',\r\n isRootDirectory: true,\r\n isDirectory: true,\r\n });\r\n render(container, this._getNodes(this._data));\r\n }\r\n\r\n _getNodes(items) {\r\n const ulElement = new Element('ul', { class: 'tree-container' });\r\n\r\n items.filter(this._filterNodes).forEach(this._insertNode.bind(this, ulElement));\r\n\r\n return ulElement;\r\n }\r\n\r\n _insertNode(container, item, position) {\r\n const element = document.createElement(item.htmlElement || 'li');\r\n element.className = `tree-item ${item.cssClass ? item.cssClass : ''}`;\r\n element.innerHTML = '
              ';\r\n const wrapper = element.firstChild;\r\n element.data = item;\r\n\r\n const itemSelect = document.createElement('div');\r\n itemSelect.className = 'tree-item-select';\r\n render(wrapper, itemSelect);\r\n this._addCommonEvents(itemSelect, item, element);\r\n if (item.isDirectory && !item.isRootDirectory) {\r\n render(wrapper, ``);\r\n wrapper.querySelector('.tree-item-state').addEventListener('click', this._onNodeToggle.bind(this, item.path, element));\r\n wrapper.addEventListener('dblclick', this._onNodeToggle.bind(this, item.path, element));\r\n if (!this._selectOnlyFiles) {\r\n wrapper.querySelector('.tree-item-state').addEventListener('mouseover', this._onNodeMouseover.bind(this, element));\r\n wrapper.querySelector('.tree-item-state').addEventListener('mouseleave', this._onNodeMouseleave.bind(this, element));\r\n }\r\n } else if (!item.isRootDirectory) {\r\n render(wrapper, ``);\r\n }\r\n const linkElement = document.createElement('a');\r\n linkElement.className = 'tree-item-content';\r\n linkElement.innerHTML = `\"\"${escapeHtml(item.name)}`;\r\n this._addCommonEvents(linkElement, item, element);\r\n render(wrapper, linkElement);\r\n\r\n render(container, element, position === 'top' ? 'top' : 'bottom');\r\n }\r\n\r\n _addCommonEvents(target, item, element) {\r\n if (item.isDirectory && this._selectOnlyFiles) {\r\n return;\r\n }\r\n target.addEventListener('mouseover', this._onNodeMouseover.bind(this, element));\r\n target.addEventListener('mouseleave', this._onNodeMouseleave.bind(this, element));\r\n target.addEventListener('click', event => {\r\n this._onNodeSelect(event, element);\r\n });\r\n target.addEventListener('click', this._onNodeClick.bind(this, item.path, element));\r\n }\r\n\r\n _onNodeToggle(directoryPath, containerElement) {\r\n const subTreeElement = containerElement.querySelector('ul');\r\n const expandElement = containerElement.querySelector('.tree-item-state');\r\n\r\n if (subTreeElement) {\r\n expandElement.innerHTML = ``;\r\n subTreeElement.parentNode.removeChild(subTreeElement);\r\n containerElement.data.showNewNode = false;\r\n return;\r\n }\r\n\r\n this._loadNode(directoryPath, containerElement);\r\n }\r\n\r\n _loadNode(directoryPath, containerElement) {\r\n if (containerElement.querySelector('.tree-item-state').querySelector('.js-loader')) {\r\n return;\r\n }\r\n this._onNodeLoadStart(containerElement);\r\n api.get(prepareUrl(this._dataUrl), { rootDir: directoryPath, showFiles: this._showFiles })\r\n .then(this._onNodeLoadSuccess.bind(this, containerElement))\r\n .catch(this._onNodeLoadFailure.bind(this));\r\n }\r\n\r\n _isNodeExpanded(nodeElement) {\r\n return !!nodeElement.querySelector('ul') || nodeElement.classList.contains('tree-item-root');\r\n }\r\n\r\n _onNodeLoadStart(containerElement) {\r\n const expandElement = containerElement.querySelector('.tree-item-state');\r\n expandElement.innerHTML = ``;\r\n }\r\n\r\n _onNodeLoadSuccess(containerElement, items) {\r\n const expandElement = containerElement.querySelector('.tree-item-state');\r\n if (items.status) {\r\n expandElement.innerHTML = ``;\r\n this._showMessage(items.status, items.message);\r\n return;\r\n }\r\n\r\n clearStatusMessages();\r\n expandElement.innerHTML = ``;\r\n render(containerElement, this._getNodes(items));\r\n if (containerElement.data.showNewNode) {\r\n this.showNewNode(containerElement);\r\n }\r\n }\r\n\r\n _showMessage(status, message) {\r\n clearStatusMessages();\r\n addStatusMessage(status, message);\r\n }\r\n\r\n _onNodeSelect(event, containerElement) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n this.resetSelection();\r\n containerElement.querySelector('.tree-item-wrap').classList.add('tree-item-row-active');\r\n this.hideNewNode();\r\n }\r\n\r\n resetSelection() {\r\n this._componentElement.querySelectorAll('.tree-item-wrap').forEach(element => {\r\n element.classList.remove('tree-item-row-active');\r\n });\r\n }\r\n\r\n _onNodeMouseover(containerElement) {\r\n this.resetHover();\r\n containerElement.querySelector('.tree-item-select').classList.add('tree-item-hover');\r\n }\r\n\r\n _onNodeMouseleave(containerElement) {\r\n this.resetHover();\r\n containerElement.querySelector('.tree-item-select').classList.remove('tree-item-hover');\r\n }\r\n\r\n resetHover() {\r\n this._componentElement.querySelectorAll('.tree-item-select').forEach(element => {\r\n element.classList.remove('tree-item-hover');\r\n });\r\n }\r\n\r\n /**\r\n * @param {String} directory\r\n */\r\n setDirectory(directory) {\r\n const node = this._getNodeElement(directory);\r\n if (node) {\r\n this._onNodeSelect(null, node);\r\n }\r\n }\r\n\r\n reload() {\r\n this._componentElement.innerHTML = '
              Please wait...
              ';\r\n\r\n api.get(prepareUrl(this._dataUrl), { rootDir: '/', showFiles: this._showFiles })\r\n .then(this._onFullReloadSuccess.bind(this))\r\n .catch(this._onNodeLoadFailure.bind(this));\r\n }\r\n\r\n _onFullReloadSuccess(data) {\r\n this._data = data;\r\n this._initTreeView();\r\n this._onReload();\r\n }\r\n\r\n _onNodeLoadFailure() {\r\n showInternalError('Failed to load tree data.');\r\n }\r\n\r\n reloadPath(path) {\r\n if (path === '/') {\r\n this.reload();\r\n return;\r\n }\r\n\r\n const node = this._getNodeElement(path);\r\n if (!node) {\r\n return;\r\n }\r\n\r\n if (this._isNodeExpanded(node)) {\r\n const el = node.querySelector('ul');\r\n el.parentNode.removeChild(el);\r\n this._loadNode(path, node);\r\n }\r\n }\r\n\r\n _getNodeElement(path) {\r\n if (typeof path !== 'string') {\r\n return null;\r\n }\r\n const nodes = this._componentElement.querySelectorAll('.tree-item');\r\n for (let i = 0; i < nodes.length; i++) {\r\n if (nodes[i].data.path === path) {\r\n return nodes[i];\r\n }\r\n }\r\n const lastSlashIndex = path.lastIndexOf('/');\r\n if (lastSlashIndex > 0) {\r\n return this._getNodeElement(path.slice(0, lastSlashIndex));\r\n }\r\n return null;\r\n }\r\n\r\n getSelectedNode() {\r\n const selectedElement = this._componentElement.querySelector('.tree-item-row-active');\r\n if (!selectedElement) {\r\n return null;\r\n }\r\n\r\n return selectedElement.closest('.tree-item');\r\n }\r\n\r\n getSelectedItemData() {\r\n const selectedElement = this.getSelectedNode();\r\n if (!selectedElement) {\r\n return null;\r\n }\r\n\r\n return selectedElement.data;\r\n }\r\n\r\n expandNode(node) {\r\n if (!node) {\r\n node = this.getSelectedNode();\r\n }\r\n if (this._isNodeExpanded(node)) {\r\n return;\r\n }\r\n\r\n this._loadNode(node.data.path, node);\r\n }\r\n\r\n showNewNode(parentNode) {\r\n if (!parentNode) {\r\n parentNode = this.getSelectedNode();\r\n }\r\n if (!parentNode) {\r\n // Process root node\r\n parentNode = this._componentElement.querySelector('.tree-item-root');\r\n }\r\n parentNode.data.showNewNode = true;\r\n if (!this._isNodeExpanded(parentNode)) {\r\n this.expandNode(parentNode);\r\n return;\r\n }\r\n let container = parentNode.querySelector('ul.tree-container');\r\n if (!container) {\r\n // Process root node\r\n container = parentNode.nextElementSibling;\r\n }\r\n this._insertNewNode(container, {\r\n name,\r\n path: parentNode.data.path,\r\n icon: '/icons/16/plesk/file-folder.png',\r\n isDirectory: true,\r\n type: 'dir',\r\n }, 'top');\r\n }\r\n\r\n hideNewNode() {\r\n const newNode = this._componentElement.querySelector('.js-tree-item-new');\r\n if (!newNode) {\r\n return;\r\n }\r\n let parentNode = newNode.closest('.tree-item');\r\n if (!parentNode) {\r\n // Process root node\r\n parentNode = this._componentElement.querySelector('.tree-item-root');\r\n }\r\n parentNode.data.showNewNode = false;\r\n newNode.parentNode.removeChild(newNode);\r\n }\r\n\r\n _insertNewNode(container, item, position) {\r\n if (container.querySelector('.js-tree-item-new')) {\r\n return;\r\n }\r\n const element = ce('li.tree-item js-tree-item-new',\r\n {\r\n onrender(el) {\r\n el.data = item;\r\n },\r\n },\r\n ce('div.tree-item-wrap',\r\n ce('span.tree-item-state', ce('img', { src: require('images/blank.gif') })),\r\n ce('div.tree-item-content',\r\n ce('div.input-btn-group',\r\n ce('i.icon-folder'),\r\n ce('input.form-control', { type: 'text', onkeydown: this._onNewNodeKeyDown.bind(this) }),\r\n ce('button.btn btn-icon-only input-btn',\r\n { type: 'button', onclick: this._onCreateFolder.bind(this), onrender: el => {\r\n this._insertBtn = el;\r\n } },\r\n ce('i.icon-save')),\r\n ce('button.btn btn-icon-only input-btn',\r\n { type: 'button', onclick: this._onCancelCreateFolder.bind(this) }, ce('i.icon-cancel')),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n render(container, element, position);\r\n container.querySelector('.js-tree-item-new input').focus();\r\n }\r\n\r\n _onCreateFolder(e) {\r\n const name = e.target.closest('.input-btn-group').querySelector('.form-control').value;\r\n const newNode = e.target.closest('.js-tree-item-new');\r\n let parentNode = newNode.parentNode.closest('.tree-item');\r\n if (!parentNode) {\r\n // Process root node\r\n parentNode = newNode.closest('ul.tree-container').previousElementSibling;\r\n }\r\n\r\n const row = parentNode.closest('.form-row');\r\n row.classList.remove('error');\r\n const errorMessage = row.querySelector('.field-value .field-errors');\r\n if (errorMessage) {\r\n errorMessage.parentNode.removeChild(errorMessage);\r\n }\r\n\r\n this._insertBtn.disabled = true;\r\n api.post(prepareUrl(this._createFolderUrl), { currentDir: newNode.data.path, newDirectoryName: name })\r\n .then(response => this._onFolderCreated(name, parentNode, response))\r\n .finally(() => {\r\n this._insertBtn.disabled = false;\r\n });\r\n }\r\n\r\n _onFolderCreated(name, parentNode, { status, message }) {\r\n if (status === 'success') {\r\n const path = `${parentNode.data.path}/${name}`;\r\n let container = parentNode.querySelector('ul.tree-container');\r\n if (!container) {\r\n // Process root node\r\n container = parentNode.nextElementSibling;\r\n }\r\n this.hideNewNode();\r\n this._insertNode(container, {\r\n name,\r\n path,\r\n isDirectory: true,\r\n }, 'top');\r\n this._onNodeSelect(null, container);\r\n } else {\r\n const row = parentNode.closest('.form-row');\r\n row.classList.add('error');\r\n const errorMessage = ce('span.field-errors', ce('span.error-hint', message));\r\n render(row.querySelector('.field-value'), errorMessage);\r\n }\r\n }\r\n\r\n _onCancelCreateFolder() {\r\n this.hideNewNode();\r\n }\r\n\r\n _onNewNodeKeyDown(e) {\r\n switch (e.keyCode) {\r\n case ENTER:\r\n e.preventDefault();\r\n this._onCreateFolder(e);\r\n break;\r\n case ESC:\r\n e.preventDefault();\r\n this._onCancelCreateFolder(e);\r\n break;\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const FTYPE_DIR = 'dir';\r\nexport const FTYPE_TEXT = 'text';\r\nexport const FTYPE_IMAGE = 'image';\r\nexport const FTYPE_VECTOR_IMAGE = 'vector_image';\r\nexport const FTYPE_AUDIO = 'audio';\r\nexport const FTYPE_SECURITY = 'security';\r\nexport const FTYPE_WEBSCRIPT = 'webscript';\r\nexport const FTYPE_WEBPAGE = 'webpage';\r\nexport const FTYPE_WAPPAGE = 'wappage';\r\nexport const FTYPE_COMPRESSED = 'compressed';\r\nexport const FTYPE_UNKNOWN_TEXT = 'unknown_text';\r\nexport const FTYPE_UNKNOWN_BINARY = 'unknown_binary';\r\nexport const FTYPE_ZIP = 'zip';\r\nexport const FTYPE_RAR = 'rar';\r\nexport const FTYPE_TAR = 'tar';\r\nexport const FTYPE_TGZ = 'tgz';\r\n\r\nexport const getTypeIcon = ({ type, isDirectory, name }) => {\r\n if (isDirectory) {\r\n return name === '..'\r\n ? require('icons/16/plesk/uplevel.png')\r\n : require('icons/16/plesk/file-folder.png');\r\n }\r\n\r\n const list = {\r\n [FTYPE_TEXT]: require('icons/16/plesk/file-txt.png'),\r\n [FTYPE_IMAGE]: require('icons/16/plesk/file-image.png'),\r\n [FTYPE_VECTOR_IMAGE]: require('icons/16/plesk/file-image.png'),\r\n [FTYPE_AUDIO]: require('icons/16/plesk/file-audio.png'),\r\n [FTYPE_SECURITY]: require('icons/16/plesk/file-private.png'),\r\n [FTYPE_WEBSCRIPT]: require('icons/16/plesk/file-webscript.png'),\r\n [FTYPE_WEBPAGE]: require('icons/16/plesk/file-html.png'),\r\n [FTYPE_WAPPAGE]: require('icons/16/plesk/file-html.png'),\r\n [FTYPE_COMPRESSED]: require('icons/16/plesk/file-arch.png'),\r\n [FTYPE_UNKNOWN_TEXT]: require('icons/16/plesk/file-txt.png'),\r\n [FTYPE_UNKNOWN_BINARY]: require('icons/16/plesk/file-binary.png'),\r\n [FTYPE_ZIP]: require('icons/16/plesk/file-arch.png'),\r\n [FTYPE_RAR]: require('icons/16/plesk/file-arch.png'),\r\n [FTYPE_TAR]: require('icons/16/plesk/file-arch.png'),\r\n [FTYPE_TGZ]: require('icons/16/plesk/file-arch.png'),\r\n };\r\n\r\n return list[type];\r\n};\r\n\r\nexport const toUnixPermissionsString = permissions => [\r\n 'ownerRead',\r\n 'ownerWrite',\r\n 'ownerExecute',\r\n 'groupRead',\r\n 'groupWrite',\r\n 'groupExecute',\r\n 'othersRead',\r\n 'othersWrite',\r\n 'othersExecute',\r\n].reduce((acc, name, index) => {\r\n const flag = permissions[name];\r\n acc += flag ? ['r', 'w', 'x'][index % 3] : '-';\r\n if (index % 3 === 2) {\r\n acc += ' ';\r\n }\r\n return acc;\r\n}, '');\r\n","module.exports = Jsw.skinUrl + \"/icons/16/plesk/uplevel.png?09738742d9a113e283a273f3445a1ba9\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-folder.png?377a0415c8e86b629f04f2de969b6dc7\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-txt.png?9bfe434b7467e7d61abb4b3ae8adc711\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-image.png?1327e17a096bce2f49ad2f66f4abdaf6\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-audio.png?72fe25f83d67048d40e6c86149d696bf\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-private.png?b3e618929415e17caa82f8d04d2aa689\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-webscript.png?b2aff14c14b05cccbb316c37d48fb591\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-html.png?a1c021367bd1d987f31cf58c13a2d342\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-arch.png?672559f884c624090a3e3687f16148ec\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-binary.png?e5e874cc42fb4473aab65dcace6e6664\";","module.exports = Jsw.skinUrl + \"/images/tree-open.gif?56398e76be6355ad5999b262208a17c9\";","module.exports = Jsw.skinUrl + \"/images/indicator.gif?ece6f747d3bfdc48d99f935627535c09\";","module.exports = Jsw.skinUrl + \"/images/tree-close.gif?56398e76be6355ad5999b262208a17c9\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport render from '../render';\r\n\r\nexport class UploadAdapterIframe {\r\n constructor({ contentAreaId, handlerUrl, startUploadHandler, finishUploadHandler }) {\r\n this._contentAreaId = contentAreaId;\r\n this._handlerUrl = handlerUrl;\r\n this._startUploadHandler = startUploadHandler;\r\n this._finishUploadHandler = finishUploadHandler;\r\n this._uploadFrameInitialized = false;\r\n this._getUploadIFrameElement();\r\n }\r\n\r\n _getUploadIFrameElement() {\r\n const contentArea = document.getElementById(this._contentAreaId);\r\n if (!contentArea.querySelector('iframe')) {\r\n this._uploadFrameElement = new Element('iframe', {\r\n id: `${this._contentAreaId}-upload-iframe`,\r\n name: '_uploadIFrame',\r\n style: 'display: none;',\r\n src: this._handlerUrl,\r\n });\r\n render(contentArea, this._uploadFrameElement);\r\n this._uploadFrameElement.addEventListener('load', this._onUploadFrameInitialized.bind(this));\r\n }\r\n return this._uploadFrameElement;\r\n }\r\n\r\n _onUploadFrameInitialized() {\r\n if (this._uploadFrameInitialized) {\r\n return;\r\n }\r\n this._uploadFrameInitialized = true;\r\n this._uploadFrameElement.addEventListener('load', this._finishUploadHandler);\r\n this._startUploadHandler();\r\n }\r\n\r\n isReady() {\r\n return this._uploadFrameInitialized;\r\n }\r\n\r\n getResult() {\r\n const statusFrame = this._getUploadIFrameElement();\r\n const statusDocument = statusFrame.contentDocument || statusFrame.contentWindow.document;\r\n try {\r\n return JSON.parse(statusDocument.body.innerHTML);\r\n } catch {\r\n return {\r\n status: 'ERROR',\r\n message: 'No upload response',\r\n };\r\n }\r\n }\r\n\r\n cancel() {\r\n if (this._uploadFrameElement) {\r\n this._uploadFrameElement.setAttribute('src', 'javascript:false;');\r\n }\r\n this._finishUploadHandler();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { PopupForm } from './popup-form';\r\nimport { Tree } from './file-manager/tree';\r\nimport emptyFn from './emptyFn';\r\n\r\nexport class DirectoryBrowser extends PopupForm {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._pathElementId = this._getConfigParam('pathElementId');\r\n this._subscriptionId = this._getConfigParam('subscriptionId');\r\n this._showFiles = this._getConfigParam('showFiles', false);\r\n this._onSubmit = this._getConfigParam('onSubmit', emptyFn);\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this.setBoxType('form-box');\r\n this.setTitle(this.lmsg('title'));\r\n\r\n document.getElementById(this._contentAreaId).innerHTML = (\r\n `
              ` +\r\n '
              ' +\r\n '
              ' +\r\n '
              ' +\r\n `
              ` +\r\n '
              ' +\r\n '
              ' +\r\n '
              ' +\r\n '
              '\r\n );\r\n\r\n this._tree = new Tree({\r\n applyTo: `${this._id}-files-tree`,\r\n data: null,\r\n dataUrl: `^/smb/file-manager/tree-data/subscriptionId/${this._subscriptionId}`,\r\n showFiles: this._showFiles,\r\n onNodeClick: this._onTreeNodeClick.bind(this),\r\n onReload() {\r\n this.setDirectory('/');\r\n },\r\n ...this._getConfigParam('treeConfig', {}),\r\n });\r\n\r\n this._buttonOk = this.addRightButton(this.lmsg('buttonOk'), this._onOkClick, true, true);\r\n this._buttonCancel = this.addRightButton(this.lmsg('buttonCancel'), this._onCancelClick, false, false);\r\n\r\n if (this._showFiles) {\r\n this._updateButton(this._buttonOk, { disabled: true });\r\n }\r\n }\r\n\r\n _onTreeNodeClick() {\r\n this._updateButton(this._buttonOk, { disabled: this._showFiles && this._tree.getSelectedItemData().isDirectory });\r\n }\r\n\r\n _onOkClick(event) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n const selectedPath = this._tree.getSelectedItemData().path;\r\n const pathValue = this._showFiles ? selectedPath.substr(1) : selectedPath;\r\n if (this._pathElementId) {\r\n document.getElementById(this._pathElementId).value = pathValue;\r\n }\r\n this._onSubmit(pathValue);\r\n this.hide();\r\n }\r\n\r\n _onCancelClick() {\r\n this.hide();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\n\r\n/**\r\n * @param {Entry} entry\r\n * @return {Promise}\r\n */\r\nconst readEntry = entry => new Promise(resolve => {\r\n if (entry.isDirectory) {\r\n const entryReader = entry.createReader();\r\n readAllEntries(entry, entryReader, resolve, []);\r\n } else {\r\n resolve(entry);\r\n }\r\n});\r\n\r\nconst readAllEntries = function (entry, entryReader, resolve, allEntries) {\r\n entryReader.readEntries(function (results) {\r\n if (!results.length) {\r\n if (!allEntries.length) {\r\n resolve(entry);\r\n } else {\r\n resolve(entriesToFiles(allEntries));\r\n }\r\n } else {\r\n allEntries = allEntries.concat(results);\r\n readAllEntries(entry, entryReader, resolve, allEntries);\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * @param {String[]} entries\r\n * @return {Promise}\r\n */\r\nconst entriesToFiles = entries => Promise.all(entries.map(readEntry))\r\n .then(items => {\r\n let files = [];\r\n items.forEach(function (item) {\r\n if (Array.isArray(item)) {\r\n files = files.concat(item);\r\n } else {\r\n files.push(item);\r\n }\r\n });\r\n return files;\r\n });\r\n\r\n/**\r\n * @param {File} file\r\n * @return {Promise}\r\n */\r\nconst isFile = file => new Promise(resolve => {\r\n if (file.size > 4096) {\r\n resolve(true);\r\n return;\r\n }\r\n\r\n if (!window.FileReader\r\n || (window.opera && navigator.platform.toLowerCase().indexOf('mac') > -1 && window.opera.version() === '12.00')\r\n ) {\r\n resolve(null);\r\n } else {\r\n try {\r\n const reader = new FileReader();\r\n reader.onerror = () => {\r\n reader.onloadend = null;\r\n reader.onprogress = null;\r\n reader.onerror = null;\r\n resolve(false);\r\n };\r\n reader.onprogress = e => {\r\n reader.onloadend = null;\r\n reader.onprogress = null;\r\n reader.onerror = null;\r\n if (e.type !== 'loadend') {\r\n reader.abort();\r\n }\r\n resolve(true);\r\n };\r\n reader.onloadend = reader.onprogress;\r\n reader.readAsDataURL(file);\r\n } catch {\r\n resolve(false);\r\n }\r\n }\r\n});\r\n\r\n/**\r\n * @param {Event} e\r\n * @return {Boolean}\r\n */\r\nconst isDragFiles = e => {\r\n if (!e.dataTransfer) {\r\n return false;\r\n }\r\n\r\n if (e.dataTransfer.effectAllowed === 'none') {\r\n return false;\r\n }\r\n\r\n return [].some.call(e.dataTransfer.types, type => type === 'Files');\r\n};\r\n\r\n/**\r\n * @param {Event} e\r\n * @return {Promise}\r\n */\r\nconst getDragFiles = e => {\r\n if (!e.dataTransfer) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n if (!e.dataTransfer.items) {\r\n return Promise.all([].map.call(e.dataTransfer.files, isFile))\r\n .then(isFiles => [].filter.call(e.dataTransfer.files, (file, index) => isFiles[index]));\r\n }\r\n\r\n return entriesToFiles(\r\n [].map.call(e.dataTransfer.items, item => item.webkitGetAsEntry() || item.getAsFile()).filter(Boolean),\r\n );\r\n};\r\n\r\n/**\r\n * Drop area component\r\n */\r\nexport class DropArea extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'fm-drop-area',\r\n ...config,\r\n });\r\n\r\n this.isButtomUploadDirectory = false;\r\n this._onDrop = this._getConfigParam('onDrop');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.innerHTML = (\r\n '
              ' +\r\n `\r\n

              ${this.lmsg('dragAndDropArea')}

              \r\n
              ` +\r\n '
              '\r\n );\r\n\r\n this.hide();\r\n }\r\n\r\n _addEvents() {\r\n this._addDocumentHandlers();\r\n this._addDropAreaHandlers();\r\n }\r\n\r\n _addDocumentHandlers() {\r\n document.addEventListener('dragover', e => {\r\n if (!isDragFiles(e)) {\r\n return;\r\n }\r\n\r\n if (e.dataTransfer) {\r\n e.preventDefault();\r\n }\r\n });\r\n\r\n document.addEventListener('dragenter', e => {\r\n if (!isDragFiles(e)) {\r\n return;\r\n }\r\n this.show();\r\n });\r\n\r\n document.addEventListener('drop', e => {\r\n if (!isDragFiles(e)) {\r\n return;\r\n }\r\n this.hide();\r\n e.preventDefault();\r\n });\r\n }\r\n\r\n _addDropAreaHandlers() {\r\n this._componentElement.addEventListener('dragover', e => {\r\n if (!isDragFiles(e)) {\r\n return;\r\n }\r\n e.stopPropagation();\r\n e.preventDefault();\r\n });\r\n\r\n this._componentElement.addEventListener('drop', e => {\r\n if (!isDragFiles(e)) {\r\n return;\r\n }\r\n e.preventDefault();\r\n\r\n this.hide();\r\n if (this._onDrop) {\r\n getDragFiles(e).then(this._onDrop);\r\n }\r\n });\r\n\r\n this._componentElement.addEventListener('mouseover', () => {\r\n if (!this.isButtomUploadDirectory) {\r\n this.hide();\r\n }\r\n });\r\n\r\n this._componentElement.addEventListener('click', () => {\r\n this.hide();\r\n });\r\n\r\n document.onkeydown = event => {\r\n switch (event.key) {\r\n case 'Esc':\r\n case 'Escape':\r\n this.hide();\r\n break;\r\n default:\r\n }\r\n };\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { List } from './list';\r\nimport createElement from './createElement';\r\n\r\nexport class GroupsList extends List {\r\n _getGroupRowClass() {\r\n return '';\r\n }\r\n\r\n _initConfiguration(config) {\r\n this._groupBy = false;\r\n this._groupsConfig = [];\r\n\r\n super._initConfiguration(config);\r\n this._groupBy = this._getConfigParam('groupBy', false);\r\n this._groupsConfig = this._getConfigParam('groupsConfig', false);\r\n this._getGroupRowClass = this._getConfigParam('getGroupRowClass', this._getGroupRowClass);\r\n }\r\n\r\n listDataView(listData = this._data, indexOffset = 0) {\r\n if (!listData) {\r\n return null;\r\n }\r\n\r\n if (this._groupBy) {\r\n listData.sort((a, b) => {\r\n if (a[this._groupBy] > b[this._groupBy]) {\r\n return 1;\r\n }\r\n if (a[this._groupBy] < b[this._groupBy]) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n\r\n const groupedData = {};\r\n listData.forEach(item => {\r\n if (!groupedData[item[this._groupBy]]) {\r\n groupedData[item[this._groupBy]] = {\r\n id: item[this._groupBy],\r\n items: [],\r\n };\r\n }\r\n groupedData[item[this._groupBy]].items.push(item);\r\n });\r\n\r\n return createElement('tbody',\r\n Object.keys(groupedData).map((groupId, groupIndex) => {\r\n const group = groupedData[groupId];\r\n return this.groupDataRowView(group, groupIndex, indexOffset);\r\n }),\r\n );\r\n }\r\n\r\n return createElement('tbody',\r\n listData.map((item, index) => this.rowView(item, index, indexOffset)),\r\n );\r\n }\r\n\r\n groupDataRowView(group, groupIndex, indexOffset) {\r\n return [\r\n createElement(`tr.${this._getGroupRowClass(group)}.${(groupIndex + indexOffset) % 2 ? 'even' : 'odd'}`, {\r\n colspan: this._columns.length,\r\n 'data-row-id': group.id,\r\n }, `${this._getGroupName(group)}`),\r\n ...group.items.map((item, index) => this.rowView(item, index, indexOffset)),\r\n ];\r\n }\r\n\r\n _getGroupName(group) {\r\n return this._groupsConfig[group.id] || group.id;\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { PopupForm } from './popup-form';\r\nimport { DynamicPopupHint } from './dynamic-popup-hint';\r\nimport { List } from './list';\r\nimport { Panel } from './panel';\r\nimport { getComponent } from './component';\r\nimport { redirect } from './form-redirect';\r\nimport Locale from './Locale';\r\nimport addStatusMessage from './addStatusMessage';\r\nimport prepareUrl from './prepareUrl';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nexport class ReporterPopup extends PopupForm {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n singleRowButtons: true,\r\n ...config,\r\n });\r\n\r\n this._actionCollectId = `${this._id}-action-collect`;\r\n this._actionToSupportId = `${this._id}-action-to-support`;\r\n this._sendButtonId = 'btn-send';\r\n this._cancelButtonId = 'btn-cancel';\r\n this._supportUrl = this._getConfigParam('supportUrl', '');\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this.setBoxType('form-box');\r\n this.setTitle(this.lmsg('title'));\r\n\r\n this.addRightButton(this.lmsg('buttonCollect'), this._onSendClick, true, true, { id: this._sendButtonId });\r\n this.addRightButton(Locale.getSection('components.buttons').lmsg('cancel'), this._onCancelClick, false, false, { id: this._cancelButtonId });\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.querySelector('div.content-area').innerHTML = (\r\n '
              ' +\r\n '
              ' +\r\n '
              ' +\r\n '' +\r\n '
              ' +\r\n '
              ' +\r\n `` +\r\n '
              ' +\r\n '
              ' +\r\n '
              ' +\r\n `${this.lmsg('showPreviousReports')}` +\r\n `` +\r\n `
              ${this.lmsg('pleaseWait')}
              `\r\n );\r\n }\r\n\r\n _onSupportClick(close) {\r\n window.open(this._supportUrl, '_blank');\r\n this._disableSendButton(this.lmsg('buttonWait'));\r\n new Ajax.Request(\r\n prepareUrl('/admin/report/report-usage/'), {\r\n method: 'post',\r\n onException: this._onException.bind(this),\r\n onSuccess: () => {\r\n close ? this.hide() : this._enableSendButton(this.lmsg('buttonToSupport'));\r\n },\r\n },\r\n );\r\n }\r\n\r\n _onCollectClick() {\r\n this._disableSendButton();\r\n DynamicPopupHint.unset();\r\n document.getElementById(this._contentAreaId).innerHTML = `

              ${this.lmsg('collecting')}${this._getTooltip()}

              `;\r\n this._addTooltips();\r\n new Ajax.Request(\r\n prepareUrl('/admin/report/collect/'), {\r\n method: 'post',\r\n onException: this._onException.bind(this),\r\n onSuccess: response => {\r\n const data = JSON.parse(response.responseText);\r\n if (this._checkResponseStatus(data)) {\r\n DynamicPopupHint.unset();\r\n const link = `${this.lmsg('downloadLink')}`;\r\n document.getElementById(this._contentAreaId).innerHTML = (\r\n `

              ${this.lmsg('collectedDescription')}

              ` +\r\n `

              ${this.lmsg('collectedDownload', { link })}

              ` +\r\n `

              ${this.lmsg('collectedConsent')}

              `\r\n );\r\n this.file = data.file;\r\n this._enableSendButton(this.lmsg('buttonSend'));\r\n }\r\n },\r\n },\r\n );\r\n }\r\n\r\n _onSendClick() {\r\n const collectRadio = document.getElementById(this._actionCollectId);\r\n if (collectRadio && collectRadio.checked) {\r\n this._onCollectClick();\r\n return;\r\n }\r\n\r\n if (collectRadio && !collectRadio.checked) {\r\n this._onSupportClick(true);\r\n return;\r\n }\r\n\r\n if (!this.file) {\r\n this._onSupportClick(false);\r\n return;\r\n }\r\n\r\n this._disableSendButton(this.lmsg('buttonSending'));\r\n new Ajax.Request(\r\n prepareUrl('/admin/report/send/'), {\r\n method: 'post',\r\n parameters: { file: this.file },\r\n onException: this._onException.bind(this),\r\n onSuccess: response => {\r\n const data = JSON.parse(response.responseText);\r\n if (this._checkResponseStatus(data)) {\r\n delete this.file;\r\n document.getElementById(this._contentAreaId).innerHTML = `

              ${this.lmsg('sentInfo', { id: escapeHtml(data.reportId) })}

              `;\r\n this._enableSendButton(this.lmsg('buttonToSupport'));\r\n }\r\n },\r\n },\r\n );\r\n }\r\n\r\n _onCancelClick() {\r\n this.hide();\r\n }\r\n\r\n _onShowReportsClick(e) {\r\n e.preventDefault();\r\n this._componentElement.querySelector('.js-show-previous-reports').classList.add('hidden');\r\n if (getComponent('reports-list') && this._componentElement.querySelector('.list-box')) {\r\n this._componentElement.querySelector('.list-box').classList.remove('hidden');\r\n this._componentElement.querySelector('.js-hide-previous-reports').classList.remove('hidden');\r\n return;\r\n }\r\n this._componentElement.querySelector('.ajax-loading').classList.remove('hidden');\r\n const dialogHeight = Element.getHeight(this._componentElement);\r\n const list = new List({\r\n id: 'reports-list',\r\n dataUrl: prepareUrl('/admin/report/list-data'),\r\n pageable: false,\r\n columns: [\r\n {\r\n header: this.lmsg('date'),\r\n dataIndex: 'date',\r\n },\r\n {\r\n header: this.lmsg('reportId'),\r\n dataIndex: 'id',\r\n },\r\n ],\r\n onRedraw: () => {\r\n this._componentElement.querySelector('.js-hide-previous-reports').classList.remove('hidden');\r\n this._componentElement.querySelector('.ajax-loading').classList.add('hidden');\r\n const maxHeight = Math.max(document.viewport.getScrollOffsets().top + document.viewport.getHeight() -\r\n (parseInt(Element.getStyle(this._componentElement, 'top')) * 1.5) - dialogHeight, 100);\r\n this._componentElement.querySelector('.list').style.maxHeight = `${parseInt(maxHeight)}px`;\r\n },\r\n });\r\n new Panel({\r\n cls: 'list-box',\r\n renderTo: 'js-reports',\r\n items: [\r\n list,\r\n ],\r\n });\r\n }\r\n\r\n _onHideReportsClick(e) {\r\n e.preventDefault();\r\n this._componentElement.querySelector('.list-box').classList.add('hidden');\r\n this._componentElement.querySelector('.js-show-previous-reports').classList.remove('hidden');\r\n this._componentElement.querySelector('.js-hide-previous-reports').classList.add('hidden');\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n document.getElementById(this._actionCollectId).addEventListener('click', () => {\r\n this._enableSendButton(this.lmsg('buttonCollect'));\r\n });\r\n document.getElementById(this._actionToSupportId).addEventListener('click', () => {\r\n this._enableSendButton(this.lmsg('buttonToSupport'));\r\n });\r\n this._componentElement.querySelector('.js-show-previous-reports').addEventListener('click', this._onShowReportsClick.bind(this));\r\n this._componentElement.querySelector('.js-hide-previous-reports').addEventListener('click', this._onHideReportsClick.bind(this));\r\n }\r\n\r\n _addTooltips() {\r\n super._addTooltips();\r\n\r\n new DynamicPopupHint.Instance({\r\n title: this.lmsg('hintTitle'),\r\n target: document.getElementById('tooltip'),\r\n placement: 'right',\r\n content: this.lmsg('hintText'),\r\n });\r\n }\r\n\r\n _getTooltip() {\r\n if (!this._tooltip) {\r\n this._tooltip = ` ${this.lmsg('hintLink')}`;\r\n }\r\n return this._tooltip;\r\n }\r\n\r\n _disableSendButton(title) {\r\n const el = document.getElementById(this._sendButtonId);\r\n el.disabled = true;\r\n el.classList.add('disabled');\r\n if (title) {\r\n el.innerHTML = `${title}`;\r\n }\r\n }\r\n\r\n _enableSendButton(title) {\r\n const el = document.getElementById(this._sendButtonId);\r\n el.disabled = false;\r\n el.classList.remove('disabled');\r\n if (title) {\r\n el.innerHTML = title;\r\n }\r\n }\r\n\r\n _checkResponseStatus(response) {\r\n if (response.redirect) {\r\n redirect(response.redirect);\r\n }\r\n\r\n if (response.status && 'success' !== response.status) {\r\n (response.statusMessages || []).forEach(function (message) {\r\n addStatusMessage(message.status, message.content);\r\n });\r\n this.hide();\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n _onException(transport, exception) {\r\n addStatusMessage('error', `Internal error: ${exception}`);\r\n this.hide();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { LookUp } from './lookup';\r\nimport { Tooltip } from './tooltip';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\n\r\nimport './object-switcher.less';\r\n\r\nexport class ObjectSwitcher extends LookUp {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n tag: 'div',\r\n cls: 'btn-group object-switcher',\r\n ...config,\r\n });\r\n\r\n this._listUrl = this._getConfigParam('listUrl', '');\r\n this._itemUrlTemplate = this._getConfigParam('itemUrlTemplate', '');\r\n this._owner = this._getConfigParam('owner', null);\r\n this._navigate = this._getConfigParam('navigate');\r\n }\r\n\r\n _initCustomLookUpComponent() {\r\n render(this._componentElement, createElement('button', {\r\n type: 'button',\r\n class: 'pul-button pul-button--ghost pul-button--empty dropdown-toggle',\r\n onrender: el => {\r\n this._customLookUpComponent = el;\r\n },\r\n }, '' +\r\n '' +\r\n ''));\r\n }\r\n\r\n _getSearchMoreText(count) {\r\n return super._getSearchMoreText(count)\r\n + (this._listUrl ? ` ${this.lmsg('refineSearchMessage', { link: `${this.lmsg('listOfAllObjects')}` })}` : '');\r\n }\r\n\r\n _updateData(data) {\r\n this._clearData();\r\n\r\n let myData = [];\r\n\r\n if (null !== this._owner) {\r\n myData = data.filter(({ isSameParent }) => isSameParent == 1);\r\n\r\n data = data.filter(({ isSameParent }) => isSameParent != 1);\r\n }\r\n\r\n if (myData.length) {\r\n if (data.length) {\r\n render(this._dropdownList, createElement('li.dropdown-header', this.lmsg('myObjectsLabel', { name: this._owner })));\r\n }\r\n\r\n myData.forEach(item => {\r\n render(this._dropdownList, this._createItem(item));\r\n });\r\n\r\n if (data.length) {\r\n render(this._dropdownList, [\r\n createElement('li.divider'),\r\n createElement('li.dropdown-header', this.lmsg('otherObjectsLabel')),\r\n ]);\r\n }\r\n }\r\n\r\n data.forEach(item => {\r\n render(this._dropdownList, this._createItem(item));\r\n });\r\n\r\n this._addSearchMoreElement();\r\n }\r\n\r\n _addTooltips() {\r\n this._tooltip = Tooltip.init(this._customLookUpComponent, { text: this.lmsg('description') });\r\n }\r\n\r\n handleChange() {\r\n super.handleChange();\r\n\r\n let url = this._itemUrlTemplate;\r\n Object.entries(this._currentValue).forEach(([key, val]) => {\r\n url = url.replaceAll(new RegExp(`(%%|%25%25)${key}(%%|%25%25)`, 'g'), val);\r\n });\r\n\r\n this._navigate(url);\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport Popup from './Popup';\r\nimport { LEFT_ARROW, RIGHT_ARROW } from './keyCode';\r\nimport ce from './createElement';\r\nimport render from './render';\r\n\r\nimport './PopupSlider.less';\r\n\r\nclass PopupSlider extends Popup {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n popupCls: 'popup-panel popup-panel-slider popup-panel-auto',\r\n closeButtonEnabled: true,\r\n hideOnEscape: true,\r\n ...config,\r\n });\r\n\r\n this._slides = this._getConfigParam('slides', []);\r\n this._current = this._getConfigParam('current', 0);\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n this.setCurrent(this._current);\r\n }\r\n\r\n _getContentArea() {\r\n return ce('.slider',\r\n ce('ul.slider__container',\r\n this._slides.map(() => ce('li.slider__item')),\r\n ),\r\n this._slides.length > 1 ? ce('.slider__arrows',\r\n ce('.slider__arrow.slider__arrow--start',\r\n { onclick: () => this.prev() },\r\n '' +\r\n '' +\r\n '',\r\n ),\r\n ce('.slider__arrow.slider__arrow--end',\r\n { onclick: () => this.next() },\r\n '' +\r\n '' +\r\n '',\r\n ),\r\n ) : null,\r\n ce('.slider__navigation',\r\n ce('.slider__navigation-inner',\r\n this._slides.map((item, index) => ce('span.slider__navigation-dot', { onclick: () => this.setCurrent(index) })),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n _onKeyDown(e) {\r\n super._onKeyDown(e);\r\n switch (e.keyCode) {\r\n case LEFT_ARROW:\r\n this.prev();\r\n break;\r\n case RIGHT_ARROW:\r\n this.next();\r\n break;\r\n }\r\n }\r\n\r\n setCurrent(current) {\r\n this.renderSlide(current);\r\n\r\n const firstItem = this._componentElement.querySelector('.slider__item');\r\n const dots = this._componentElement.querySelectorAll('.slider__navigation-dot');\r\n\r\n dots.item(this._current).classList.remove('slider__navigation-dot--current');\r\n this._current = current;\r\n firstItem.style.marginLeft = `${-100 * current}%`;\r\n dots.item(this._current).classList.add('slider__navigation-dot--current');\r\n }\r\n\r\n renderSlide(current) {\r\n const curItem = this._componentElement.querySelector(`.slider__item:nth-child(${current + 1})`);\r\n if (curItem.innerHTML.length === 0) {\r\n render(curItem, this._slides[current]);\r\n }\r\n }\r\n\r\n next() {\r\n this.setCurrent(this._current === this._slides.length - 1 ? 0 : this._current + 1);\r\n }\r\n\r\n prev() {\r\n this.setCurrent(this._current === 0 ? this._slides.length - 1 : this._current - 1);\r\n }\r\n}\r\n\r\nexport default PopupSlider;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { List } from './list';\r\nimport createElement from './createElement';\r\n\r\n/**\r\n * The extension of the list widget: fits 100% height of screen.\r\n */\r\nexport class ScrollableList extends List {\r\n listView() {\r\n const view = super.listView();\r\n\r\n view.attrs.class += ' scrollable-list';\r\n view.children[0].attrs.class = 'scrollable-list-table';\r\n view.children = [\r\n createElement('table.fixed-table-head[width=\"100%\"][cellspacing=\"0\"]',\r\n this.listHeadersView(),\r\n ),\r\n createElement('.scrollable-list-wrapper', view.children),\r\n ];\r\n\r\n return view;\r\n }\r\n\r\n checkEmptyList() {\r\n super.checkEmptyList();\r\n\r\n const isEmpty = this.isListEmpty();\r\n this._componentElement.querySelectorAll(`.${this._listCls}`).forEach(el => {\r\n el.style.display = '';\r\n });\r\n this._componentElement.querySelectorAll('.scrollable-list-wrapper').forEach(el => {\r\n el.style.display = isEmpty ? 'none' : '';\r\n });\r\n }\r\n\r\n /**\r\n * @param {String} place\r\n * @param {Number} dataLen\r\n */\r\n redraw(place, dataLen) {\r\n let bottom = true;\r\n let scrollTop;\r\n let tableHeight = 0;\r\n const wrapper = document.getElementById(this._id).querySelector('.scrollable-list-wrapper');\r\n\r\n if (wrapper) {\r\n bottom = (wrapper.offsetHeight + wrapper.scrollTop >= wrapper.scrollHeight);\r\n // eslint-disable-next-line prefer-destructuring\r\n scrollTop = wrapper.scrollTop;\r\n tableHeight = Element.getHeight(document.getElementById(this._tableId));\r\n }\r\n\r\n super.redraw(place, dataLen);\r\n const table = document.getElementById(this._tableId);\r\n const headerTable = table.closest(`.${this._listCls}`).querySelector('.fixed-table-head');\r\n\r\n table.style.marginTop = `${-Element.getHeight(headerTable)}px`;\r\n setTimeout(() => {\r\n this._resizeList();\r\n const wrapper = table.closest('.scrollable-list-wrapper');\r\n if (bottom) {\r\n this.scrollToBottom();\r\n } else if ('before' === place) {\r\n wrapper.scrollTop += Element.getHeight(table) - tableHeight;\r\n } else if ('after' === place) {\r\n // empty\r\n } else {\r\n wrapper.scrollTop = scrollTop;\r\n }\r\n }, 0);\r\n }\r\n\r\n updateFilter(force) {\r\n super.updateFilter(force);\r\n this._resizeList();\r\n }\r\n\r\n scrollToBottom() {\r\n const table = document.getElementById(this._tableId);\r\n const wrapper = table.closest('.scrollable-list-wrapper');\r\n const rows = [...wrapper.querySelectorAll('tr')].filter(el => el.style.display !== 'none');\r\n wrapper.scrollTop = rows[rows.length - 1].offsetTop;\r\n }\r\n\r\n _resizeList = () => {\r\n const minHeight = 200;\r\n const table = document.getElementById(this._tableId);\r\n const wrapper = table.closest('.scrollable-list-wrapper');\r\n\r\n const headerTable = table.closest(`.${this._listCls}`).querySelector('.fixed-table-head');\r\n const visibleHeader = headerTable.querySelector('thead');\r\n if (visibleHeader) {\r\n const isEmpty = this.isListEmpty();\r\n visibleHeader.querySelectorAll('tr').forEach(function (tr) {\r\n if (!tr.classList.contains('list-search-filter')) {\r\n tr.style.display = isEmpty ? 'none' : '';\r\n }\r\n });\r\n }\r\n\r\n let blockHeight = Element.getHeight(document.body) - Element.cumulativeOffset(wrapper).top;\r\n for (let up = wrapper; up instanceof Element; up = up.parentNode) {\r\n blockHeight = blockHeight\r\n - (parseInt(Element.getStyle(up, 'borderBottomWidth')) || 0)\r\n - (parseInt(Element.getStyle(up, 'marginBottom')) || 0)\r\n - (parseInt(Element.getStyle(up, 'paddingBottom')) || 0);\r\n for (let next = up.nextElementSibling; next instanceof Element; next = next.nextElementSibling) {\r\n if ('none' !== Element.getStyle(next, 'display') && 'fixed' !== Element.getStyle(next, 'position') && 'absolute' !== Element.getStyle(next, 'position')) {\r\n blockHeight = blockHeight - Element.getHeight(next);\r\n }\r\n }\r\n }\r\n\r\n if (blockHeight < minHeight) {\r\n blockHeight = minHeight;\r\n }\r\n\r\n if (blockHeight > Element.getHeight(table) + parseInt(Element.getStyle(table, 'marginTop'))) {\r\n wrapper.style.height = null;\r\n } else {\r\n wrapper.style.height = `${blockHeight}px`;\r\n }\r\n\r\n if (!visibleHeader || ![...table.querySelectorAll('tr.odd,tr.even')].filter(el => el.style.display !== 'none').length) {\r\n return;\r\n }\r\n\r\n const invisibleHeader = table.querySelector('thead');\r\n invisibleHeader.querySelectorAll('th').forEach((th, index) => {\r\n visibleHeader.querySelectorAll('th')[index].style.width = `${Element.getWidth(th)}px`;\r\n });\r\n const headers = visibleHeader.querySelectorAll('th');\r\n const lastHeader = headers[headers.length - 1];\r\n lastHeader.style.width = `${(Element.getWidth(headerTable) - Element.getWidth(invisibleHeader.closest('table'))) + parseInt(Element.getStyle(lastHeader, 'width'))}px`;\r\n };\r\n\r\n _addResponsiveHtml() {\r\n // Don't need responsive UI in case of logs list\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n window.addEventListener('resize', this._resizeList, false);\r\n }\r\n\r\n remove() {\r\n window.removeEventListener('resize', this._resizeList, false);\r\n super.remove();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* global update_oC:true */\r\n\r\nimport Cookie from 'common/cookie';\r\nimport { List } from './list';\r\nimport { ConfirmationPopupManager } from './confirmation-popup-manager';\r\nimport { AjaxPopupForm } from './ajax-popup-form';\r\nimport { FormAjax } from './form-ajax';\r\nimport { MessageBox, AjaxMessageBox, MultiCheckboxMessageWindow, WebspaceFoldersMessageBox } from './message-box';\r\nimport { getComponent } from './component';\r\nimport UAT, { request, getUrl, prepareNodeData } from 'common/user-activity-tracking';\r\nimport { isAnalyticsAllowed } from 'common/gdpr-storage';\r\n\r\nconst { PopupForm } = ConfirmationPopupManager;\r\n\r\nconst patchesFactory = () => {\r\n const wrap = (handler, fn, after) => {\r\n fn = fn || function () {\r\n // default empty handler\r\n };\r\n if (typeof fn === 'string') {\r\n try {\r\n eval(`fn = ${fn}`); // eslint-disable-line no-eval\r\n } catch {\r\n fn = function () {\r\n // default empty handler\r\n };\r\n }\r\n }\r\n return after === true\r\n ? function (...args) {\r\n const result = fn.apply(this, args);\r\n args.push(result);\r\n try {\r\n handler.apply(this, args);\r\n } catch {\r\n }\r\n return result;\r\n }\r\n : function (...args) {\r\n try {\r\n handler.apply(this, args);\r\n } catch {\r\n }\r\n return fn.apply(this, args);\r\n };\r\n };\r\n\r\n return {\r\n ajaxRequest() {\r\n if (!window.Ajax) {\r\n return;\r\n }\r\n const ajaxRequestsHistory = {};\r\n const ajaxRequestProto = Ajax.Request.prototype;\r\n\r\n ajaxRequestProto.request = wrap(function () {\r\n const { url, options: { ignoreUAT }, method, parameters } = this;\r\n\r\n if (ignoreUAT || method.toLowerCase() === 'get') {\r\n return;\r\n }\r\n\r\n const targetUrl = getUrl(url);\r\n const requestFingerprint = `${targetUrl} ${JSON.stringify(parameters)}`;\r\n\r\n if (ajaxRequestsHistory[requestFingerprint]) {\r\n return;\r\n }\r\n\r\n ajaxRequestsHistory[requestFingerprint] = true;\r\n\r\n request({ name: 'REQUEST', url: getUrl(), data: { url: targetUrl } });\r\n }, ajaxRequestProto.request, true);\r\n },\r\n\r\n uiPointerForm() {\r\n document.addEventListener('DOMContentLoaded', function () {\r\n const lastUrl = Cookie.get('uat-data-source');\r\n if (lastUrl) {\r\n document.querySelectorAll('div[data-source]').forEach(msg => {\r\n const dataSource = msg.dataset.source;\r\n if (dataSource && dataSource.indexOf(lastUrl) !== -1) {\r\n let result = null;\r\n switch (true) {\r\n case msg.classList.contains('msg-warning'):\r\n result = 'WARNING';\r\n break;\r\n case msg.classList.contains('msg-error'):\r\n result = 'ERROR';\r\n break;\r\n }\r\n request({ name: 'POST', url: getUrl(dataSource) }, null, result);\r\n }\r\n });\r\n Cookie.remove('uat-data-source', '/');\r\n }\r\n if (typeof update_oC === 'undefined') { // eslint-disable-line camelcase\r\n return;\r\n }\r\n update_oC = wrap(function (form) { // eslint-disable-line camelcase\r\n Cookie.set('uat-data-source', getUrl(form.action), null, '/');\r\n }, update_oC, true);\r\n }, true);\r\n },\r\n\r\n jswFormAjax() {\r\n const formAjaxProto = FormAjax.prototype;\r\n\r\n formAjaxProto._onSubmit = wrap(function () {\r\n this._componentElement._formSubmit = wrap(function () {\r\n const url = getUrl(this._componentElement.action);\r\n request({ name: 'POST', post: { self: ['id', 'name'] }, url }, this._componentElement);\r\n }.bind(this), this._componentElement._formSubmit);\r\n }, formAjaxProto._onSubmit);\r\n\r\n formAjaxProto._onFailure = wrap(function (transport) {\r\n const name = this._componentElement.noRedirect ? 'APPLY' : 'OK';\r\n const url = getUrl(transport.request.url);\r\n request({ name, url, post: { self: ['id', 'name'] } }, this._componentElement, 'ERROR');\r\n }, formAjaxProto._onFailure);\r\n\r\n formAjaxProto._onSuccess = wrap(function (transport) {\r\n const name = this._componentElement.noRedirect ? 'APPLY' : 'OK';\r\n const url = getUrl(transport.request.url);\r\n const result = transport.responseJSON.formMessages\r\n ? 'VALIDATION_ERROR'\r\n : transport.responseJSON.status === 'error'\r\n ? 'ERROR'\r\n : null;\r\n request({ name, url, post: { self: ['id', 'name'] } }, this._componentElement, result);\r\n }, formAjaxProto._onSuccess);\r\n },\r\n\r\n jswList() {\r\n const listProto = List.prototype;\r\n\r\n listProto._submit = wrap(function (url, params) {\r\n const self = params.context || this;\r\n params.onSuccess = wrap(function (transport) {\r\n const name = self._lastOperation ? self._lastOperation.toUpperCase() : 'POST';\r\n const data = { selected: Object.keys(transport.request.parameters).length };\r\n const result = transport.responseJSON.status === 'error' ? 'ERROR' : null;\r\n request({ url: getUrl(transport.request.url), name, data }, null, result);\r\n }, params.onSuccess);\r\n\r\n params.onFailure = wrap(function (transport) {\r\n const name = self._lastOperation ? self._lastOperation.toUpperCase() : 'POST';\r\n const data = { selected: Object.keys(transport.request.parameters).length };\r\n request({ url: getUrl(transport.request.url), name, data }, null, 'ERROR');\r\n }, params.onFailure);\r\n }, listProto._submit);\r\n\r\n listProto._showItemsNotSelectedWarning = wrap(function () {\r\n const name = this._lastOperation ? this._lastOperation.toUpperCase() : 'POST';\r\n request({ name, url: getUrl() }, null, 'NOT_SELECTED');\r\n }, listProto._showItemsNotSelectedWarning);\r\n\r\n listProto._getOperations = wrap(function (result) {\r\n const self = this;\r\n const replaceHandlers = operations => {\r\n operations.forEach(function (operation) {\r\n if (operation.handler) {\r\n operation.handler = wrap(function () {\r\n const o = operation;\r\n const last = o.id || o.title || o.description || o.addCls || '';\r\n self._lastOperation = last\r\n .replace('button', '')\r\n .replace(' ', '')\r\n .replace('sb-', '')\r\n .replace('-', '');\r\n }, operation.handler);\r\n }\r\n if (operation.operations) {\r\n replaceHandlers(operation.operations);\r\n }\r\n });\r\n };\r\n replaceHandlers(result);\r\n }, listProto._getOperations, true);\r\n },\r\n\r\n confirmationPopupManager() {\r\n const popupFormProto = PopupForm.prototype;\r\n\r\n popupFormProto._onSuccess = wrap(function () {\r\n const name = typeof this._id === 'string' ? this._id.toUpperCase() : 'POST';\r\n request({ name, url: this._handlerUrl });\r\n }, popupFormProto._onSuccess);\r\n\r\n popupFormProto._onException = wrap(function () {\r\n const name = typeof this._id === 'string' ? this._id.toUpperCase() : 'POST';\r\n request({ name, url: this._handlerUrl }, null, 'ERROR');\r\n }, popupFormProto._onException);\r\n\r\n popupFormProto._onCancelClick = wrap(function () {\r\n request({ name: 'CANCEL', url: getUrl(), data: { popup: this._text } });\r\n }, popupFormProto._onCancelClick);\r\n },\r\n\r\n ajaxPopupForm() {\r\n AjaxPopupForm.prototype._onSuccess = wrap(function () {\r\n (function () {\r\n const cancelBtn = getComponent('btn-cancel');\r\n cancelBtn && cancelBtn.addEventObserver('click', function () {\r\n request({ name: 'CANCEL', url: this._url });\r\n }.bind(this));\r\n }).bind(this)\r\n .defer();\r\n }, AjaxPopupForm.prototype._onSuccess, true);\r\n },\r\n\r\n messageBox() {\r\n const msgBoxProto = MessageBox.prototype;\r\n\r\n msgBoxProto._onNoClick = wrap(function () {\r\n request({ name: 'CANCEL', url: getUrl(), data: { popup: this._text } });\r\n }, msgBoxProto._onNoClick);\r\n },\r\n\r\n ajaxMessageBox() {\r\n const ajaxMsgBoxProto = AjaxMessageBox.prototype;\r\n\r\n ajaxMsgBoxProto._onSuccess = wrap(function () {\r\n request({ url: this._requestUrl });\r\n }, ajaxMsgBoxProto._onSuccess);\r\n },\r\n\r\n multiCheckboxMessageWindow() {\r\n const msgWindowProto = MultiCheckboxMessageWindow.prototype;\r\n\r\n msgWindowProto._onSuccess = wrap(function () {\r\n request({ url: this._requestUrl });\r\n }, msgWindowProto._onSuccess);\r\n },\r\n\r\n webspaceFoldersMessageBox() {\r\n const msgBoxProto = WebspaceFoldersMessageBox.prototype;\r\n\r\n msgBoxProto._onSuccess = wrap(function () {\r\n request({ url: this._requestUrl });\r\n }, msgBoxProto._onSuccess);\r\n },\r\n\r\n drawersWatcher() {\r\n const getDrawer = node => {\r\n if (!node.classList || !node.classList.contains('pul-layer')) {\r\n return null;\r\n }\r\n\r\n const drawer = node.querySelector('.pul-drawer');\r\n if (!drawer) {\r\n return null;\r\n }\r\n\r\n return drawer;\r\n };\r\n const reportDrawerAction = name => node => {\r\n const drawer = getDrawer(node);\r\n if (!drawer) {\r\n return;\r\n }\r\n\r\n request({ name, data: prepareNodeData(drawer) });\r\n };\r\n document.addEventListener('DOMContentLoaded', () => {\r\n const callback = mutations => {\r\n mutations.forEach(({ addedNodes, removedNodes }) => {\r\n addedNodes.forEach(reportDrawerAction('OPEN-DRAWER'));\r\n removedNodes.forEach(reportDrawerAction('CLOSE-DRAWER'));\r\n });\r\n };\r\n const observer = new MutationObserver(callback);\r\n observer.observe(document.body, {\r\n childList: true,\r\n subtree: false,\r\n attributes: false,\r\n characterData: false,\r\n });\r\n });\r\n },\r\n };\r\n};\r\n\r\nconst pleskActions = [\r\n {\r\n name: 'LOGIN',\r\n expects: [{\r\n sessionChanged: {},\r\n }],\r\n },\r\n {\r\n name: 'LOGOUT',\r\n expects: [{\r\n unloadByClick: {\r\n selector: '#account-menu-content-area a[href=\"/logout.php\"]',\r\n },\r\n }],\r\n },\r\n {\r\n name: 'HELP',\r\n expects: [{\r\n click: {\r\n elements: [\r\n {\r\n selector: 'a[data-type=\"link-read-manual\"]',\r\n },\r\n ],\r\n },\r\n }],\r\n },\r\n {\r\n name: 'CANCEL',\r\n expects: [{\r\n click: {\r\n elements: [\r\n {\r\n selector: ['button[name=\"cancel\"]', 'button[name=\"bname_cancel\"]'],\r\n },\r\n ],\r\n },\r\n }],\r\n },\r\n {\r\n name: 'SITE_PREVIEW',\r\n expects: [{\r\n click: {\r\n elements: [\r\n {\r\n selector: 'a[href*=\"/plesk-site-preview/\"]',\r\n },\r\n ],\r\n },\r\n }],\r\n },\r\n {\r\n name: 'RADIO_SELECT',\r\n expects: [{\r\n click: {\r\n elements: [{\r\n selector: 'input[type=\"radio\"]',\r\n attributes: ['name', 'value'],\r\n }],\r\n },\r\n }],\r\n },\r\n];\r\n\r\nconst watchersFactory = () => ({\r\n sessionChanged() {\r\n document.addEventListener('DOMContentLoaded', function () {\r\n const config = UAT.getConfig();\r\n\r\n if (isAnalyticsAllowed()) {\r\n if (Cookie.get('uat-iid') !== config.instanceId) {\r\n Cookie.remove('uat-iid', '/');\r\n Cookie.set('uat-iid', config.instanceId, null, '/');\r\n }\r\n if (Cookie.get('uat-sid') !== config.sessionId) {\r\n Cookie.remove('uat-sid', '/');\r\n Cookie.set('uat-sid', config.sessionId, null, '/');\r\n }\r\n }\r\n\r\n if (config.sessionId && window.localStorage.getItem('uat-sid') !== config.sessionId) {\r\n window.localStorage.setItem('uat-sid', config.sessionId);\r\n const data = {\r\n userAgent: navigator.userAgent,\r\n versionInfo: config.versionInfo,\r\n accountCreated: config.accountCreated,\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n ratio: window.devicePixelRatio,\r\n };\r\n request({ name: 'LOGIN', url: getUrl(), data });\r\n }\r\n }, true);\r\n },\r\n unloadByClick({ selector }, expect, action) {\r\n window.addEventListener('beforeunload', () => {\r\n const el = document.querySelector(selector);\r\n if (el === document.activeElement) {\r\n request(action, el);\r\n }\r\n }, true);\r\n },\r\n});\r\n\r\nUAT.setPatches(patches => ({\r\n ...patches,\r\n ...patchesFactory(),\r\n}));\r\n\r\nUAT.setActions(actions => [\r\n ...actions,\r\n ...pleskActions,\r\n]);\r\n\r\nUAT.setWatchers(watchers => ({\r\n ...watchers,\r\n ...watchersFactory(),\r\n}));\r\n\r\nconst { init } = UAT;\r\nUAT.init = initConfig => {\r\n init(initConfig);\r\n};\r\n\r\nexport { UAT };\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nconst COOKIE_POLICY_LOCAL_STORAGE_KEY = 'cookie-policy';\r\n\r\nexport const hasPreferences = () => !!localStorage.getItem(COOKIE_POLICY_LOCAL_STORAGE_KEY);\r\n\r\nexport const savePreferences = preferences => {\r\n localStorage.setItem(COOKIE_POLICY_LOCAL_STORAGE_KEY, JSON.stringify(preferences));\r\n};\r\n\r\nexport const loadPreferences = () => {\r\n let analytics = false;\r\n let marketing = false;\r\n try {\r\n const data = JSON.parse(localStorage.getItem(COOKIE_POLICY_LOCAL_STORAGE_KEY));\r\n if (typeof data.analytics === 'boolean') {\r\n ({ analytics } = data);\r\n }\r\n if (typeof data.marketing === 'boolean') {\r\n ({ marketing } = data);\r\n }\r\n } catch {}\r\n return {\r\n analytics,\r\n marketing,\r\n };\r\n};\r\n\r\nexport const isAnalyticsAllowed = () => loadPreferences().analytics;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport prepareUrl from './prepareUrl';\r\n\r\nexport default (id, options = {}) => {\r\n options = {\r\n openInNew: false,\r\n label: '',\r\n hint: '',\r\n returnUrl: '',\r\n isClassicUi: '',\r\n showAll: false,\r\n ...options,\r\n };\r\n\r\n if (options.isClassicUi) {\r\n options.returnUrl = `/subscription/overview/id/${id}`;\r\n }\r\n let url = prepareUrl(`/subscription/login/id/${id}`);\r\n\r\n if (options.showAll) {\r\n url += '/all/true';\r\n }\r\n\r\n if (options.returnUrl) {\r\n url += `/?returnUrl=${prepareUrl(options.returnUrl)}`;\r\n }\r\n\r\n return (\r\n '' +\r\n `${options.hint}` +\r\n `` +\r\n `${options.label}` +\r\n '' +\r\n ''\r\n );\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport punycode from 'punycode';\r\n\r\nconst toPunycode = domain => punycode.toASCII(domain);\r\n\r\nexport { toPunycode };\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { render } from 'react-dom';\r\nimport { createPortal } from 'react';\r\nimport { gql } from '@apollo/client';\r\nimport { LocaleProvider, FormFieldPassword } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport App from 'components/App';\r\nimport ErrorBoundary from 'components/common/ErrorBoundary';\r\nimport require from 'app';\r\nimport sentry from 'common/sentry';\r\nimport pageData from 'helpers/pageData';\r\nimport apolloClient from 'apolloClient';\r\nimport estimatePassword from 'helpers/estimatePassword';\r\n\r\nexport { require };\r\nexport { default as Form } from 'components/Form';\r\n\r\nconst isInFrame = () => {\r\n try {\r\n if (window.self === window.top) {\r\n return false;\r\n }\r\n } catch {\r\n }\r\n\r\n return true;\r\n};\r\n\r\nFormFieldPassword.defaultProps.passwordMeterProps.onEstimate = password => estimatePassword(password);\r\n\r\nlet app = null;\r\n\r\nexport const run = ({\r\n config = {},\r\n data: { showModal, ...data } = {},\r\n graphqlQueries = [],\r\n localeSections = {},\r\n}) => {\r\n if (config.feedback) {\r\n sentry(config.feedback);\r\n }\r\n\r\n if (isInFrame()) {\r\n document.body.classList.add('page-content-only');\r\n }\r\n\r\n Locale.addSections(localeSections);\r\n\r\n pageData(data);\r\n\r\n graphqlQueries.forEach(({ query, ...options }) => {\r\n try {\r\n apolloClient.writeQuery({\r\n query: gql(query),\r\n ...options,\r\n });\r\n } catch {}\r\n });\r\n\r\n if (showModal) {\r\n const { name, ...props } = showModal;\r\n Plesk.require(name, run => run(props));\r\n }\r\n\r\n app = render(\r\n ,\r\n document.getElementById('plesk-root'),\r\n );\r\n};\r\n\r\nexport const addWidget = (Component, { locale, ...props }, container) => {\r\n let widget = ;\r\n\r\n if (locale) {\r\n widget = {widget};\r\n }\r\n\r\n widget = (\r\n \r\n {widget}\r\n \r\n );\r\n\r\n if (container) {\r\n widget = createPortal(widget, container);\r\n }\r\n\r\n app.addWidget(widget);\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component, StrictMode } from 'react';\r\nimport { createBrowserRouter, RouterProvider } from 'react-router-dom';\r\nimport { ApolloProvider } from '@apollo/client';\r\nimport routes from 'routes';\r\nimport apolloClient from '../apolloClient';\r\nimport LocaleProvider from './LocaleProvider';\r\n\r\nclass App extends Component {\r\n state = {\r\n widgets: [],\r\n };\r\n\r\n router = createBrowserRouter(routes);\r\n\r\n addWidget(widget) {\r\n this.setState(({ widgets }) => ({\r\n widgets: [\r\n ...widgets,\r\n widget,\r\n ],\r\n }));\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {this.state.widgets}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { generatePath, parsePath } from 'react-router';\r\nimport { redirect, matchRoutes } from 'react-router-dom';\r\nimport { gql } from '@apollo/client';\r\nimport { api, emptyFn, prepareUrl, Locale } from 'jsw';\r\nimport { addToast } from 'helpers/toasts';\r\nimport { isNetworkError } from 'helpers/isNetworkError';\r\nimport pageData from '../helpers/pageData';\r\nimport { getEndOfDay, toPhpDate, getStartOfDay } from 'helpers/dates';\r\nimport routesTransformer from '../helpers/routesTransformer';\r\nimport apolloClient from '../apolloClient';\r\nimport AppLayout from '../components/layouts/AppLayout';\r\nimport CpPagesLayout from '../components/layouts/CpPagesLayout';\r\nimport PhpPagesLayout from '../components/layouts/PhpPagesLayout';\r\nimport AppBoundary from '../components/AppBoundary';\r\nimport LogsPage from '../components/pages/LogsPage';\r\nimport { readGraphQlListInputFromStorage } from '../components/common/GraphQlList';\r\nimport { odbcServerRoute } from 'routes/odbcServerRoute';\r\nimport domainOverviewRoutes from 'routes/domainOverviewRoutes';\r\nimport { summaryReportRoute, summaryReportChildrenRoute } from 'routes/summaryReportRoute';\r\nimport { domainRoute } from 'routes/domainRoute';\r\nimport { trafficUsageByViewerResellersRoute, trafficUsageByViewerResellersChildrenRoute } from 'routes/trafficUsageByViewerResellersRoute';\r\nimport { trafficUsageByViewerCustomersRoute, trafficUsageByViewerCustomersChildrenRoute } from 'routes/trafficUsageByViewerCustomersRoute';\r\nimport { trafficUsageByViewerDomainsRoute, trafficUsageByViewerDomainsChildrenRoute } from 'routes/trafficUsageByViewerDomainsRoute';\r\nimport { homeRoute } from 'routes/homeRoute';\r\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\r\nimport { infoAndStatisticsRoute } from './infoAndStatisticsRoute';\r\nimport { resourceUsageByDomainRoute } from './resourceUsageByDomainRoute';\r\n\r\nconst initialDataLoader = () => {\r\n const { isInitial, ...data } = pageData();\r\n pageData(data);\r\n\r\n return isInitial ? data : null;\r\n};\r\n\r\nconst createPageDataLoader = dataPath => async ({ request, params }) => {\r\n const url = new URL(request.url);\r\n if (dataPath) {\r\n url.pathname = generatePath(dataPath, params);\r\n }\r\n\r\n let result;\r\n try {\r\n result = initialDataLoader() ?? await api.get(url.toString());\r\n } catch (error) {\r\n if (isNetworkError(error)) {\r\n addToast({\r\n intent: 'danger',\r\n message: `${error.message}: ${url.toString()}`,\r\n });\r\n return new Promise(emptyFn);\r\n }\r\n throw error;\r\n }\r\n const { graphqlQueries = [], ...newData } = result;\r\n\r\n if (newData.redirect) {\r\n const url = prepareUrl(newData.redirect);\r\n if (isClientSideRedirectAllowed(url)) {\r\n return redirect(url);\r\n }\r\n\r\n window.location.replace(url);\r\n return new Promise(emptyFn);\r\n }\r\n\r\n graphqlQueries.forEach(({ query, ...options }) => {\r\n try {\r\n apolloClient.writeQuery({\r\n query: gql(query),\r\n ...options,\r\n });\r\n } catch { }\r\n });\r\n\r\n pageData(newData);\r\n\r\n return newData;\r\n};\r\n\r\nconst ipAddressDomainRoute = {\r\n path: ':ipAddressId/domains',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/IpAddressDomainsPage\" */'components/pages/IpAddressDomainsPage'),\r\n loader: async ({ params }) => {\r\n const clientId = params.clientId ? btoa(`Client:${params.clientId}`) : null;\r\n const { data } = await apolloClient.query({\r\n query: require('queries/IpAddressDomainsPage.graphql'),\r\n variables: { ipAddressId: params.ipAddressId, clientId },\r\n });\r\n return data;\r\n },\r\n};\r\n\r\nconst changeOwnerRoute = {\r\n path: 'change-owner',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ChangeSubscriptionsOwnerPage\" */'components/pages/ChangeSubscriptionsOwnerPage'),\r\n loader: async ({ request }) => {\r\n const url = new URL(request.url);\r\n const ids = [...url.searchParams.entries()].map(([, value]) => btoa(`Domain:${value}`));\r\n\r\n const { data } = await apolloClient.query({\r\n query: require('queries/ChangeSubscriptionsOwner.graphql'),\r\n variables: { ids },\r\n });\r\n\r\n return data;\r\n },\r\n};\r\n\r\nconst virtualHostTemplateRoute = {\r\n path: 'virtual-host-template',\r\n loader: () => pageData(),\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('virtualHostTemplate'),\r\n }),\r\n helpContext: 'skeleton',\r\n },\r\n children: [\r\n {\r\n index: true,\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/VirtualHostTemplatePage\" */'components/pages/VirtualHostTemplatePage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/VirtualHostTemplatePage.graphql'),\r\n variables: {\r\n path: '',\r\n },\r\n });\r\n },\r\n },\r\n ],\r\n};\r\n\r\nconst isTsSessionsExist = async () => {\r\n const { data: { viewer: { type, permissions: { manageServerSessions } }, os: { isWindows } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerSessions\r\n }\r\n }\r\n os {\r\n isWindows\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && isWindows && manageServerSessions;\r\n};\r\n\r\nconst isAspPageExist = async () => {\r\n const { data: { viewer: { permissions: { manageAspNetSettings } }, capability: { packages: { isASPdotNetInstalled } } },\r\n } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n permissions {\r\n manageAspNetSettings\r\n }\r\n }\r\n capability {\r\n packages {\r\n isASPdotNetInstalled\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return isASPdotNetInstalled && manageAspNetSettings;\r\n};\r\n\r\n\r\nconst routes = routesTransformer([{\r\n element: ,\r\n errorElement: ,\r\n children: [\r\n {\r\n path: ['/login_up.php', '/login_up.php3', '/login'],\r\n handle: { isAllowedWithoutLicense: true },\r\n componentLoader: () => import(/* webpackMode: \"eager\" */'components/pages/LoginPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/LoginPage.graphql'),\r\n });\r\n return initialDataLoader();\r\n },\r\n children: [{\r\n path: '*',\r\n loader: () => redirect('..'),\r\n }],\r\n },\r\n {\r\n path: '/get_password.php',\r\n handle: { isAllowedWithoutLicense: true },\r\n componentLoader: () => import(/* webpackMode: \"eager\" */'components/pages/GetPasswordPage'),\r\n loader: initialDataLoader,\r\n },\r\n {\r\n path: '/ch_pass_by_secret.php',\r\n handle: { isAllowedWithoutLicense: true },\r\n componentLoader: () => import(/* webpackMode: \"eager\" */'components/pages/RestorePasswordPage'),\r\n },\r\n {\r\n path: '/configure-mail-client.php',\r\n componentLoader: () => import('components/pages/ConfigureMailClientPage'),\r\n loader: initialDataLoader,\r\n },\r\n {\r\n path: '/admin/force-reset-password',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/force-reset-password\" */'views/admin/force-reset-password'),\r\n loader: createPageDataLoader('/admin/force-reset-password'),\r\n },\r\n {\r\n path: '/admin/setup/progress',\r\n handle: { isAllowedWithoutLicense: true },\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/setup/progress\" */'views/admin/setup/progress'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/setup/*',\r\n handle: { isAllowedWithoutLicense: true },\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/setup/index\" */'views/admin/setup/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/home/*',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/home/admin\" */'views/admin/home/admin'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/app',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/app/info/id/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/app/info\" */'views/admin/app/info'),\r\n loader: createPageDataLoader('/admin/app/info/id/:id'),\r\n },\r\n {\r\n path: '/admin/app/usage',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/app/usage\" */'views/admin/app/usage'),\r\n loader: createPageDataLoader('/admin/app/usage'),\r\n },\r\n {\r\n path: ['/admin/app/uploaded', '/admin/app/uploaded/downloadStatus/:status'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/app/uploaded\" */'views/admin/app/uploaded'),\r\n loader: createPageDataLoader('/admin/app/uploaded'),\r\n },\r\n {\r\n path: '/admin/custom-buttons/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/custom-buttons/list\" */'views/admin/custom-buttons/list'),\r\n loader: createPageDataLoader('/admin/custom-buttons/list'),\r\n },\r\n {\r\n path: '/smb/custom-buttons/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/custom-buttons/list\" */'views/admin/custom-buttons/list'),\r\n loader: createPageDataLoader('/smb/custom-buttons/list'),\r\n },\r\n {\r\n path: '/admin/ftp-sessions/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/ftp-sessions/list\" */'views/admin/ftp-sessions/list'),\r\n loader: createPageDataLoader('/admin/ftp-sessions/list'),\r\n },\r\n {\r\n path: '/admin/php-handler/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/php-handler/list\" */'views/admin/php-handler/list'),\r\n loader: createPageDataLoader('/admin/php-handler/list'),\r\n },\r\n {\r\n path: ['/admin/scheduler', '/smb/scheduler'],\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/backup/schedule', '/smb/backup/schedule', '/smb/backup/schedule/domainId/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ScheduledBackupPage\" */'components/pages/ScheduledBackupPage'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/backup/schedule-list', '/smb/backup/schedule-list', '/smb/backup/schedule-list/domainId/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ScheduledBackupListPage\" */'components/pages/ScheduledBackupListPage'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/scheduler/tasks-list', '/smb/scheduler/tasks-list'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/default/scheduler/list\" */'views/default/scheduler/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/domain/list', '/admin/domain/add-domain'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/domain/list\" */'components/pages/DomainsPage'),\r\n loader: createPageDataLoader('/admin/domain/list'),\r\n children: domainOverviewRoutes.map(({ path, ...params }) => ({\r\n path: `:id/${path}`,\r\n ...params,\r\n })),\r\n },\r\n {\r\n path: ['/admin/customer/list', '/admin/customer/create'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/customer/list\" */'components/pages/CustomersPage'),\r\n loader: createPageDataLoader('/admin/customer/list'),\r\n },\r\n {\r\n path: '/admin/customer/overview/id/:id',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/customer/domains/id/:id', '/admin/customer/add-domain/id/:id'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/customer/domains\" */'components/pages/CustomerDomainsPage'),\r\n loader: createPageDataLoader('/admin/customer/domains/id/:id'),\r\n },\r\n {\r\n path: ['/admin/customer/subscriptions/id/:id', '/admin/customer/new-subscription/id/:id'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/customer/subscriptions\" */'components/pages/CustomerSubscriptionsPage'),\r\n loader: createPageDataLoader('/admin/customer/subscriptions/id/:id'),\r\n children: [changeOwnerRoute],\r\n },\r\n {\r\n path: '/admin/reseller/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/reseller/list\" */'components/pages/ResellersPage'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/reseller/overview/id/:id',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/reseller/customers/id/:id', '/admin/reseller/new-customer/id/:id'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/reseller/customers\" */'components/pages/ResellerCustomersPage'),\r\n loader: createPageDataLoader('/admin/reseller/customers/id/:id'),\r\n },\r\n {\r\n path: ['/admin/reseller/domains/id/:id', '/admin/reseller/add-domain/id/:id'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/reseller/domains\" */'components/pages/ResellerDomainsPage'),\r\n loader: createPageDataLoader('/admin/reseller/domains/id/:id'),\r\n },\r\n {\r\n path: ['/admin/reseller/subscriptions/id/:id', '/admin/reseller/new-subscription/id/:id'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/reseller/subscriptions\" */'components/pages/ResellerSubscriptionsPage'),\r\n loader: createPageDataLoader('/admin/reseller/subscriptions/id/:id'),\r\n children: [changeOwnerRoute],\r\n },\r\n {\r\n path: '/admin/server/tools',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/server/tools\" */'views/admin/server/tools'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/server/preview-domain-settings',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/server/preview-domain-settings\"*/'views/admin/server/preview-domain-settings'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/services/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/services/list\" */'views/admin/services/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/sessions/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/sessions/list\" */'views/admin/sessions/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/subscription/list', '/admin/subscription/create'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/subscription/list\" */'components/pages/SubscriptionsPage'),\r\n loader: createPageDataLoader('/admin/subscription/list'),\r\n children: [changeOwnerRoute],\r\n },\r\n {\r\n path: ['/admin/subscription/login/all/:all/id/:id/', '/admin/subscription/login/id/:id/'],\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/subscription/overview/id/:id/',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/smb/file-manager/list', '/smb/file-manager/list/domainId/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/file-manager/list\" */'views/smb/file-manager/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/file-manager',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/file-manager/index\" */'views/smb/file-manager/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/my-service',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/my-service/index\" */'views/smb/my-service/index'),\r\n loader: createPageDataLoader('/smb/my-service'),\r\n },\r\n {\r\n path: ['/smb/email-address', '/smb/email-address/index', '/smb/email-address/index/domainId/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/email-address/index\" */'views/smb/email-address/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/smb/email-address/list', '/smb/email-address/list/domainId/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/email-address/list\" */'views/smb/email-address/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/mail-settings/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/mail-settings/list\" */'views/smb/mail-settings/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/smb/account', '/smb/account/index'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/account/index\" */'views/smb/account/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/account/show/id/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/account/show\" */'views/smb/account/show'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/user/index',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/user/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/user/list\" */'components/pages/UsersPage'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/smb/web/setup', '/smb/web/add-domain/create-webspace/true'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/setup\" */'views/smb/web/setup'),\r\n loader: createPageDataLoader('/smb/web/setup'),\r\n },\r\n {\r\n path: ['/smb/web/view', '/smb/web/view/id/:id/type/:type', '/smb/web/add-domain'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/view\" */'views/smb/web/view'),\r\n loader: createPageDataLoader('/smb/web/view'),\r\n children: [\r\n changeOwnerRoute,\r\n ...domainOverviewRoutes.map(({ path, ...params }) => ({\r\n path: `:id/${path}`,\r\n ...params,\r\n })),\r\n ],\r\n },\r\n {\r\n path: '/smb/web/overview/id/:id/type/:type',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/overview\" */'views/smb/web/overview'),\r\n loader: createPageDataLoader(),\r\n children: domainOverviewRoutes,\r\n },\r\n {\r\n path: '/smb/web/php-settings/id/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/php-settings\" */'views/smb/web/php-settings'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/statistics/details',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/statistics/details\" */'views/smb/statistics/details'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/statistics/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/statistics/details\" */'views/smb/statistics/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/statistics',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/smb/account/switch/all/:all/id/:id', '/smb/account/switch/id/:id'],\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/database',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/database/index\" */'views/smb/database/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/smb/database/list', '/smb/database/list/domainId/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/database/list\" */'views/smb/database/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/database/users-list/domainId/:domainId',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/database/users-list\" */'views/smb/database/users-list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/task-manager',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/task-manager/index\" */'views/admin/task-manager/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/cp/dns',\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('records'),\r\n },\r\n {\r\n path: 'records',\r\n componentLoader: () => import(/* webpackChunkName: \"views/dns/records\" */'components/pages/DnsSettingsPage/Records'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/DnsRecordsPage.graphql'),\r\n }).then(({ data }) => data),\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, mode: { isDnsServiceSupported } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDnsTemplate\r\n }\r\n }\r\n mode {\r\n isDnsServiceSupported\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerDnsTemplate && isDnsServiceSupported;\r\n },\r\n children: [{\r\n path: ['dns-soa-zone-sync', 'dns-restore'],\r\n }, {\r\n path: ':id/edit',\r\n componentLoader: () => import(/* webpackChunkName: \"views/dns/records/edit\" */'components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer'),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer/EditDnsRecord.graphql'),\r\n variables: { id },\r\n }),\r\n }, {\r\n path: 'add',\r\n componentLoader: () => import(/* webpackChunkName: \"views/dns/records/edit\" */'components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer'),\r\n loader: () => apolloClient.query({\r\n query: require('components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer/AddDnsRecord.graphql'),\r\n }),\r\n }, {\r\n path: 'dns-zone-sync',\r\n componentLoader: () => import(/* webpackChunkName: \"views/dns/records/dns-zone-sync\" */'components/pages/DnsSettingsPage/Records/DnsZoneSyncDrawer'),\r\n }],\r\n },\r\n {\r\n path: 'soa-record',\r\n componentLoader: () => import(/* webpackChunkName: \"views/dns/soa-record\" */'components/pages/DnsSettingsPage/SoaRecord'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/DnsSoaRecordsPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, mode: { isDnsServiceSupported } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDnsTemplate\r\n }\r\n }\r\n mode {\r\n isDnsServiceSupported\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerDnsTemplate && isDnsServiceSupported;\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/admin/dns/acl-records',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/dns/acl-records\" */'views/admin/dns/acl-records'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/dns/add-acl-record',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/dns/add-acl-record\" */'views/admin/dns/add-acl-record'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/dns/external-dns',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/dns/external-dns\" */'views/admin/dns/external-dns'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/dns/external-dns-edit/extensionId/:extensionId',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/dns/external-dns-edit\" */'views/admin/dns/external-dns-edit'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/index/id/:id/type/:type',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/records-list/id/:id/type/:type',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/records-list\" */'views/smb/dns-zone/records-list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/soa-record/id/:id/type/:type',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/soa-record\" */'views/smb/dns-zone/soa-record'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/acl-records/id/:id/type/:type',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/acl-records\" */'views/smb/dns-zone/acl-records'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/add-acl-record/id/:id/type/:type',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/add-acl-record\" */'views/smb/dns-zone/add-acl-record'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/external-dns/id/:id/type/:type',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/external-dns\" */'views/smb/dns-zone/external-dns'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/external-dns-edit/id/:id/type/:type/extensionId/:extensionId',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/external-dns-edit\" */'views/smb/dns-zone/external-dns-edit'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/cp/settings-ui/edit-interface-view',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/settings-ui/edit-interface-view\" */'views/admin/settings-ui/edit-interface-view'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/EditInterfaceViewPage.graphql'),\r\n }).then(({ data }) => data),\r\n isExist: async () => {\r\n const { data: { viewer: { type }, mode } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n }\r\n mode {\r\n isViewSwitcherAllowed\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && mode.isViewSwitcherAllowed;\r\n },\r\n },\r\n {\r\n path: '/admin/settings-ui/list-languages',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/settings-ui/list-languages\" */'views/admin/settings-ui/list-languages'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/settings-ui',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/database/settings',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/database/settings\"*/'views/admin/database/settings'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/web/web-server-settings/id/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/web-server-settings\" */'views/smb/web/web-server-settings'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/notifications',\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('email-settings'),\r\n },\r\n {\r\n path: 'email-settings',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/notifications/index\" */'views/admin/notifications/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n ],\r\n },\r\n {\r\n path: '/cp/notifications/panel-settings',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/PanelNotificationsSettings\" */'components/pages/Notifications/PanelNotificationsSettings'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/NotificationUiSetting.graphql'),\r\n }).then(({ data }) => data),\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerNotifications\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerNotifications;\r\n },\r\n },\r\n {\r\n path: '/cp/settings-ui/branding',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/BrandingPage\" */'components/pages/BrandingPage'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/BrandingPage.graphql'),\r\n }).then(({ data }) => data),\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerBranding\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return (type === 'ADMIN' && permissions.manageServerBranding) || type === 'RESELLER';\r\n },\r\n },\r\n {\r\n path: '/cp/server/db',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServersPage'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/DatabaseServersPage.graphql'),\r\n }).then(({ data }) => data),\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDb\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerDb;\r\n },\r\n children: [\r\n {\r\n path: ':id/upgrade',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerUpgradePage'),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('queries/DatabaseServerUpgradePage.graphql'),\r\n variables: { id: btoa(`DatabaseServer:${id}`) },\r\n }).then(({ data }) => data).catch(({ graphQLErrors }) => {\r\n graphQLErrors.forEach(({ message, debugMessage }) => {\r\n addToast({\r\n intent: 'danger',\r\n message: debugMessage || message,\r\n });\r\n });\r\n\r\n return redirect('/cp/server/db');\r\n }),\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, databaseServer } } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDb\r\n }\r\n }\r\n databaseServer: node(id: $id) {\r\n id\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: btoa(`DatabaseServer:${params.id}`),\r\n },\r\n errorPolicy: 'ignore',\r\n });\r\n\r\n return Boolean(type === 'ADMIN' && permissions.manageServerDb && databaseServer);\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/cp/server/db/create',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerCreatePage'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/DatabaseServerCreatePage.graphql'),\r\n }).then(({ data }) => data),\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDb\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerDb;\r\n },\r\n },\r\n {\r\n path: '/cp/server/db/:id',\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('properties'),\r\n },\r\n {\r\n path: 'properties',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerPropertiesPage'),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('queries/DatabaseServerPropertiesPage.graphql'),\r\n variables: { id: btoa(`DatabaseServer:${id}`) },\r\n }).then(({ data }) => data),\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, databaseServer } } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDb\r\n }\r\n }\r\n databaseServer: node(id: $id) {\r\n id\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: btoa(`DatabaseServer:${params.id}`),\r\n },\r\n errorPolicy: 'ignore',\r\n });\r\n\r\n return Boolean(type === 'ADMIN' && permissions.manageServerDb && databaseServer);\r\n },\r\n },\r\n {\r\n path: 'databases',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerDatabasesPage'),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('queries/DatabaseServerDatabasesPage.graphql'),\r\n variables: { id: btoa(`DatabaseServer:${id}`) },\r\n }).then(({ data }) => data),\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, databaseServer } } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDb\r\n }\r\n }\r\n databaseServer: node(id: $id) {\r\n id\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: btoa(`DatabaseServer:${params.id}`),\r\n },\r\n errorPolicy: 'ignore',\r\n });\r\n\r\n return Boolean(type === 'ADMIN' && permissions.manageServerDb && databaseServer);\r\n },\r\n },\r\n {\r\n path: 'change-password',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerChangePasswordPage'),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('queries/DatabaseServerChangePasswordPage.graphql'),\r\n variables: { id: btoa(`DatabaseServer:${id}`) },\r\n }).then(({ data }) => data),\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, os, mode, databaseServer } } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDb\r\n }\r\n }\r\n os {\r\n isWindows\r\n }\r\n mode {\r\n isDemo\r\n }\r\n databaseServer: node(id: $id) {\r\n id\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: btoa(`DatabaseServer:${params.id}`),\r\n },\r\n errorPolicy: 'ignore',\r\n });\r\n\r\n return Boolean(type === 'ADMIN' && permissions.manageServerDb && os.isWindows && !mode.isDemo && databaseServer);\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: ['/cp/websites-diagnostic', '/cp/websites-diagnostic/id/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/websites-diagnostic/index\" */'components/pages/WebsitesDiagnostic'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/WebsitesDiagnosticPage.graphql'),\r\n fetchPolicy: 'network-only',\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer, config } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n }\r\n config {\r\n websitesDiagnostic {\r\n enabled\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return viewer.type === 'ADMIN' && config.websitesDiagnostic.enabled;\r\n },\r\n },\r\n {\r\n path: '/cp/system-time',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SystemTimePage\" */'components/pages/SystemTimePage'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/SystemTimePage.graphql'),\r\n }).then(({ data }) => data),\r\n },\r\n {\r\n path: '/cp/server/mail',\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('settings'),\r\n },\r\n {\r\n path: 'settings',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailSettingsPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailSettingsPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerMail\r\n manageServerMailAutodiscover\r\n manageServerSpamFilter\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && (\r\n permissions.manageServerMail ||\r\n permissions.manageServerMailAutodiscover ||\r\n permissions.manageServerSpamFilter\r\n );\r\n },\r\n },\r\n {\r\n path: 'black-list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailBlackListPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailBlackListPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerMailBlackWhiteLists\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerMailBlackWhiteLists;\r\n },\r\n },\r\n {\r\n path: 'white-list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailWhiteListPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailWhiteListPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerMailBlackWhiteLists\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerMailBlackWhiteLists;\r\n },\r\n },\r\n {\r\n path: 'antivirus',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailAntivirusPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailAntivirusPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerVirusProtection\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerVirusProtection;\r\n },\r\n },\r\n {\r\n path: 'spam-filter',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailSpamFilterPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailSpamFilterPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, os: { isWindows } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerSpamFilter\r\n }\r\n }\r\n os {\r\n isWindows\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerSpamFilter && isWindows;\r\n },\r\n },\r\n {\r\n path: 'statistics',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailStatisticsPage'),\r\n loader: async () => {\r\n await Promise.all([\r\n apolloClient.query({\r\n query: require('queries/ServerMailSpamStatistics.graphql'),\r\n variables: {\r\n from: toPhpDate(getStartOfDay(Date.now())),\r\n to: toPhpDate(getEndOfDay(Date.now())),\r\n pagination: { page: 0, itemsPerPage: 25 },\r\n orderBy: { email: 'DESC' },\r\n },\r\n }),\r\n apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n }),\r\n ]);\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('mailStatistics'),\r\n href: '/admin/server/tools',\r\n }),\r\n },\r\n },\r\n {\r\n path: 'smarthost',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailSmarthostPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailSmarthostPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { capability: { mailServer } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n capability {\r\n mailServer {\r\n isSmarthostAvailable\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return mailServer.isSmarthostAvailable;\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/cp/license',\r\n handle: { isAllowedWithoutLicense: true },\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('primary'),\r\n },\r\n {\r\n path: 'primary',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license\" */'components/pages/PrimaryKeyInfoPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/PrimaryKeyInfoPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/MasterKeyProcessingState.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerLicense;\r\n },\r\n children: [\r\n {\r\n path: 'upload',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license\" */'components/pages/PrimaryKeyUploadPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/PrimaryKeyUploadPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, mode: { isDemo } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n mode {\r\n isDemo\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerLicense && !isDemo;\r\n },\r\n },\r\n {\r\n path: 'revert',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license\" */'components/pages/PrimaryKeyRevertPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/PrimaryKeyRevertPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, mode: { isDemo } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n mode {\r\n isDemo\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerLicense && !isDemo;\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: 'additional',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license/additional\" */'components/pages/AdditionalKeysPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/AdditionalKeysPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerLicense;\r\n },\r\n children: [\r\n {\r\n path: 'upload',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license/additional\" */'components/pages/AdditionalKeyUploadPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/AdditionalKeyUploadPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, mode: { isDemo } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n mode {\r\n isDemo\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerLicense && !isDemo;\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: 'additional/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license/additional\" */'components/pages/AdditionalKeyInfoPage'),\r\n loader: async ({ params: { id } }) => {\r\n await apolloClient.query({\r\n query: require('queries/AdditionalKeyInfoPage.graphql'),\r\n variables: { id },\r\n });\r\n },\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, additionalKey } } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n additionalKey(id: $id) {\r\n keyNumber\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: params.id,\r\n },\r\n });\r\n\r\n return additionalKey && type === 'ADMIN' && permissions.manageServerLicense;\r\n },\r\n children: [\r\n {\r\n path: 'revert',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license/additional\" */'components/pages/AdditionalKeyRevertPage'),\r\n loader: async ({ params: { id } }) => {\r\n await apolloClient.query({\r\n query: require('queries/AdditionalKeyRevertPage.graphql'),\r\n variables: { id },\r\n });\r\n },\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, mode: { isDemo }, additionalKey } } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n additionalKey(id: $id) {\r\n keyNumber\r\n }\r\n mode {\r\n isDemo\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: params.id,\r\n },\r\n });\r\n\r\n return additionalKey && type === 'ADMIN' && permissions.manageServerLicense && !isDemo;\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n path: '/cp/firewall',\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('general'),\r\n },\r\n {\r\n path: 'general',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/FirewallGeneralPage\" */'components/pages/FirewallGeneralPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/FirewallGeneralPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, os: { isUnix }, mode: { isDemo } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerFirewall\r\n }\r\n }\r\n mode {\r\n isDemo\r\n }\r\n os {\r\n isUnix\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && !isUnix && !isDemo && permissions.manageServerFirewall;\r\n },\r\n },\r\n {\r\n path: 'icmp',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/FirewallIcmpPage\" */'components/pages/FirewallIcmpPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/FirewallIcmpPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, os: { isUnix }, mode: { isDemo } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerFirewall\r\n }\r\n }\r\n mode {\r\n isDemo\r\n }\r\n os {\r\n isUnix\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && !isUnix && !isDemo && permissions.manageServerFirewall;\r\n },\r\n },\r\n {\r\n path: 'rules',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/FirewallRulesPage\" */'components/pages/FirewallRulesPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/FirewallRulesPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, os: { isUnix }, mode: { isDemo } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerFirewall\r\n }\r\n }\r\n mode {\r\n isDemo\r\n }\r\n os {\r\n isUnix\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && !isUnix && !isDemo && permissions.manageServerFirewall;\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: ['/cp/server/components', '/cp/server/components/default/:name', '/cp/server/components/configuration/:name'],\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerComponentsPage\" */'components/pages/ServerComponentsPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerComponentsPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerComponents\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerComponents;\r\n },\r\n },\r\n {\r\n path: '/cp/ip-address/',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/ip-address/list\" */'components/pages/IpAddressPage'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/IpAddressPage.graphql'),\r\n variables: { page: 1, itemsPerPage: 25 },\r\n }).then(({ data }) => data),\r\n children: [\r\n { path: ['add', ':id/edit'] },\r\n ipAddressDomainRoute,\r\n ],\r\n },\r\n {\r\n path: '/cp/ip-address/:id/clients',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/ip-address/clients\" */'components/pages/IpAddressResellersPage'),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('components/pages/IpAddressResellersPage/IpAddressResellerList.graphql'),\r\n variables: { id },\r\n }),\r\n children: [{\r\n path: 'assign',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/AssignIpAddressToResellerForm\" */\r\n 'components/pages/IpAddressResellersPage/AssignIpAddressToResellerForm'\r\n ),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('components/pages/IpAddressResellersPage/AssignIpAddressToResellerForm/UnassignedIpAddressResellers.graphql'),\r\n variables: { id },\r\n }),\r\n }],\r\n },\r\n {\r\n path: '/cp/client/:clientId/ip-address',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/client/ip-address\" */ 'components/pages/ClientIpAddressPage'),\r\n loader: async ({ params: { clientId } }) => {\r\n await apolloClient.query({\r\n query: require('queries/ClientIpAddress.graphql'),\r\n variables: { clientId: btoa(`Client:${clientId}`) },\r\n });\r\n },\r\n children: [ipAddressDomainRoute, {\r\n path: ':ipAddressId/properties',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"views/admin/client/ip-address/form\" */ 'components/pages/ClientIpAddressPage/ClientIpAddressProperties'\r\n ),\r\n loader: async ({ params: { clientId, ipAddressId } }) => {\r\n await apolloClient.query({\r\n query: require('components/pages/ClientIpAddressPage/ClietnIpAddressProperties.graphql'),\r\n variables: {\r\n ipAddressId,\r\n clientId: btoa(`Client:${clientId}`),\r\n },\r\n });\r\n },\r\n }, {\r\n path: 'assign',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/client/ip-address/form\" */ 'components/pages/ClientIpAddressPage/AssignClientIpAddress'),\r\n loader: async ({ params: { clientId } }) => {\r\n await apolloClient.query({\r\n query: require('components/pages/ClientIpAddressPage/AssignClientIpAddress/AssignClientIpAddressDrawer.graphql'),\r\n variables: {\r\n clientId: btoa(`Client:${clientId}`),\r\n },\r\n });\r\n },\r\n }],\r\n },\r\n {\r\n path: '/cp/php/extensions/id/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"views/php/extensions\" */'components/pages/PhpExtensionsPage'),\r\n loader: async ({ params: { id } }) => {\r\n await apolloClient.query({\r\n query: require('queries/PhpExtensionsPage.graphql'),\r\n variables: { id },\r\n });\r\n },\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, os: { isWindows }, phpHandler: { cliPath } } } = await apolloClient.query({\r\n query: gql`\r\n query($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerPhp\r\n }\r\n }\r\n os {\r\n isWindows\r\n }\r\n phpHandler(id: $id) {\r\n id\r\n cliPath\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: params.id,\r\n },\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerPhp && (isWindows || cliPath !== '');\r\n },\r\n },\r\n {\r\n path: '/cp/server/ts-sessions/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/TsSessionPage\" */'components/pages/TsSessionPage'),\r\n loader: ({ params }) => async () => {\r\n await apolloClient.query({\r\n query: require('queries/TsSessionPage.graphql'),\r\n variables: { ids: [params.id] },\r\n });\r\n },\r\n isExist: isTsSessionsExist,\r\n },\r\n {\r\n path: '/cp/server/ts-sessions',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/TsSessionsPage\" */'components/pages/TsSessionsPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/TsSessionsPage.graphql'),\r\n });\r\n },\r\n isExist: isTsSessionsExist,\r\n },\r\n {\r\n path: '/cp/server/asp-dot-net-settings',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/AspDotNetSettingsPage/AspDotNetServerSettingsPage\" */'components/pages/AspDotNetSettingsPage/AspDotNetServerSettingsPage'),\r\n loader: async () => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/AspDotNetServerSettingsPage.graphql'),\r\n });\r\n return data;\r\n },\r\n isExist: isAspPageExist,\r\n },\r\n {\r\n path: 'cp',\r\n handle: {\r\n crumb: ({ data }) => data.pageSidebar.isPowerUserPanel ? null : {\r\n title: Locale.getSection('components.routes').lmsg('home'),\r\n href: '/admin/home',\r\n },\r\n },\r\n element: ,\r\n loader: () => pageData(),\r\n children: [\r\n {\r\n path: 'reseller-tools',\r\n isExist: async () => {\r\n const { data: { viewer } } = await apolloClient.query({\r\n query: require('queries/ViewerType.graphql'),\r\n });\r\n\r\n return viewer.type === 'RESELLER';\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('resellerTools'),\r\n }),\r\n },\r\n children: [\r\n infoAndStatisticsRoute,\r\n summaryReportRoute(),\r\n summaryReportChildrenRoute,\r\n virtualHostTemplateRoute,\r\n trafficUsageByViewerCustomersRoute({\r\n helpContext: 'reseller.client.traffic',\r\n }),\r\n trafficUsageByViewerCustomersChildrenRoute(),\r\n trafficUsageByViewerDomainsRoute(),\r\n trafficUsageByViewerDomainsChildrenRoute(),\r\n resourceUsageByDomainRoute(),\r\n {\r\n index: true,\r\n loader: () => new Promise(() => {\r\n // empty promise to avoid to show an empty page before reload\r\n window.location = '/admin/reseller/tools';\r\n }),\r\n },\r\n ],\r\n },\r\n {\r\n path: 'server',\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('tools'),\r\n }),\r\n },\r\n isExist: async () => {\r\n const { data: { viewer } } = await apolloClient.query({\r\n query: require('queries/ViewerType.graphql'),\r\n });\r\n\r\n return viewer.type === 'ADMIN';\r\n },\r\n children: [\r\n infoAndStatisticsRoute,\r\n summaryReportRoute(),\r\n summaryReportChildrenRoute,\r\n virtualHostTemplateRoute,\r\n trafficUsageByViewerResellersRoute(),\r\n trafficUsageByViewerResellersChildrenRoute(),\r\n trafficUsageByViewerCustomersRoute({\r\n helpContext: 'client.traffic',\r\n }),\r\n trafficUsageByViewerCustomersChildrenRoute(),\r\n trafficUsageByViewerDomainsRoute(),\r\n trafficUsageByViewerDomainsChildrenRoute(),\r\n resourceUsageByDomainRoute(),\r\n {\r\n index: true,\r\n loader: () => redirect('/admin/server/tools'),\r\n },\r\n {\r\n path: 'about',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerAboutPage\" */'components/pages/ServerAboutPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerAboutPage.graphql'),\r\n });\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('serverAbout'),\r\n }),\r\n helpContext: 'about.index',\r\n },\r\n },\r\n {\r\n path: 'mass-mail',\r\n loader: () => pageData(),\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('massMail'),\r\n }),\r\n helpContext: 'mass-mail',\r\n },\r\n children: [\r\n {\r\n index: true,\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/MassMailPage\" */'components/pages/MassMailPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/MassMailPage.graphql'),\r\n variables: {\r\n input: readGraphQlListInputFromStorage({ key: 'MassMailPage' }),\r\n },\r\n });\r\n },\r\n },\r\n {\r\n path: 'create',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/CreateMassMailTemplatePage\" */'components/pages/CreateMassMailTemplatePage'\r\n ),\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('createMassMailTemplate'),\r\n }),\r\n },\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/CreateMassMailTemplatePage.graphql'),\r\n });\r\n },\r\n },\r\n {\r\n path: 'send',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/SendMassMailPage\" */'components/pages/SendMassMailPage'\r\n ),\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('sendMassMail'),\r\n }),\r\n },\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/SendMassMailPage.graphql'),\r\n });\r\n },\r\n },\r\n {\r\n path: ':templateId/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/EditMassMailTemplatePage\" */'components/pages/EditMassMailTemplatePage'\r\n ),\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('editMassMailTemplate'),\r\n }),\r\n },\r\n loader: async ({ params: { templateId } }) => {\r\n await apolloClient.query({\r\n query: require('queries/EditMassMailTemplatePage.graphql'),\r\n variables: {\r\n numericId: Number(templateId),\r\n id: btoa(`MassEmailTemplate:${templateId}`),\r\n },\r\n });\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: 'action-log',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ActionLogPage\" */'components/pages/ActionLogPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ActionLogPage.graphql'),\r\n });\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('actionLogSettings'),\r\n }),\r\n helpContext: 'actionlog',\r\n },\r\n },\r\n {\r\n path: 'information',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerInformationPage\" */'components/pages/ServerInformationPage'),\r\n loader: async () => {\r\n const { data: { server: { information } } } = await apolloClient.query({\r\n query: require('queries/ServerInformationPage.graphql'),\r\n });\r\n\r\n if (!information) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('serverInformation'),\r\n }),\r\n helpContext: 'server.statistics',\r\n },\r\n },\r\n {\r\n path: 'settings',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerSettingsPage\" */'components/pages/ServerSettingsPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerSettingsPage.graphql'),\r\n });\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('serverSettings'),\r\n }),\r\n helpContext: 'preferences',\r\n },\r\n },\r\n {\r\n path: 'spam-filter',\r\n componentLoader: () => import(/* webpackChunkName: \"components/tabs/SpamFilterSettingsTabs\" */'components/tabs/SpamFilterSettingsTabs'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/SpamFilterSettingsTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { os: { isUnix } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n os {\r\n isUnix\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return isUnix;\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('serverSpamFilterSettings'),\r\n }),\r\n helpContext: 'spamassassin',\r\n },\r\n children: [\r\n {\r\n index: true,\r\n loader: async () => {\r\n const { data: { viewer: { permissions: { manageServerSpamFilter, manageServerMailBlackWhiteLists } } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerSpamFilter\r\n manageServerMailBlackWhiteLists\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n if (manageServerSpamFilter) {\r\n return redirect('settings');\r\n }\r\n if (manageServerMailBlackWhiteLists) {\r\n return redirect('black-list');\r\n }\r\n throw new Response('Not Found', { status: 404 });\r\n },\r\n },\r\n {\r\n path: 'settings',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SpamFilterSettingsPage\" */'components/pages/SpamFilterSettingsPage'),\r\n loader: async () => {\r\n const { data: { serverMail: { spamAssassin: { settings } } } } = await apolloClient.query({\r\n query: require('queries/ServerMailSpamFilterPage.graphql'),\r\n });\r\n\r\n if (!settings) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n },\r\n {\r\n path: 'black-list',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SpamFilterBlackListPage\" */'components/pages/SpamFilterBlackListPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailSpamFilterBlackListPage.graphql'),\r\n });\r\n },\r\n },\r\n {\r\n path: 'white-list',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SpamFilterWhiteListPage\" */'components/pages/SpamFilterWhiteListPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailSpamFilterWhiteListPage.graphql'),\r\n });\r\n },\r\n },\r\n ],\r\n },\r\n odbcServerRoute,\r\n ],\r\n },\r\n domainRoute,\r\n homeRoute,\r\n {\r\n path: 'domain-traffic-usage/domains',\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('statistics'),\r\n href: '/smb/statistics/details',\r\n }),\r\n helpContext: 'client.domain.traffic-hosting',\r\n },\r\n children: [trafficUsageByDomainRoute({ path: ':domainId' })],\r\n },\r\n {\r\n path: '*',\r\n loader: () => {\r\n throw new Response('Not Found', { status: 404 });\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n id: 'php-pages-layout',\r\n path: '*',\r\n element: ,\r\n children: [\r\n {\r\n path: 'smb/log-file/browser/id/:id',\r\n element: ,\r\n },\r\n ],\r\n },\r\n ],\r\n}]);\r\n\r\nexport const isClientSideRedirectAllowed = to => {\r\n if (window.location.pathname.match(/^\\/modules\\/(warden)\\//)) {\r\n return false;\r\n }\r\n\r\n const { pathname, search } = typeof to === 'string' ? parsePath(to) : to;\r\n if (search?.startsWith('?modals')) {\r\n return true;\r\n }\r\n if (!pathname) {\r\n return false;\r\n }\r\n\r\n let route = pathname;\r\n\r\n // relative path\r\n if (/^(?![\\/?])/.test(to)) {\r\n route = window.location.pathname + route;\r\n }\r\n\r\n const matches = matchRoutes(routes, route);\r\n return matches ? !matches.some(({ route }) => route.id === 'php-pages-layout') : false;\r\n};\r\n\r\nexport default routes;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const HOURS_IN_MS = 1000 * 60 * 60;\r\n\r\nconst SEC_IN_MINUTE = 60;\r\nconst SEC_IN_HOUR = 60 * SEC_IN_MINUTE;\r\nconst SEC_IN_DAY = 24 * SEC_IN_HOUR;\r\n\r\nexport const getSysdate = () => new Date();\r\n\r\nexport const addDays = (daysCount, date = new Date()) => {\r\n const copy = new Date(date.getTime());\r\n copy.setDate(copy.getDate() + daysCount);\r\n\r\n return copy;\r\n};\r\n\r\nexport const addHours = (hoursCount, date = new Date()) => {\r\n const copy = new Date(date.getTime());\r\n copy.setHours(copy.getHours() + hoursCount);\r\n\r\n return copy;\r\n};\r\n\r\nexport const isSameDay = (date1, date2) => {\r\n const yearsAreEqual = date1.getYear() === date2.getYear();\r\n const monthsAreEqual = date1.getMonth() === date2.getMonth();\r\n const daysAreEqual = date1.getDate() === date2.getDate();\r\n\r\n return yearsAreEqual && monthsAreEqual && daysAreEqual;\r\n};\r\n\r\nexport const getTimezoneShift = timezone => {\r\n const [hours, minutes] = timezone.split(':');\r\n\r\n return +hours < 0 ?\r\n -(Math.abs(hours) + (minutes / 60)) :\r\n +hours + (minutes / 60);\r\n};\r\n\r\nconst MS_IN_SECOND = 1000;\r\n\r\n\r\nexport const formatDate = date => new Date(date)\r\n .toLocaleDateString(document.documentElement.lang ?? 'en', { month: 'long', day: 'numeric', year: 'numeric' });\r\n\r\nexport const formatDateFromTimestamp = seconds => formatDate(seconds * MS_IN_SECOND);\r\n\r\nexport const toDatePeriod = seconds => {\r\n const days = Math.floor(seconds / SEC_IN_DAY);\r\n const daysInSeconds = days * SEC_IN_DAY;\r\n const hours = Math.floor((seconds - daysInSeconds) / SEC_IN_HOUR);\r\n const hoursInSeconds = hours * SEC_IN_HOUR;\r\n const minutes = Math.floor((seconds - daysInSeconds - hoursInSeconds) / SEC_IN_MINUTE);\r\n const minutesInSeconds = minutes * SEC_IN_MINUTE;\r\n\r\n return {\r\n days,\r\n hours,\r\n minutes,\r\n seconds: seconds - daysInSeconds - hoursInSeconds - minutesInSeconds,\r\n };\r\n};\r\n\r\n\r\nexport const getEndOfDay = timestamp => {\r\n const date = new Date(timestamp);\r\n date.setHours(23, 59, 59, 999);\r\n return date;\r\n};\r\n\r\nexport const getStartOfDay = timestamp => {\r\n const date = new Date(timestamp);\r\n date.setHours(0, 0, 0, 0);\r\n return date;\r\n};\r\n\r\nexport const getStartOfMonth = timestamp => {\r\n const date = new Date(timestamp);\r\n date.setDate(1);\r\n date.setHours(0, 0, 0, 0);\r\n return date;\r\n};\r\n\r\nexport const getEndOfMonth = timestamp => {\r\n const date = new Date(timestamp);\r\n date.setMonth(date.getMonth() + 1);\r\n date.setDate(0);\r\n date.setHours(23, 59, 59, 999);\r\n return date;\r\n};\r\n\r\nexport const getStartOfWeek = timestamp => {\r\n const date = new Date(timestamp);\r\n const dayOfWeek = date.getDay();\r\n\r\n const diff = dayOfWeek * -1;\r\n date.setDate(date.getDate() + diff);\r\n date.setHours(0, 0, 0, 0);\r\n\r\n return date;\r\n};\r\n\r\n\r\nexport const getEndOfWeek = timestamp => {\r\n const date = new Date(timestamp);\r\n const dayOfWeek = date.getDay();\r\n const diff = 6 - dayOfWeek;\r\n date.setDate(date.getDate() + diff);\r\n date.setHours(23, 59, 59, 999);\r\n\r\n return date;\r\n};\r\n\r\nexport const getDaysInMonthFromTimestamp = timestamp => {\r\n const date = new Date(timestamp);\r\n const year = date.getFullYear();\r\n const month = date.getMonth();\r\n\r\n return new Date(year, month + 1, 0).getDate();\r\n};\r\n\r\nexport const getDaysInPreviousMonth = timestamp => {\r\n const date = new Date(timestamp);\r\n const year = date.getFullYear();\r\n const month = date.getMonth();\r\n\r\n const previousMonth = month === 0 ? 11 : month - 1;\r\n const previousMonthYear = month === 0 ? year - 1 : year;\r\n\r\n // Create a new date for the last day of the previous month\r\n return new Date(previousMonthYear, previousMonth + 1, 0).getDate();\r\n};\r\n\r\nexport const toUnixTime = timestamp => Math.floor(timestamp / MS_IN_SECOND);\r\nexport const toPhpDate = timestamp => new Date(timestamp).toLocaleDateString('en-US', { year: 'numeric', month: '2-digit', day: '2-digit' });\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useLoaderData, useParams, useLocation, useRevalidator, useMatches } from 'react-router-dom';\r\nimport { useQuery } from '@apollo/client';\r\nimport { redirect } from 'jsw';\r\n\r\nimport LICENSE from 'queries/License.graphql';\r\n\r\nconst LoadableComponent = () => {\r\n const matches = useMatches();\r\n const location = useLocation();\r\n const revalidator = useRevalidator();\r\n const { Component, ...data } = useLoaderData();\r\n const params = useParams();\r\n const { data: licenseData } = useQuery(LICENSE);\r\n\r\n if (licenseData?.mode?.isLicenseLocked) {\r\n const isAllowedWithoutLicense = matches.some(({ handle }) => handle?.isAllowedWithoutLicense);\r\n if (!isAllowedWithoutLicense) {\r\n return redirect('/cp/license/');\r\n }\r\n }\r\n\r\n if (location.state?.reload) {\r\n delete location.state.reload;\r\n revalidator.revalidate();\r\n }\r\n\r\n return ;\r\n};\r\n\r\nconst componentLoaderTransformer = route => {\r\n if (!route.componentLoader) {\r\n return route;\r\n }\r\n\r\n const { element, componentLoader, loader, ...other } = route;\r\n\r\n if (element) {\r\n throw new Error('Unable to use options \"componentLoader\" and \"element\" at the same time', { cause: { route } });\r\n }\r\n\r\n return {\r\n ...other,\r\n element: ,\r\n loader: async ({ request, params }) => {\r\n const [Component, data] = await Promise.all([\r\n componentLoader().then(module => module.default || module),\r\n loader ? loader({ request, params }) : Promise.resolve(),\r\n ]);\r\n\r\n if (data instanceof Response) {\r\n return data;\r\n }\r\n\r\n return { ...data, Component };\r\n },\r\n };\r\n};\r\n\r\nconst isExistTransformer = route => {\r\n if (!route.isExist) {\r\n return route;\r\n }\r\n\r\n const { isExist, loader, ...other } = route;\r\n\r\n return {\r\n ...other,\r\n loader: async ({ request, params }) => {\r\n if (!(await isExist({ request, params }))) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n if (loader) {\r\n return loader({ request, params });\r\n }\r\n return null;\r\n },\r\n };\r\n};\r\n\r\nconst shouldRevalidateTransformer = route => {\r\n if (!route.loader) {\r\n return route;\r\n }\r\n\r\n const { shouldRevalidate, ...other } = route;\r\n\r\n return {\r\n ...other,\r\n shouldRevalidate: ({ defaultShouldRevalidate, ...args }) => {\r\n // Skip revalidation due to open/modify/close modals\r\n defaultShouldRevalidate &&= [...args.currentUrl.searchParams.keys(), ...args.nextUrl.searchParams.keys()]\r\n .every(param => !param.match(/^(modals\\[.+]|module)$/));\r\n\r\n if (shouldRevalidate) {\r\n defaultShouldRevalidate = shouldRevalidate({ ...args, defaultShouldRevalidate });\r\n }\r\n\r\n return defaultShouldRevalidate;\r\n },\r\n };\r\n};\r\n\r\nconst childrenTransformer = route => {\r\n if (!Array.isArray(route.children)) {\r\n return route;\r\n }\r\n\r\n const { children, ...other } = route;\r\n\r\n return {\r\n ...other,\r\n children: routesTransformer(children),\r\n };\r\n};\r\n\r\nconst pathTransformer = route => {\r\n if (!Array.isArray(route.path)) {\r\n return route;\r\n }\r\n\r\n const { path, ...other } = route;\r\n\r\n return path.map(path => ({\r\n ...other,\r\n path,\r\n }));\r\n};\r\n\r\nconst routeTransformer = route => [\r\n componentLoaderTransformer,\r\n isExistTransformer,\r\n shouldRevalidateTransformer,\r\n childrenTransformer,\r\n pathTransformer,\r\n].reduce((route, transformer) => transformer(route), route);\r\n\r\nconst routesTransformer = routes => routes.map(routeTransformer).flat();\r\n\r\nexport {\r\n componentLoaderTransformer,\r\n isExistTransformer,\r\n shouldRevalidateTransformer,\r\n childrenTransformer,\r\n pathTransformer,\r\n routeTransformer,\r\n};\r\nexport default routesTransformer;\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"License\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseLocked\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":64}};\n doc.loc.source = {\"body\":\"query License {\\r\\n mode {\\r\\n isLicenseLocked\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"License\"] = oneQuery(doc, \"License\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useLayoutEffect } from 'react';\r\nimport { Outlet, useNavigation, ScrollRestoration } from 'react-router-dom';\r\nimport { useQuery } from '@apollo/client';\r\nimport { Toaster } from '@plesk/ui-library';\r\nimport TopBarProgress from 'react-topbar-progress-indicator';\r\nimport Cookie from 'common/cookie';\r\nimport { Task, Tooltip } from 'jsw';\r\nimport pageData from 'helpers/pageData';\r\nimport { useToasts, removeToast } from 'helpers/toasts';\r\nimport { getId } from 'helpers/getId';\r\nimport { ModuleProvider, DynamicModule } from 'components/DynamicModule';\r\n\r\nTopBarProgress.config({\r\n barThickness: 2,\r\n barColors: {\r\n 0: '#28aade',\r\n 1.0: '#28aade',\r\n },\r\n shadowBlur: 0,\r\n className: 'top-bar-progress',\r\n});\r\n\r\nimport TASK_PROGRESS_BAR_QUERY from 'queries/TaskProgressBar.graphql';\r\n\r\nconst AppLayout = () => {\r\n const navigation = useNavigation();\r\n const { data: { viewer, config } } = useQuery(TASK_PROGRESS_BAR_QUERY);\r\n const toasts = useToasts();\r\n\r\n useLayoutEffect(() => {\r\n if (viewer.type === 'UNDEFINED') {\r\n return;\r\n }\r\n new Task.ProgressBar({\r\n wsEnabled: config.webSocket.enabled,\r\n viewerId: getId(viewer.client.id),\r\n });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useLayoutEffect(() => {\r\n switch (navigation.state) {\r\n case 'loading': {\r\n const { status, ...data } = pageData();\r\n pageData({\r\n ...data,\r\n status: status?.filter(message => message.isNote),\r\n });\r\n break;\r\n }\r\n\r\n case 'idle': {\r\n Tooltip.hide();\r\n\r\n const bottomAnchor = document.getElementById('bottomAnchor');\r\n if (bottomAnchor) {\r\n bottomAnchor.innerHTML = Date.now();\r\n }\r\n break;\r\n }\r\n }\r\n }, [navigation.state]);\r\n\r\n return (\r\n \r\n {navigation.state !== 'idle' ? (\r\n \r\n ) : null}\r\n \r\n removeToast({ key })} data-type=\"toaster\" />\r\n {'true' === Cookie.get('debug-testing-mode') ? (\r\n <>\r\n \r\n
              \r\n \r\n ) : null}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const getId = id => {\r\n if (!id) {\r\n return null;\r\n }\r\n\r\n return Number(atob(id).split(':')[1]);\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport {\r\n lazy,\r\n createContext,\r\n useContext,\r\n useMemo,\r\n useCallback,\r\n useState,\r\n Suspense,\r\n} from 'react';\r\nimport TopBarProgress from 'react-topbar-progress-indicator';\r\nimport PropTypes from 'prop-types';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\n\r\nconst ModulesContext = createContext({});\r\n\r\nconst MODULE_SEARCH_KEY = 'module';\r\n\r\nconst loadScope = (url, scope) => {\r\n if (window[scope]) {\r\n return window[scope];\r\n }\r\n const element = document.createElement('script');\r\n const promise = new Promise((resolve, reject) => {\r\n element.src = url;\r\n element.type = 'text/javascript';\r\n element.async = true;\r\n element.onload = () => resolve(window[scope]);\r\n element.onerror = reject;\r\n });\r\n document.head.appendChild(element);\r\n promise.finally(() => document.head.removeChild(element));\r\n return promise;\r\n};\r\n\r\nconst loadModule = async (url, scope, module) => {\r\n try {\r\n const container = await loadScope(url, scope);\r\n await __webpack_init_sharing__('default');\r\n // eslint-disable-next-line camelcase\r\n await container.init(__webpack_share_scopes__.default);\r\n const factory = await container.get(module);\r\n return factory();\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.error('Error loading module:', error);\r\n return { default: () => null };\r\n }\r\n};\r\n\r\nconst useDynamicModule = () => useContext(ModulesContext);\r\n\r\nconst ModuleProvider = ({ children }) => {\r\n const [loaded, setLoaded] = useState({});\r\n const navigate = useNavigate();\r\n\r\n const openModule = useCallback((moduleString, props) => {\r\n const { scope, entry, url } = /module:(?.+):(?.+)@(?.+)/.exec(moduleString)?.groups ?? {};\r\n\r\n if (!(scope && url && entry)) {\r\n return;\r\n }\r\n const key = `${scope}:${entry}`;\r\n if (!loaded[key]) {\r\n setLoaded(prev => ({\r\n ...prev,\r\n [key]: lazy(() => loadModule(url, scope, `./${entry}`)),\r\n }));\r\n }\r\n navigate(`?${new URLSearchParams({ [MODULE_SEARCH_KEY]: key, props: encode(props) })}`, {\r\n preventScrollReset: true,\r\n });\r\n }, [navigate, loaded]);\r\n\r\n const closeModule = useCallback(() => {\r\n const params = new URLSearchParams(location.search);\r\n params.delete(MODULE_SEARCH_KEY);\r\n params.delete('props');\r\n navigate(`?${params}`, { preventScrollReset: true });\r\n }, [navigate]);\r\n\r\n const modules = useMemo(() => Object.entries(loaded).map(([key, module]) => ({\r\n key,\r\n Component: module,\r\n }))\r\n , [loaded]);\r\n\r\n const values = useMemo(() => ({\r\n modules,\r\n openModule,\r\n closeModule,\r\n }), [closeModule, modules, openModule]);\r\n\r\n return ({children});\r\n};\r\n\r\nModuleProvider.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nconst encode = object => btoa(JSON.stringify(object));\r\nconst decode = string => JSON.parse(atob(string));\r\n\r\nconst DynamicModule = () => {\r\n const { modules, closeModule } = useDynamicModule();\r\n const location = useLocation();\r\n\r\n const visible = useMemo(() => {\r\n const params = new URLSearchParams(location.search);\r\n if (params.has(MODULE_SEARCH_KEY)) {\r\n const key = params.get(MODULE_SEARCH_KEY);\r\n try {\r\n return {\r\n [key]: decode(params.get('props')),\r\n };\r\n } catch {\r\n return false;\r\n }\r\n }\r\n return false;\r\n }, [location]);\r\n\r\n return (\r\n }>\r\n {modules.map(({ Component, key }) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport { ModuleProvider, DynamicModule, useDynamicModule };\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TaskProgressBar\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webSocket\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":197}};\n doc.loc.source = {\"body\":\"query TaskProgressBar {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n client {\\r\\n id\\r\\n }\\r\\n }\\r\\n config {\\r\\n webSocket {\\r\\n enabled\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TaskProgressBar\"] = oneQuery(doc, \"TaskProgressBar\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Outlet, useLoaderData, useMatches, useParams, useLocation } from 'react-router-dom';\r\nimport PageLayout from './PageLayout';\r\n\r\nconst CpPagesLayout = () => {\r\n const { showFrames, pageHeader, pageSidebar } = useLoaderData();\r\n const matches = useMatches().filter(({ handle }) => !!handle);\r\n const params = useParams();\r\n const location = useLocation();\r\n\r\n const matchesContext = {};\r\n const breadcrumbs = matches.reduce((crumbs, match) => {\r\n if (!match.handle.crumb) {\r\n return crumbs;\r\n }\r\n\r\n const matchCrumb = match.handle.crumb({\r\n data: match.data,\r\n matchesContext,\r\n params,\r\n location,\r\n });\r\n\r\n if (!matchCrumb) {\r\n return crumbs;\r\n }\r\n\r\n if (Array.isArray(matchCrumb)) {\r\n return [...crumbs, ...matchCrumb];\r\n }\r\n\r\n return [...crumbs, { href: match.pathname, ...matchCrumb }];\r\n }, []);\r\n\r\n const reversedMatches = matches.slice().reverse();\r\n const returnUrl = reversedMatches.find(({ handle }) => handle.returnUrl)?.handle.returnUrl({ params });\r\n const helpContext = reversedMatches.find(({ handle }) => handle.helpContext)?.handle.helpContext;\r\n const secondary = reversedMatches.find(({ handle }) => handle.secondary)?.handle.secondary({ location, params });\r\n const titleRightAddon = reversedMatches.find(({ handle }) => handle.titleRightAddon)?.handle.titleRightAddon;\r\n const pageContentHeader = reversedMatches.find(({ handle }) => handle.pageContentHeader)?.handle.pageContentHeader;\r\n\r\n const lastBreadcrumbTitle = breadcrumbs[breadcrumbs.length - 1]?.title;\r\n // Check only matches that affects breadcrumbs or page title and ignore other e.g. Drawer or Dialog page\r\n const layoutMatches = matches.filter(({ handle }) => handle.crumb || typeof handle.pageTitle === 'function');\r\n const lastLayoutMatch = layoutMatches.at(-1);\r\n const pageTitle = lastLayoutMatch?.handle.pageTitle\r\n ? lastLayoutMatch.handle.pageTitle({\r\n data: lastLayoutMatch.data,\r\n matchesContext,\r\n params,\r\n location,\r\n }) || lastBreadcrumbTitle\r\n : lastBreadcrumbTitle;\r\n\r\n const lastMatch = matches.at(-1);\r\n const key = typeof lastMatch?.handle?.key === 'function' ? lastMatch.handle.key({ params }) : undefined;\r\n const noLayout = lastMatch?.handle?.noLayout ?? false;\r\n\r\n const data = {\r\n showFrames,\r\n pageHeader: {\r\n ...pageHeader,\r\n returnUrl: pageHeader.returnUrl || returnUrl,\r\n helpMenu: {\r\n ...pageHeader.helpMenu,\r\n helpContext,\r\n },\r\n },\r\n pageSidebar,\r\n pageContentHeader: {\r\n ...pageContentHeader,\r\n pageTitle,\r\n breadcrumbs,\r\n titleRightAddon,\r\n },\r\n secondary,\r\n };\r\n\r\n if (noLayout) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CpPagesLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState, useEffect, useLayoutEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useQuery } from '@apollo/client';\r\nimport Measure from 'react-measure';\r\nimport classNames from 'classnames';\r\nimport { Layout, Columns, Column } from '@plesk/ui-library';\r\nimport { useLocalStorage, useMediaQuery } from 'common/hooks';\r\nimport stripTags from 'helpers/stripTags';\r\nimport CookiePolicy from '../CookiePolicy';\r\nimport JswComponent from '../../jsw/JswComponent';\r\nimport StatusMessages from '../StatusMessages';\r\nimport LicenseStatus from './LicenseStatus';\r\nimport PageHeader from './PageHeader';\r\nimport PageSidebar from './PageSidebar';\r\nimport PageFooter from './PageFooter';\r\nimport PageContentHeader from './PageContentHeader';\r\nimport getTitleForHelpSearchQuery from './getTitleForHelpSearchQuery';\r\n\r\nimport BRANDING_QUERY from 'queries/Branding.graphql';\r\n\r\nconst PageLayout = ({\r\n baseUrl = undefined,\r\n showFrames = true,\r\n returnUrl = undefined,\r\n pageHeader = undefined,\r\n pageSidebar = undefined,\r\n pageContentHeader = undefined,\r\n pageTitle = undefined,\r\n withSecondary = false,\r\n secondary = undefined,\r\n width = undefined,\r\n bodyClass = undefined,\r\n integrationClass = undefined,\r\n children = undefined,\r\n isSecondaryCollapsed = false,\r\n}) => {\r\n const { data: { viewer: { customTitle } } } = useQuery(BRANDING_QUERY);\r\n const [isClosedOnDesktop, setClosedOnDesktop] = useLocalStorage('isSidebarClosed');\r\n const [isClosedInResponsive, setClosedInResponsive] = useState(true);\r\n const sidebarCollapsed = [isClosedInResponsive && 'responsive', (isClosedOnDesktop === 'true') && 'desktop'].filter(Boolean);\r\n const isResponsive = useMediaQuery('(max-width: 1022px)');\r\n const isClosed = sidebarCollapsed.includes(isResponsive ? 'responsive' : 'desktop');\r\n\r\n pageTitle ??= pageContentHeader?.breadcrumbs?.[pageContentHeader.breadcrumbs.length - 1]?.title;\r\n\r\n useLayoutEffect(() => {\r\n const documentTitleEl = document.querySelector('title');\r\n if (!documentTitleEl) {\r\n return;\r\n }\r\n documentTitleEl.innerHTML = [pageTitle && stripTags(pageTitle), customTitle]\r\n .filter(Boolean).join(' - ');\r\n }, [pageTitle, customTitle]);\r\n\r\n useLayoutEffect(() => {\r\n const classes = classNames(bodyClass, integrationClass).split(' ').filter(Boolean);\r\n classes.forEach(className => document.body.classList.add(className));\r\n return () => {\r\n classes.forEach(className => document.body.classList.remove(className));\r\n };\r\n }, [bodyClass, integrationClass]);\r\n\r\n if (baseUrl) {\r\n global.Jsw.baseUrl = baseUrl;\r\n }\r\n\r\n const handleToggleSidebar = (collapsed, mode) => {\r\n switch (mode) {\r\n case 'responsive':\r\n setClosedInResponsive(collapsed);\r\n break;\r\n case 'desktop':\r\n setClosedOnDesktop(collapsed ? 'true' : 'false');\r\n break;\r\n }\r\n };\r\n\r\n const [headerHeight, setHeaderHeight] = useState(0);\r\n const [headerAddonHeight, setHeaderAddonHeight] = useState(0);\r\n const [stickyTop, setStickyTop] = useState(0);\r\n\r\n useEffect(() => {\r\n const top = headerHeight + headerAddonHeight\r\n + parseInt(getComputedStyle(document.querySelector('.pul-layout__main-inner')).paddingTop)\r\n + (document.getElementById('classic-mode-navigation')?.getBoundingClientRect().height || 0);\r\n setStickyTop(top);\r\n }, [headerHeight, headerAddonHeight]);\r\n\r\n if (pageHeader?.helpMenu && pageContentHeader) {\r\n pageHeader.helpMenu = {\r\n ...pageHeader.helpMenu,\r\n searchQuery: getTitleForHelpSearchQuery(pageContentHeader),\r\n };\r\n }\r\n\r\n return (\r\n setHeaderHeight(bounds.height)}>\r\n {({ measureRef }) => (\r\n
              \r\n \r\n
              \r\n )}\r\n \r\n ) : undefined}\r\n headerAddon={showFrames && pageHeader ? (\r\n setHeaderAddonHeight(bounds.height)}>\r\n {({ measureRef }) => (\r\n
              \r\n \r\n {pageHeader.licenseStatus ? : null}\r\n
              \r\n )}\r\n
              \r\n ) : undefined}\r\n onSidebarToggle={handleToggleSidebar}\r\n sidebar={showFrames && pageSidebar ? (\r\n setClosedInResponsive(true) : undefined}\r\n {...pageSidebar}\r\n />\r\n ) : undefined}\r\n sidebarCollapsed={sidebarCollapsed}\r\n sidebarType={showFrames && pageSidebar ? 'folded' : undefined}\r\n footer={showFrames ? (\r\n \r\n ) : undefined}\r\n contentHeader={pageContentHeader ? (\r\n \r\n ) : null}\r\n >\r\n
              \r\n \r\n \r\n
              \r\n \r\n {children}\r\n
              \r\n
              \r\n {withSecondary || secondary ? (\r\n \r\n
              \r\n {typeof secondary === 'string' ? (\r\n {secondary}\r\n ) : secondary}\r\n
              \r\n \r\n ) : null}\r\n
              \r\n
              \r\n \r\n );\r\n};\r\n\r\nPageLayout.propTypes = {\r\n baseUrl: PropTypes.string,\r\n showFrames: PropTypes.bool,\r\n returnUrl: PropTypes.string,\r\n pageHeader: PropTypes.shape(PageHeader.propTypes),\r\n pageSidebar: PropTypes.object,\r\n pageContentHeader: PropTypes.shape(PageContentHeader.propTypes),\r\n withSecondary: PropTypes.bool,\r\n secondary: PropTypes.any,\r\n isSecondaryCollapsed: PropTypes.bool,\r\n width: PropTypes.number,\r\n bodyClass: PropTypes.string,\r\n integrationClass: PropTypes.string,\r\n pageTitle: PropTypes.string,\r\n children: PropTypes.any,\r\n};\r\n\r\nexport default PageLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect } from 'react';\r\n\r\nconst useClickOutside = (refs, handler) => {\r\n useEffect(\r\n () => {\r\n const listener = event => {\r\n if (refs.some(({ current }) => !current || current.contains(event.target))) {\r\n return;\r\n }\r\n\r\n handler(event);\r\n };\r\n\r\n document.addEventListener('mousedown', listener);\r\n document.addEventListener('touchstart', listener);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', listener);\r\n document.removeEventListener('touchstart', listener);\r\n };\r\n },\r\n [refs, handler],\r\n );\r\n};\r\n\r\nexport default useClickOutside;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useRef, useEffect } from 'react';\r\n\r\nconst useEventListener = (event, handler, element, addFn = 'addEventListener', removeFn = 'removeEventListener') => {\r\n const handlerRef = useRef();\r\n\r\n useEffect(() => {\r\n handlerRef.current = handler;\r\n }, [handler]);\r\n\r\n useEffect(\r\n () => {\r\n if (!element || !element[addFn]) {\r\n return;\r\n }\r\n\r\n const listener = event => handlerRef.current(event);\r\n\r\n element[addFn](event, listener);\r\n\r\n return () => {\r\n element[removeFn](event, listener);\r\n };\r\n },\r\n [event, element, addFn, removeFn],\r\n );\r\n};\r\n\r\nexport default useEventListener;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback, useState } from 'react';\r\n\r\nimport { readLocalStorageValue } from 'common/helpers/readLocalStorageValue';\r\n\r\nexport const useLocalStorage = function (key, initialValue) {\r\n const [storedValue, setStoredValue] = useState(() => readLocalStorageValue(key, initialValue));\r\n\r\n const setValue = useCallback(value => {\r\n setStoredValue(value);\r\n\r\n window.localStorage.setItem(key, JSON.stringify(value));\r\n }, [key]);\r\n\r\n return [storedValue, setValue];\r\n};\r\n\r\nexport default useLocalStorage;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const readLocalStorageValue = (key, defaultValue) => {\r\n try {\r\n const item = window.localStorage.getItem(key);\r\n return item ? JSON.parse(item) : defaultValue;\r\n } catch {\r\n return defaultValue;\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useLayoutEffect, useState } from 'react';\r\n\r\nconst useMediaQuery = query => {\r\n const [value, setValue] = useState(false);\r\n\r\n useLayoutEffect(() => {\r\n const mq = window.matchMedia(query);\r\n\r\n const updateMatch = () => {\r\n setValue(mq.matches);\r\n };\r\n updateMatch();\r\n\r\n mq.addListener(updateMatch);\r\n return () => {\r\n mq.removeListener(updateMatch);\r\n };\r\n }, [query]);\r\n\r\n return value;\r\n};\r\n\r\nexport default useMediaQuery;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState, useEffect } from 'react';\r\n\r\nconst useDebounce = (value, delay) => {\r\n const [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n useEffect(() => {\r\n const handler = setTimeout(() => {\r\n setDebouncedValue(value);\r\n }, delay);\r\n\r\n return () => {\r\n clearTimeout(handler);\r\n };\r\n }, [value, delay]);\r\n\r\n return debouncedValue;\r\n};\r\n\r\nexport default useDebounce;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useQuery } from '@apollo/client';\r\nimport { useModal } from 'hooks';\r\nimport Info from './Info';\r\nimport Preferences, { OverlayAdapter } from './Preferences';\r\nimport { loadPreferences, savePreferences, hasPreferences } from 'common/gdpr-storage';\r\nimport Cookie from 'common/cookie';\r\n\r\nimport COOKIE_POLICY_QUERY from 'queries/CookiePolicy.graphql';\r\n\r\nconst CookiePolicy = ({ layoutType = undefined }) => {\r\n const [isInfoVisible, setInfoVisible] = useState(() => !hasPreferences());\r\n const [isPreferencesVisible, setPreferencesVisible] = useModal('cookie-policy-preferences');\r\n const [preferences, setPreferences] = useState(loadPreferences);\r\n\r\n const { data: { config } = {} } = useQuery(COOKIE_POLICY_QUERY);\r\n\r\n const handleSave = nextPreferences => {\r\n setInfoVisible(false);\r\n setPreferences(nextPreferences);\r\n savePreferences(nextPreferences);\r\n config.gdpr.cookies.forEach(({ name, type }) => {\r\n if (nextPreferences[type] === false) {\r\n Cookie.remove(name, '/');\r\n }\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n {config?.gdpr?.cookieBox?.enabled && isInfoVisible && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nCookiePolicy.propTypes = {\r\n layoutType: PropTypes.oneOf(['simplified']),\r\n};\r\n\r\nexport default CookiePolicy;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useRef } from 'react';\r\n\r\nconst useCollector = () => {\r\n const collectorRef = useRef({\r\n setCallback(callback) {\r\n this.callback = callback;\r\n },\r\n collect() {\r\n return this.callback();\r\n },\r\n });\r\n return collectorRef.current;\r\n};\r\n\r\nexport default useCollector;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect, useState } from 'react';\r\n\r\nclass Confirmation {\r\n isResolved = false;\r\n\r\n constructor(resolve, { onProceed } = {}) {\r\n this.resolve = resolve;\r\n this.onProceed = onProceed;\r\n }\r\n\r\n proceed(isConfirmed) {\r\n this.isResolved = true;\r\n this.resolve(isConfirmed);\r\n this.onProceed?.();\r\n }\r\n}\r\n\r\nconst useConfirmation = () => {\r\n const [confirmation, setConfirmation] = useState(null);\r\n\r\n useEffect(() => () => {\r\n if (confirmation && !confirmation.isResolved) {\r\n confirmation.proceed(false);\r\n }\r\n }, [confirmation]);\r\n\r\n const triggerConfirmation = () => new Promise(resolve => {\r\n const confirmation = new Confirmation(resolve, {\r\n onProceed: () => setConfirmation(null),\r\n });\r\n setConfirmation(confirmation);\r\n });\r\n\r\n return [\r\n confirmation,\r\n triggerConfirmation,\r\n ];\r\n};\r\n\r\nexport default useConfirmation;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect, useState } from 'react';\r\nimport { useApolloClient, useMutation } from '@apollo/client';\r\nimport { useNavigate, useMatch } from 'react-router-dom';\r\nimport { ContentLoader } from '@plesk/ui-library';\r\nimport { api, redirect, Tooltip } from 'jsw';\r\nimport DrawerWithProgress from 'components/common/DrawerWithProgress';\r\n\r\nimport CREATE_FORM_IN_DRAWER_QUERY from 'queries/CreateFormInDrawer.graphql';\r\nimport UPDATE_USER_SETTINGS from 'queries/UpdateUserSettings.graphql';\r\n\r\nconst useCreateFormInDrawer = (Form, dataType, pageUrl, drawerUrl) => {\r\n const apolloClient = useApolloClient();\r\n const isOpen = !!useMatch(drawerUrl);\r\n const navigate = useNavigate();\r\n const [data, setData] = useState(null);\r\n const [task, setTask] = useState(null);\r\n const [updateUserSettings] = useMutation(UPDATE_USER_SETTINGS);\r\n\r\n useEffect(() => {\r\n if (isOpen) {\r\n setData(null);\r\n setTask(null);\r\n Tooltip.hide();\r\n Promise.all([\r\n api.get(drawerUrl),\r\n apolloClient.query({\r\n query: CREATE_FORM_IN_DRAWER_QUERY,\r\n }),\r\n ])\r\n .then(([data, { data: { config, mode } }]) => {\r\n if (data.redirect) {\r\n redirect(data.redirect);\r\n return;\r\n }\r\n setData({\r\n ...data,\r\n techDomain: {\r\n url: `${config.techDomain.url}/api/subdomain`,\r\n vendor: config.techDomain.vendor,\r\n maxDomainLength: config.techDomain.maxDomainLength,\r\n },\r\n settingsEnabled: config.domainManagement.settings.enabled,\r\n applicationWizardConfig: config.domainManagement.applicationWizard,\r\n isMailServiceSupported: mode.isMailServiceSupported,\r\n });\r\n });\r\n }\r\n }, [isOpen, drawerUrl, apolloClient]);\r\n\r\n const handleClose = () => {\r\n navigate(pageUrl);\r\n };\r\n\r\n const handleToggle = collapsed => {\r\n if (data) {\r\n data.settingsCollapsed = collapsed;\r\n }\r\n\r\n updateUserSettings({\r\n variables: {\r\n collapsed,\r\n },\r\n });\r\n };\r\n\r\n const drawer = (\r\n \r\n ) : null}\r\n task={task}\r\n pageUrl={pageUrl}\r\n >\r\n {data ? null : }\r\n \r\n );\r\n\r\n return [drawer];\r\n};\r\n\r\nexport default useCreateFormInDrawer;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect, useState } from 'react';\r\nimport { Drawer, ConsoleOutput, Button } from '@plesk/ui-library';\r\nimport { Observer, getComponent, Task, escapeHtml, Locale } from 'jsw';\r\nimport PropTypes from 'prop-types';\r\nimport useEventListener from 'common/hooks/useEventListener';\r\nimport useNavigate from 'hooks/useNavigate';\r\nimport { addToast } from 'helpers/toasts';\r\n\r\nconst STATUS_RUNNING = 'running';\r\nconst getTaskProgressBar = () => getComponent('asyncProgressBarWrapper');\r\nconst ButtonsTranslate = Locale.getTranslate('components.buttons');\r\n\r\n// Workaround for lists that do not support reload\r\nconst sameUrls = (redirectUrl, pageUrl) => {\r\n if (redirectUrl === pageUrl) {\r\n return true;\r\n }\r\n\r\n try {\r\n const params = new URLSearchParams(new URL(redirectUrl, window.location.origin).search);\r\n return params.get('returnUrl') === pageUrl || params.get('pageUrl') === pageUrl;\r\n } catch {}\r\n\r\n return true;\r\n};\r\n\r\n// Workaround for three different sets of task statuses\r\nconst getStatus = status => {\r\n switch (status) {\r\n case 'STATUS_NOT_STARTED': return Task.STATUS_NOT_STARTED;\r\n case 'STATUS_STARTED':\r\n case 'STATUS_RUNNING':\r\n case Task.STATUS_STARTED: return STATUS_RUNNING;\r\n case 'STATUS_DONE': return Task.STATUS_DONE;\r\n case 'STATUS_CANCELED': return Task.STATUS_CANCELED;\r\n case 'STATUS_ERROR': return Task.STATUS_ERROR;\r\n default: return status;\r\n }\r\n};\r\n\r\nconst DrawerWithProgress = ({\r\n children = null,\r\n dataType,\r\n isOpen = false,\r\n onClose,\r\n task = null,\r\n pageUrl = null,\r\n onTaskComplete = undefined,\r\n onError = undefined,\r\n autoCloseTimeout = undefined,\r\n ...props\r\n}) => {\r\n const navigate = useNavigate();\r\n const [steps, setSteps] = useState([]);\r\n const [title, setTitle] = useState(null);\r\n const [redirectUrl, setRedirectUrl] = useState(null);\r\n const [status, setStatus] = useState(null);\r\n const taskId = task ? task.id : null;\r\n\r\n const handleTaskUpdate = ({ id, steps, status: taskStatus, errors, output, progressValue, progressTitle, progressTitleHtml }) => {\r\n if (!isOpen || taskId !== id) {\r\n return;\r\n }\r\n\r\n const title = progressTitleHtml || escapeHtml(progressTitle);\r\n const status = getStatus(taskStatus);\r\n\r\n const content = (errors = [], output = []) => {\r\n const onErrorExecute = typeof onError === 'function' && errors.length > 0;\r\n return (\r\n <>\r\n {onErrorExecute && onError()}\r\n {errors.map(error => (
              {error}
              ))}\r\n {output.length > 0 && ({output})}\r\n \r\n );\r\n };\r\n\r\n setStatus(status);\r\n if (steps && steps.length) {\r\n setTitle(title);\r\n setSteps(steps.map(({ errors, status, output, ...props }) => ({\r\n children: content(errors, output),\r\n status: getStatus(status),\r\n ...props,\r\n })));\r\n } else {\r\n setSteps([{\r\n title,\r\n status,\r\n progress: Number(progressValue),\r\n children: content(errors, output),\r\n }]);\r\n }\r\n };\r\n\r\n const handleTaskComplete = ({ id, redirect: redirectUrl, status }) => {\r\n if (!isOpen || taskId !== id) {\r\n return;\r\n }\r\n\r\n if (typeof onTaskComplete === 'function') {\r\n onTaskComplete({ status });\r\n }\r\n if (Task.STATUS_DONE === status) {\r\n setRedirectUrl(redirectUrl?.url || redirectUrl);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const taskProgressBar = getTaskProgressBar();\r\n const onOpen = () => {\r\n taskProgressBar?.hide();\r\n setSteps([]);\r\n setTitle(null);\r\n setRedirectUrl(null);\r\n setStatus(null);\r\n };\r\n\r\n const onClose = async () => {\r\n if (!isInProgress()) {\r\n await deleteTask();\r\n }\r\n taskProgressBar?.show();\r\n };\r\n\r\n isOpen ? onOpen() : onClose();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [isOpen]);\r\n\r\n useEffect(() => {\r\n if (taskId) {\r\n getTaskProgressBar()?.update();\r\n handleTaskUpdate(task);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [taskId, task]);\r\n\r\n useEventListener('plesk:taskStepUpdate', handleTaskUpdate, Observer);\r\n useEventListener('plesk:taskComplete', handleTaskComplete, Observer);\r\n\r\n const isInProgress = () => Task.STATUS_NOT_STARTED === status || STATUS_RUNNING === status;\r\n\r\n const handleClose = () => {\r\n if (!redirectUrl) {\r\n onClose();\r\n return;\r\n }\r\n\r\n if (sameUrls(redirectUrl, pageUrl)) {\r\n navigate(redirectUrl, { replace: true });\r\n onClose();\r\n return;\r\n }\r\n\r\n navigate(redirectUrl);\r\n };\r\n\r\n const deleteTask = () => taskId && getTaskProgressBar()?.getItems().find(item => item.getId() === taskId)\r\n ?.remove();\r\n\r\n const onFinish = () => {\r\n deleteTask();\r\n addToast({\r\n intent: 'success',\r\n // eslint-disable-next-line react/no-danger\r\n message: ,\r\n });\r\n };\r\n\r\n return (\r\n ,\r\n steps,\r\n onFinish,\r\n autoCloseTimeout,\r\n buttons: autoCloseTimeout === null && Task.STATUS_DONE === status ? (\r\n \r\n \r\n \r\n ) : null,\r\n } : null}\r\n hideButton={isInProgress()}\r\n {...props}\r\n >\r\n {children}\r\n \r\n );\r\n};\r\n\r\nDrawerWithProgress.propTypes = {\r\n children: PropTypes.node,\r\n dataType: PropTypes.string.isRequired,\r\n isOpen: PropTypes.bool,\r\n onClose: PropTypes.func.isRequired,\r\n task: PropTypes.shape({\r\n id: PropTypes.string.isRequired,\r\n steps: PropTypes.array,\r\n status: PropTypes.string,\r\n progressTitle: PropTypes.string,\r\n progressTitleHtml: PropTypes.string,\r\n }),\r\n pageUrl: PropTypes.string,\r\n onTaskComplete: PropTypes.func,\r\n onError: PropTypes.func,\r\n autoCloseTimeout: PropTypes.number,\r\n};\r\n\r\nexport default DrawerWithProgress;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback } from 'react';\r\nimport { createPath } from 'react-router';\r\nimport { useNavigate as useNavigateBase } from 'react-router-dom';\r\n\r\nconst useNavigate = () => {\r\n const navigateBase = useNavigateBase();\r\n\r\n return useCallback((to, options = {}) => {\r\n if (!require('routes').isClientSideRedirectAllowed(to)) {\r\n window.location[options?.replace ? 'replace' : 'assign'](typeof to === 'object' && to !== null ? createPath(to) : to);\r\n } else {\r\n navigateBase(to, options);\r\n }\r\n }, [navigateBase]);\r\n};\r\n\r\nexport default useNavigate;\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateFormInDrawer\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainManagement\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"applicationWizard\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blankSite\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uploadFiles\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailHosting\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"techDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"vendor\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxDomainLength\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMailServiceSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":463}};\n doc.loc.source = {\"body\":\"query CreateFormInDrawer {\\r\\n config {\\r\\n domainManagement {\\r\\n settings {\\r\\n enabled\\r\\n }\\r\\n applicationWizard {\\r\\n enabled\\r\\n blankSite\\r\\n uploadFiles\\r\\n mailHosting\\r\\n }\\r\\n }\\r\\n techDomain {\\r\\n url\\r\\n vendor\\r\\n maxDomainLength\\r\\n }\\r\\n }\\r\\n mode {\\r\\n isMailServiceSupported\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CreateFormInDrawer\"] = oneQuery(doc, \"CreateFormInDrawer\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateUserSettings\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"collapsed\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updateUserSettings\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"collapsedDomainSettings\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"collapsed\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"result\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":151}};\n doc.loc.source = {\"body\":\"mutation UpdateUserSettings($collapsed: Boolean!) {\\r\\n updateUserSettings(input: {collapsedDomainSettings: $collapsed}) {\\r\\n result\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"UpdateUserSettings\"] = oneQuery(doc, \"UpdateUserSettings\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState } from 'react';\r\n\r\nconst useListOperation = () => {\r\n const [selection, setSelection] = useState([]);\r\n const [loadingRows, setLoadingRows] = useState([]);\r\n\r\n const wrapListOperation = operation => async function (keys, ...args) {\r\n setSelection(currentKeys => (\r\n currentKeys.filter(key => !keys.includes(key))\r\n ));\r\n setLoadingRows(currentKeys => [...currentKeys, ...keys]);\r\n\r\n try {\r\n return await operation.call(this, keys, ...args);\r\n } finally {\r\n setLoadingRows(currentKeys => (\r\n currentKeys.filter(key => !keys.includes(key))\r\n ));\r\n }\r\n };\r\n\r\n return {\r\n selection,\r\n setSelection,\r\n loadingRows,\r\n wrapListOperation,\r\n };\r\n};\r\n\r\nexport default useListOperation;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback, useState } from 'react';\r\nimport { Pagination } from '@plesk/ui-library';\r\nimport useListOperation from './useListOperation';\r\n\r\nexport const ALL_ITEMS = 'all';\r\nexport const ITEM_PER_PAGE_OPTIONS_DEFAULT = [10, 25, 100, ALL_ITEMS];\r\nexport const ALL_ITEMS_COUNT = 100_000;\r\n\r\n/**\r\n * hook for add sort and pagination for the ui-library list component\r\n */\r\nconst useList = ({\r\n onReload,\r\n onFilter,\r\n initialFilter,\r\n pagination: {\r\n current: currentPage,\r\n totalPage: totalPages,\r\n itemsPerPage,\r\n itemsPerPageOptions,\r\n onPageChange,\r\n onChangeItemsPerPage,\r\n } = {},\r\n sort: {\r\n direction: sortDirection,\r\n column: sortColumn,\r\n onChange: onSortChange,\r\n } = {},\r\n}) => {\r\n const { selection, setSelection, loadingRows, wrapListOperation } = useListOperation();\r\n const [loading, setLoading] = useState(false);\r\n const [filter, setFilter] = useState(initialFilter);\r\n\r\n const wrapAsync = async operation => {\r\n setLoading(true);\r\n await operation();\r\n setLoading(false);\r\n };\r\n\r\n const renderPagination = useCallback(() => (\r\n wrapAsync(() => onPageChange(nextPage))}\r\n onItemsPerPageChange={itemsPerPage => wrapAsync(() => {\r\n const nextItemsPerPage = itemsPerPage === ALL_ITEMS ? ALL_ITEMS_COUNT : itemsPerPage;\r\n onChangeItemsPerPage(nextItemsPerPage);\r\n })}\r\n itemsPerPageOptions={itemsPerPageOptions ?? ITEM_PER_PAGE_OPTIONS_DEFAULT}\r\n />\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n ), [currentPage, itemsPerPage, itemsPerPageOptions, totalPages]);\r\n\r\n const sortParams = {\r\n sortColumn,\r\n sortDirection,\r\n onSortChange: (...params) => wrapAsync(() => onSortChange(...params)),\r\n };\r\n\r\n return {\r\n renderPagination,\r\n selection,\r\n setSelection,\r\n loading,\r\n loadingRows,\r\n filter,\r\n sortParams,\r\n wrapListOperation,\r\n handleReload: params => wrapAsync(() => onReload(params)),\r\n handleFilter: params => wrapAsync(async () => {\r\n await onFilter(params);\r\n setFilter(params);\r\n }),\r\n };\r\n};\r\n\r\nexport default useList;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback } from 'react';\r\nimport { useNavigate, useLocation } from 'react-router-dom';\r\n\r\n/**\r\n * Helper for global modals like Notifications and Cookies\r\n */\r\nconst useModal = (id, search) => {\r\n const key = `modals[${id}]`;\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const value = new URLSearchParams(search ?? location.search).get(key);\r\n\r\n const setValue = useCallback(next => {\r\n const params = new URLSearchParams(window.location.search);\r\n if (next) {\r\n params.set(key, next);\r\n } else if (params.has(key)) {\r\n params.delete(key);\r\n }\r\n navigate(`?${params}${window.location.hash}`);\r\n }, [key, navigate]);\r\n\r\n return [value, setValue];\r\n};\r\n\r\nexport default useModal;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport classNames from 'classnames';\r\nimport { Heading, Paragraph, Button, Link } from '@plesk/ui-library';\r\nimport PropTypes from 'prop-types';\r\nimport { Locale } from 'jsw';\r\nimport { PLESK_COOKIES } from './urls';\r\n\r\nconst Translate = Locale.getTranslate('components.cookie-policy.info');\r\n\r\nconst Info = ({ onSave, onPreferencesToggle, contentAlignment = undefined }) => {\r\n const handleAcceptClick = () => {\r\n onSave({ analytics: true, marketing: true });\r\n onPreferencesToggle(false);\r\n };\r\n\r\n const handleAcceptNecessaryCookiesClick = () => {\r\n onSave({ analytics: false, marketing: false });\r\n onPreferencesToggle(false);\r\n };\r\n\r\n const handlePreferencesClick = () => {\r\n onPreferencesToggle(true);\r\n };\r\n\r\n return (\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 />\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 );\r\n};\r\n\r\nInfo.propTypes = {\r\n onSave: PropTypes.func.isRequired,\r\n onPreferencesToggle: PropTypes.func.isRequired,\r\n contentAlignment: PropTypes.oneOf(['center']),\r\n};\r\n\r\nexport default Info;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const PLESK_COOKIES = 'https://docs.plesk.com/en-US/obsidian/cookies';\r\nexport const CONTROL_COOKIES = 'https://docs.plesk.com/en-US/obsidian/cookies/#delete-cookies';\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Heading, Paragraph, Link, FormFieldRadioButtons } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport DrawerAdapter from './DrawerAdapter';\r\nimport { PLESK_COOKIES, CONTROL_COOKIES } from '../urls';\r\n\r\nconst Translate = Locale.getTranslate('components.cookie-policy.preferences');\r\n\r\nconst toValues = preferences => Object.keys(preferences).reduce((acc, k) => {\r\n acc[k] = preferences[k] ? 'on' : 'off';\r\n return acc;\r\n}, {});\r\n\r\nconst toPreferences = values => Object.keys(values).reduce((acc, k) => {\r\n acc[k] = values[k] === 'on';\r\n return acc;\r\n}, {});\r\n\r\nconst Preferences = ({ isOpen, onSave, onToggle, preferences, adapter: Adapter = DrawerAdapter }) => {\r\n const values = useMemo(() => toValues(preferences), [preferences]);\r\n\r\n const handleSubmit = values => {\r\n onSave(toPreferences(values));\r\n onToggle(false);\r\n };\r\n\r\n const handleCancel = () => onToggle(false);\r\n\r\n return (\r\n }\r\n submitButton={{\r\n 'data-type': 'cookie-policy-preferences-submit-button',\r\n 'data-testid': 'submitButton',\r\n children: (\r\n \r\n ),\r\n }}\r\n cancelButton={{\r\n 'data-type': 'cookie-policy-preferences-cancel-button',\r\n 'data-testid': 'cancelButton',\r\n children: (\r\n \r\n ),\r\n onClick: handleCancel,\r\n }}\r\n values={values}\r\n onSubmit={handleSubmit}\r\n onCancel={handleCancel}\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 \r\n \r\n },\r\n { value: 'off', label: },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n },\r\n { value: 'off', label: },\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 \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nPreferences.propTypes = {\r\n isOpen: PropTypes.bool.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n onToggle: PropTypes.func.isRequired,\r\n preferences: PropTypes.object.isRequired,\r\n adapter: PropTypes.func,\r\n};\r\n\r\nexport default Preferences;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { Drawer } from '@plesk/ui-library';\r\n\r\nconst DrawerAdapter = ({\r\n isOpen,\r\n onSubmit,\r\n onCancel,\r\n submitButton,\r\n cancelButton,\r\n title,\r\n children,\r\n values,\r\n}) => (\r\n \r\n {children}\r\n \r\n);\r\n\r\nDrawerAdapter.propTypes = {\r\n isOpen: PropTypes.bool.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n submitButton: PropTypes.shape({\r\n children: PropTypes.node.isRequired,\r\n }).isRequired,\r\n cancelButton: PropTypes.shape({\r\n children: PropTypes.node.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n }).isRequired,\r\n title: PropTypes.node.isRequired,\r\n children: PropTypes.node.isRequired,\r\n values: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default DrawerAdapter;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { Form, Heading } from '@plesk/ui-library';\r\nimport Overlay from './Overlay';\r\n\r\nconst OverlayAdapter = ({\r\n isOpen,\r\n onSubmit,\r\n onCancel,\r\n submitButton,\r\n cancelButton,\r\n title,\r\n children,\r\n values,\r\n}) => (\r\n \r\n \r\n \r\n {title}\r\n \r\n {children}\r\n \r\n \r\n);\r\n\r\nOverlayAdapter.propTypes = {\r\n isOpen: PropTypes.bool.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n submitButton: PropTypes.shape({\r\n children: PropTypes.node.isRequired,\r\n }).isRequired,\r\n cancelButton: PropTypes.shape({\r\n children: PropTypes.node.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n }).isRequired,\r\n title: PropTypes.node.isRequired,\r\n children: PropTypes.node.isRequired,\r\n values: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default OverlayAdapter;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect, useState, useRef } from 'react';\r\nimport { createPortal } from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Icon, disableDocumentScroll, enableDocumentScroll } from '@plesk/ui-library';\r\n\r\nconst hasScroll = () => document.documentElement.style.position !== 'fixed';\r\n\r\nconst disableScroll = () => {\r\n if (hasScroll()) {\r\n disableDocumentScroll();\r\n }\r\n};\r\n\r\nconst enableScroll = () => {\r\n if (!hasScroll()) {\r\n enableDocumentScroll();\r\n }\r\n};\r\n\r\nconst Overlay = ({ isOpen, children, onCancel }) => {\r\n const enterTimeoutRef = useRef(null);\r\n const exitTimeoutRef = useRef(null);\r\n const [isReady, setReady] = useState(isOpen);\r\n\r\n useEffect(() => {\r\n let listener;\r\n if (isOpen) {\r\n setReady(true);\r\n listener = e => {\r\n if (e.keyCode === 27) {\r\n onCancel();\r\n }\r\n };\r\n document.addEventListener('keydown', listener);\r\n enterTimeoutRef.current = setTimeout(() => {\r\n disableScroll();\r\n }, 500);\r\n } else {\r\n exitTimeoutRef.current = setTimeout(() => {\r\n setReady(false);\r\n enableScroll();\r\n }, 500);\r\n }\r\n return () => {\r\n clearTimeout(enterTimeoutRef.current);\r\n clearTimeout(exitTimeoutRef.current);\r\n enableScroll();\r\n document.removeEventListener('keydown', listener);\r\n };\r\n }, [isOpen, onCancel]);\r\n\r\n if (!isOpen && !isReady) {\r\n return null;\r\n }\r\n\r\n return createPortal(\r\n \r\n
              \r\n \r\n \r\n \r\n
              \r\n
              {children}
              \r\n
              \r\n
              \r\n ,\r\n document.body,\r\n );\r\n};\r\n\r\nOverlay.propTypes = {\r\n isOpen: PropTypes.bool.isRequired,\r\n children: PropTypes.node.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default Overlay;\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CookiePolicy\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"gdpr\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cookieBox\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cookies\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"StringValue\",\"value\":\"analytics\",\"block\":false},{\"kind\":\"StringValue\",\"value\":\"marketing\",\"block\":false}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":254}};\n doc.loc.source = {\"body\":\"query CookiePolicy {\\r\\n config {\\r\\n gdpr {\\r\\n cookieBox {\\r\\n enabled\\r\\n }\\r\\n cookies(type: [\\\"analytics\\\", \\\"marketing\\\"]) {\\r\\n name\\r\\n type\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CookiePolicy\"] = oneQuery(doc, \"CookiePolicy\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useRef, useLayoutEffect } from 'react';\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { render } from 'jsw';\r\n\r\nconst JswComponent = ({\r\n component: Tag = 'div',\r\n renderMode = undefined,\r\n children = undefined,\r\n ...props\r\n}) => {\r\n const containerRef = useRef();\r\n\r\n useLayoutEffect(() => {\r\n render(containerRef.current, children, renderMode);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nJswComponent.propTypes = {\r\n component: PropTypes.string,\r\n renderMode: PropTypes.string,\r\n children: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.func,\r\n PropTypes.object,\r\n ]),\r\n};\r\n\r\nexport default JswComponent;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n/* eslint-disable react/jsx-max-depth */\r\n\r\nimport classNames from 'classnames';\r\nimport { api, prepareUrl, createComponent, Locale } from 'jsw';\r\nimport JswComponent from '../../jsw/JswComponent';\r\nimport pageData, { usePageData } from 'helpers/pageData';\r\nimport LicenseLimitsMessage from './LicenseLimitsMessage';\r\n\r\nconst mapping = {\r\n 'msg-license-limits': LicenseLimitsMessage,\r\n};\r\n\r\nconst StatusMessages = () => {\r\n const { status = [] } = usePageData();\r\n\r\n const handleCloseMessage = message => {\r\n if (message.hideUrl) {\r\n api.post(prepareUrl(message.hideUrl));\r\n }\r\n pageData({\r\n ...pageData(),\r\n status: status.filter((_, key) => message.key !== key),\r\n });\r\n };\r\n\r\n const renderMessage = message => {\r\n const {\r\n componentType,\r\n status,\r\n content,\r\n title = Locale.getSection('components.status').lmsg(status),\r\n class: className,\r\n ...other\r\n } = message;\r\n\r\n if (componentType) {\r\n return (\r\n \r\n {() => createComponent({\r\n componentType,\r\n title,\r\n type: status,\r\n message: content,\r\n attrs: {\r\n 'data-rendered-by-react': 'true',\r\n },\r\n ...other,\r\n })}\r\n \r\n );\r\n }\r\n\r\n const Component = mapping[className];\r\n if (Component) {\r\n return (\r\n );\r\n }\r\n\r\n const {\r\n key,\r\n id,\r\n source,\r\n hideUrl,\r\n } = message;\r\n\r\n return (\r\n \r\n
              \r\n
              \r\n
              \r\n
              \r\n
              \r\n
              \r\n {hideUrl ? handleCloseMessage(message)} /> : null}\r\n {title ? (\r\n \r\n {title}{': '}\r\n \r\n ) : null}\r\n \r\n
              \r\n
              \r\n
              \r\n
              \r\n
              \r\n
              \r\n \r\n );\r\n };\r\n\r\n return status.map((message, key) => renderMessage({ key, ...message }));\r\n};\r\n\r\nexport default StatusMessages;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Button, Alert } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport Link from 'components/common/Link';\r\nimport PropTypes from 'prop-types';\r\nimport './LicenseLimitsMessage.less';\r\n\r\nconst Translate = Locale.getTranslate('components.license-status');\r\n\r\nconst LicenseLimitsMessage = ({ buyUrl, canManageLicense }) => (\r\n \r\n \r\n {canManageLicense && (\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\nLicenseLimitsMessage.propTypes = {\r\n buyUrl: PropTypes.string.isRequired,\r\n canManageLicense: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default LicenseLimitsMessage;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useNavigate, Link as RouterLink } from 'react-router-dom';\r\nimport { createPath } from 'react-router';\r\n\r\nconst urlMapping = {\r\n '/plesk/admin-panel=server.tools/': '/admin/server/tools',\r\n};\r\n\r\nexport const useNavigateCallback = () => {\r\n const navigate = useNavigate();\r\n\r\n return useCallback(e => {\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) {\r\n return;\r\n }\r\n\r\n const url = e.target.closest('a').getAttribute('href');\r\n if (!require('routes').isClientSideRedirectAllowed(url)) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n navigate(url);\r\n }, [navigate]);\r\n};\r\n\r\nconst Link = ({\r\n to = undefined,\r\n href = undefined,\r\n disabled = undefined,\r\n onClick = undefined,\r\n ...props\r\n}) => {\r\n to = to ?? href;\r\n if (disabled) {\r\n to = undefined;\r\n onClick = undefined;\r\n }\r\n\r\n if (urlMapping[to]) {\r\n to = urlMapping[to];\r\n }\r\n\r\n if (typeof to === 'object' && to !== null) {\r\n to = createPath(to);\r\n }\r\n\r\n const handleClick = event => {\r\n if (onClick) {\r\n onClick(event);\r\n }\r\n\r\n if (event.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (!to) {\r\n event.preventDefault();\r\n return;\r\n }\r\n if (!require('routes').isClientSideRedirectAllowed(to)) {\r\n event.preventDefault();\r\n\r\n const features = [];\r\n if (typeof props.rel === 'string' && props.rel.length > 0) {\r\n features.push(props.rel.split(' '));\r\n }\r\n\r\n window.open(to, props.target || '_self', features.join(','));\r\n }\r\n };\r\n\r\n return ;\r\n};\r\n\r\nLink.propTypes = {\r\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\r\n href: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n onClick: PropTypes.func,\r\n target: PropTypes.string,\r\n rel: PropTypes.string,\r\n};\r\n\r\nexport default Link;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState } from 'react';\r\nimport { PropTypes } from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Alert, Button, Popover, Item, Icon } from '@plesk/ui-library';\r\nimport { api, Locale } from 'jsw';\r\nimport Link from 'components/common/Link';\r\n\r\nconst Translate = Locale.getTranslate('components.license-status');\r\n\r\nexport const STATUS_DEFAULT = 'default';\r\nconst STATUS_TEST = 'test';\r\nconst STATUS_TRIAL = 'trial';\r\nexport const STATUS_EXPIRED = 'expired';\r\n\r\nconst LicenseStatus = ({\r\n status,\r\n daysLeft = 0,\r\n isAdmin = false,\r\n actionUrl = null,\r\n installUrl = null,\r\n hidePopoverUrl = null,\r\n trialOverIcon = null,\r\n baseClassName = 'license-status',\r\n}) => {\r\n const [trialOverPopoverVisible, setTrialOverPopoverVisible] = useState(daysLeft <= 5 && hidePopoverUrl);\r\n\r\n const handleClosePopover = () => {\r\n setTrialOverPopoverVisible(false);\r\n api.post(hidePopoverUrl);\r\n };\r\n\r\n const renderActions = () => {\r\n const alertCls = `${baseClassName}-alert`;\r\n\r\n return (actionUrl || installUrl) ? (\r\n
              \r\n {actionUrl && (\r\n \r\n \r\n \r\n )}\r\n {installUrl && (\r\n \r\n \r\n \r\n )}\r\n {status === 'demo' && (\r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n )}\r\n
              \r\n ) : null;\r\n };\r\n\r\n const renderTrialPopover = content => {\r\n const popoverCls = `${baseClassName}-popover`;\r\n\r\n return trialOverPopoverVisible ? (\r\n \r\n }\r\n icon={}\r\n >\r\n \r\n \r\n \r\n ) : content;\r\n };\r\n\r\n const alertCls = `${baseClassName}-alert`;\r\n\r\n let intent = null;\r\n if (status !== 'demo') {\r\n intent = daysLeft <= 0 ? 'danger' : (daysLeft <= 5 ? 'warning' : null);\r\n }\r\n\r\n const content = (\r\n \r\n \r\n
              \r\n
              \r\n {STATUS_TRIAL === status ? (\r\n
              {daysLeft}
              \r\n ) : null}\r\n
              \r\n \r\n
              \r\n
              \r\n {renderActions()}\r\n
              \r\n \r\n \r\n );\r\n\r\n return renderTrialPopover(content);\r\n};\r\n\r\nLicenseStatus.propTypes = {\r\n status: PropTypes.oneOf([STATUS_DEFAULT, STATUS_TEST, STATUS_TRIAL, STATUS_EXPIRED]).isRequired,\r\n daysLeft: PropTypes.number,\r\n isAdmin: PropTypes.bool,\r\n actionUrl: PropTypes.string,\r\n installUrl: PropTypes.string,\r\n hidePopoverUrl: PropTypes.string,\r\n trialOverIcon: PropTypes.string,\r\n baseClassName: PropTypes.string,\r\n};\r\n\r\nexport default LicenseStatus;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport MainHeaderSearch from './MainHeaderSearch';\r\nimport MainHeaderNavbar from './MainHeaderNavbar';\r\n\r\nconst PageHeader = ({ searchUrl = null, ...props }) => (\r\n
              \r\n {searchUrl ? (\r\n \r\n ) : null}\r\n \r\n
              \r\n);\r\n\r\nPageHeader.propTypes = {\r\n searchUrl: PropTypes.string,\r\n};\r\n\r\nexport default PageHeader;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useRef, useState, useCallback, useEffect, useMemo, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Input, Menu, MenuItem, MenuDivider, MenuHeader, Icon, Status, Hint, Button } from '@plesk/ui-library';\r\nimport { keyCode, Locale } from 'jsw';\r\nimport { toFormData } from 'helpers/form';\r\nimport { addToast } from 'helpers/toasts';\r\nimport { useQuery, useMutation, useApolloClient } from '@apollo/client';\r\nimport Link from 'components/common/Link';\r\n\r\nimport MAIN_HEADER_SEARCH_QUERY from 'queries/MainHeaderSearch.graphql';\r\nimport RECENT_SEARCH_HISTORY_QUERY from './RecentSearchHistoryQuery.graphql';\r\nimport DELETE_RECENT_SEARCH_RESULT_MUTATION from './DeleteRecentSearchResultMutation.graphql';\r\n\r\nconst Translate = Locale.getTranslate('components.search-bar');\r\n\r\nconst MENU_ITEM_CLASSNAME = 'main-header-search-result__item';\r\n\r\nexport const SEARCH_HISTORY_STORE_URL = '/cp/search/store';\r\n\r\nconst removeTouchEventListeners = ({ onDocumentTouchStart, onDocumentTouchMove, onDocumentTouchEnd }) => {\r\n document.removeEventListener('touchstart', onDocumentTouchStart);\r\n document.removeEventListener('touchmove', onDocumentTouchMove);\r\n document.removeEventListener('touchend', onDocumentTouchEnd);\r\n};\r\n\r\nconst MainHeaderSearch = ({ url }) => {\r\n const searchActionDelay = 300;\r\n const searchTermRef = useRef();\r\n const lastTermRef = useRef('');\r\n const menuRef = useRef();\r\n const timer = useRef(null);\r\n const resetTimeout = useRef(null);\r\n const enterPressed = useRef(false);\r\n const pendingRequest = useRef(null);\r\n const skipKeyUp = useRef(false);\r\n const touchMoved = useRef(false);\r\n const { data: { config, viewer } = {} } = useQuery(MAIN_HEADER_SEARCH_QUERY);\r\n const [history, setHistory] = useState();\r\n const [deleteRecentSearchResult] = useMutation(DELETE_RECENT_SEARCH_RESULT_MUTATION, {\r\n onCompleted: ({ deleteRecentSearchResult }) => setHistory(deleteRecentSearchResult.query.recentSearch),\r\n });\r\n\r\n const [isSearchFocused, setSearchFocused] = useState(false);\r\n const [searchInProgress, setSearchInProgress] = useState(false);\r\n const [results, setResults] = useState(null);\r\n const [selectedItem, setSelectedItem] = useState(null);\r\n\r\n const apolloClient = useApolloClient();\r\n const isAdmin = viewer?.type === 'ADMIN';\r\n\r\n const fatalError = message => {\r\n // eslint-disable-next-line no-alert\r\n alert(message);\r\n };\r\n\r\n const handlePaste = () => scheduleSearch();\r\n\r\n const handleKeyUp = event => {\r\n if (skipKeyUp.current) {\r\n return;\r\n }\r\n if (event.keyCode === keyCode.ESC) {\r\n searchTermRef.current.blur();\r\n return;\r\n }\r\n if ([keyCode.UP_ARROW, keyCode.DOWN_ARROW, keyCode.LEFT_ARROW, keyCode.RIGHT_ARROW, keyCode.ENTER].indexOf(event.keyCode) !== -1) {\r\n return;\r\n }\r\n\r\n scheduleSearch();\r\n };\r\n\r\n const handleKeyDown = event => {\r\n skipKeyUp.current = event.ctrlKey || event.metaKey;\r\n\r\n if ([keyCode.UP_ARROW, keyCode.DOWN_ARROW].indexOf(event.keyCode) !== -1) {\r\n onArrowKeyPressed(event.keyCode);\r\n event.preventDefault();\r\n }\r\n\r\n enterPressed.current = (keyCode.ENTER === event.keyCode);\r\n if (enterPressed.current) {\r\n if (\r\n (pendingRequest.current && pendingRequest.current._complete)\r\n || (history && selectedItem !== null)\r\n ) {\r\n goToItem();\r\n } else {\r\n scheduleSearch();\r\n }\r\n }\r\n };\r\n\r\n const goToItem = () => {\r\n if (!menuRef.current) {\r\n return;\r\n }\r\n const elements = menuRef.current.querySelectorAll(`.${MENU_ITEM_CLASSNAME}`);\r\n const element = elements[selectedItem || 0];\r\n if (element) {\r\n element.click();\r\n searchTermRef.current.blur();\r\n }\r\n };\r\n\r\n const handleFocus = () => {\r\n if (resetTimeout.current) {\r\n clearTimeout(resetTimeout.current);\r\n }\r\n\r\n resetSearch();\r\n setSearchFocused(true);\r\n\r\n apolloClient.query({\r\n query: RECENT_SEARCH_HISTORY_QUERY,\r\n }).then(({ data }) => {\r\n setHistory(data.recentSearch);\r\n }).catch(({ networkError, message }) => {\r\n if (!networkError) {\r\n addToast({ intent: 'danger', message });\r\n }\r\n });\r\n\r\n document.addEventListener('touchstart', onDocumentTouchStart);\r\n document.addEventListener('touchmove', onDocumentTouchMove);\r\n document.addEventListener('touchend', onDocumentTouchEnd);\r\n };\r\n\r\n\r\n const handleBlur = () => {\r\n if (resetTimeout.current) {\r\n clearTimeout(resetTimeout.current);\r\n }\r\n\r\n lastTermRef.current = '';\r\n\r\n resetTimeout.current = setTimeout(() => {\r\n resetSearch();\r\n setSearchFocused(false);\r\n }, 300);\r\n };\r\n\r\n const scheduleSearch = () => {\r\n setSearchInProgress(true);\r\n\r\n abortPreviousSearch();\r\n timer.current = setTimeout(findTerm, searchActionDelay);\r\n };\r\n\r\n const abortPreviousSearch = () => {\r\n if (pendingRequest.current) {\r\n const abort = pendingRequest.current.abort.bind(pendingRequest.current);\r\n // global state is cleared first due to onSearchComplete callback\r\n pendingRequest.current = null;\r\n abort();\r\n }\r\n\r\n if (timer.current) {\r\n clearTimeout(timer.current);\r\n timer.current = null;\r\n }\r\n };\r\n\r\n const onSearchSuccess = response => {\r\n if (lastTermRef.current !== response.request.options.parameters.term) {\r\n return;\r\n }\r\n\r\n let data;\r\n try {\r\n data = JSON.parse(response.responseText);\r\n } catch (e) {\r\n fatalError(`Failed to parse JSON response: ${e.message}`);\r\n return;\r\n }\r\n\r\n if ('error' === data.status) {\r\n const result = data.statusMessages.reduce((res, message) => `${res}${message.title}: ${message.content}\\n`, '');\r\n fatalError(result);\r\n return;\r\n }\r\n\r\n setResults(data);\r\n if (enterPressed.current) {\r\n goToItem();\r\n } else if (data.records.length > 0) {\r\n setSelectedItem(0);\r\n }\r\n };\r\n\r\n const onSearchFailure = response => {\r\n fatalError(`Search request failed due to following error: ${response.responseText}`);\r\n };\r\n\r\n const onSearchComplete = response => {\r\n if (!response || pendingRequest.current === response.request) {\r\n setSearchInProgress(false);\r\n }\r\n };\r\n\r\n const handleSaveRecentSearch = item => {\r\n const storeUrl = SEARCH_HISTORY_STORE_URL;\r\n const token = document.getElementById('forgery_protection_token').content;\r\n navigator.sendBeacon(storeUrl, toFormData({ ...item, forgery_protection_token: token }));\r\n flushRecentSearchCache();\r\n };\r\n\r\n const flushRecentSearchCache = () => {\r\n const { cache } = apolloClient;\r\n cache.evict({\r\n id: cache.identify({ __typename: 'Query' }),\r\n fieldName: 'recentSearch',\r\n });\r\n setHistory(null);\r\n };\r\n\r\n const renderSearchItems = (items, uatKey) => items.map(({ details, target, icon, link, title, label }, index) => {\r\n const iconUrl = (\r\n !icon ||\r\n icon.startsWith(Jsw.skinUrl) ||\r\n icon.startsWith('http://') ||\r\n icon.startsWith('https://') ||\r\n icon.startsWith('/modules/')\r\n ) ? icon : `${Jsw.skinUrl}${icon}`;\r\n\r\n return (\r\n : null}\r\n className={MENU_ITEM_CLASSNAME}\r\n onClick={e => {\r\n e.stopPropagation();\r\n handleSaveRecentSearch({ details, target, icon, link, title });\r\n }}\r\n >\r\n {title}\r\n \r\n );\r\n });\r\n\r\n const renderSearchResults = results => [\r\n results.records.length ? renderSearchItems(results.records, 'searchResultRegular') : (\r\n
              \r\n \r\n
              \r\n ),\r\n results.meta.moreResultsFound ? (\r\n <>\r\n \r\n
              \r\n \r\n
              \r\n \r\n ) : null,\r\n ];\r\n\r\n const renderHistory = history => history?.length ? [\r\n \r\n \r\n \r\n \r\n ,\r\n renderSearchItems(history.map(item => ({\r\n ...item,\r\n label: (\r\n }\r\n onClick={e => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n searchTermRef.current.focus();\r\n deleteRecentSearchResult({ variables: { input: { link: item.link } } });\r\n }}\r\n />\r\n ),\r\n })), 'searchResultRecent'),\r\n ] : (\r\n
              \r\n \r\n \r\n \r\n
              \r\n );\r\n\r\n const renderResults = () => {\r\n if (!isSearchFocused || (isSearchFocused && !((history) || results))) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {results ? renderSearchResults(results) : null}\r\n {results?.records.length === 0 ? (\r\n \r\n ) : null}\r\n {(!results || results?.records.length === 0) ? renderHistory(history) : null}\r\n \r\n );\r\n };\r\n\r\n const resetSearch = ({ resetValue = true } = {}) => {\r\n if (resetValue) {\r\n searchTermRef.current.value = '';\r\n }\r\n\r\n setSelectedItem(null);\r\n setResults(null);\r\n\r\n abortPreviousSearch();\r\n onSearchComplete();\r\n };\r\n\r\n const onArrowKeyPressed = key => {\r\n const records = results && results.records.length ? results.records : history;\r\n if (!records?.length) {\r\n return;\r\n }\r\n\r\n if (selectedItem === null) {\r\n setSelectedItem(0);\r\n return;\r\n }\r\n\r\n if (keyCode.DOWN_ARROW === key && selectedItem < records.length - 1) {\r\n setSelectedItem(selectedItem + 1);\r\n }\r\n\r\n if (keyCode.UP_ARROW === key && selectedItem > 0) {\r\n setSelectedItem(selectedItem - 1);\r\n }\r\n };\r\n\r\n const findTerm = () => {\r\n const term = searchTermRef.current.value.trim();\r\n\r\n if (lastTermRef.current === term || term.length < 3) {\r\n onSearchComplete();\r\n return;\r\n }\r\n lastTermRef.current = term;\r\n\r\n pendingRequest.current = new Ajax.Request(\r\n url,\r\n {\r\n method: 'get',\r\n parameters: { term: searchTermRef.current.value.trim() },\r\n onSuccess: onSearchSuccess,\r\n onFailure: onSearchFailure,\r\n onComplete: onSearchComplete,\r\n },\r\n );\r\n };\r\n\r\n const onDocumentTouchStart = useCallback(() => {\r\n touchMoved.current = false;\r\n }, [touchMoved]);\r\n const onDocumentTouchMove = useCallback(() => {\r\n touchMoved.current = true;\r\n }, [touchMoved]);\r\n const onDocumentTouchEnd = useCallback(() => {\r\n if (touchMoved.current) {\r\n return;\r\n }\r\n\r\n searchTermRef.current.blur();\r\n\r\n removeTouchEventListeners({ onDocumentTouchStart, onDocumentTouchMove, onDocumentTouchEnd });\r\n }, [touchMoved, searchTermRef, onDocumentTouchStart, onDocumentTouchMove]);\r\n\r\n const searchPlaceholder = useMemo(() => {\r\n if (isSearchFocused) {\r\n if (isAdmin) {\r\n return Locale.getSection('components.search-bar').lmsg('fieldStubHint');\r\n }\r\n return null;\r\n }\r\n return Locale.getSection('components.search-bar').lmsg('fieldStub');\r\n }, [isAdmin, isSearchFocused]);\r\n\r\n useEffect(() => () => {\r\n if (resetTimeout.current) {\r\n clearTimeout(resetTimeout.current);\r\n }\r\n\r\n removeTouchEventListeners({ onDocumentTouchStart, onDocumentTouchMove, onDocumentTouchEnd });\r\n }, [onDocumentTouchEnd, onDocumentTouchMove, onDocumentTouchStart]);\r\n\r\n return (\r\n e.stopPropagation()}\r\n >\r\n
              \r\n \r\n ) : }\r\n suffix={(\r\n e.stopPropagation()}\r\n />\r\n )}\r\n size=\"fill\"\r\n />\r\n {renderResults()}\r\n
              \r\n \r\n );\r\n};\r\n\r\n\r\nMainHeaderSearch.propTypes = {\r\n url: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default MainHeaderSearch;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const toFormData = values => {\r\n if (values instanceof FormData) {\r\n return values;\r\n }\r\n const consume = (object, namespace) => {\r\n Object.keys(object).forEach(k => {\r\n const name = namespace ? `${namespace}[${k}]` : k;\r\n const value = object[k];\r\n switch (true) {\r\n case value && typeof value === 'object':\r\n consume(value, name);\r\n break;\r\n\r\n case value == null:\r\n data.append(name, '');\r\n break;\r\n\r\n default:\r\n data.append(name, value);\r\n break;\r\n }\r\n });\r\n };\r\n const data = new FormData();\r\n consume(values);\r\n return data;\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MainHeaderSearch\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":148}};\n doc.loc.source = {\"body\":\"query MainHeaderSearch {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n }\\r\\n config {\\r\\n search {\\r\\n limit\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MainHeaderSearch\"] = oneQuery(doc, \"MainHeaderSearch\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"RecentSearchQuery\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"recentSearch\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"details\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"target\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":133}};\n doc.loc.source = {\"body\":\"query RecentSearchQuery {\\r\\n recentSearch {\\r\\n title\\r\\n link\\r\\n details\\r\\n icon\\r\\n target\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"RecentSearchQuery\"] = oneQuery(doc, \"RecentSearchQuery\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteRecentSearchResult\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteRecentSearchResultInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deleteRecentSearchResult\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"query\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"recentSearch\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"details\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"target\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":321}};\n doc.loc.source = {\"body\":\"mutation DeleteRecentSearchResult($input: DeleteRecentSearchResultInput!) {\\r\\n deleteRecentSearchResult(input: $input) {\\r\\n query {\\r\\n recentSearch {\\r\\n title\\r\\n link\\r\\n details\\r\\n icon\\r\\n target\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DeleteRecentSearchResult\"] = oneQuery(doc, \"DeleteRecentSearchResult\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Tooltip, Locale, Cookie } from 'jsw';\r\nimport { useEffect, useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport { Dropdown, Menu, MenuItem, Button, Icon, isRtl, Text } from '@plesk/ui-library';\r\nimport { useQuery } from '@apollo/client';\r\nimport { useMediaQuery } from 'common/hooks';\r\nimport SubscriptionSwitcher from './SubscriptionSwitcher';\r\nimport NotificationCenter from './NotificationCenter';\r\nimport HelpMenu from './HelpMenu';\r\n\r\nimport ACCOUNT_MENU_QUERY from 'queries/AccountMenu.graphql';\r\nimport MAIN_HEADER_NAVBAR_QUERY from 'queries/MainHeaderNavbar.graphql';\r\n\r\nconst Translate = Locale.getTranslate('components.shortcuts');\r\n// eslint-disable-next-line max-len\r\nconst IconSun = ;\r\n// eslint-disable-next-line max-len\r\nconst IconMoon = ;\r\n\r\nconst AccountMenu = ({ items }) => {\r\n const isHideText = useMediaQuery('(max-width: 767px)');\r\n const { data: { viewer: user } = {} } = useQuery(ACCOUNT_MENU_QUERY);\r\n\r\n if (!user) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {items.map(({ title, href, icon, dataType }) => (\r\n \r\n {title}\r\n \r\n ))}\r\n \r\n )}\r\n menuPlacement=\"bottom-end\"\r\n >\r\n \r\n \r\n );\r\n};\r\n\r\nAccountMenu.propTypes = {\r\n items: PropTypes.array.isRequired,\r\n};\r\n\r\nconst renderTooltips = () => {\r\n document.querySelectorAll('.main-header-navbar-nav__item').forEach(item => {\r\n if (item.dataset.description) {\r\n Tooltip.init(item, {\r\n text: item.dataset.description,\r\n });\r\n }\r\n });\r\n};\r\n\r\nconst MainHeaderNavbar = ({\r\n backToAdminLink = undefined,\r\n returnUrl = undefined,\r\n accountMenu = undefined,\r\n subscriptionSwitcher = undefined,\r\n headerCustomButtons,\r\n helpMenu = undefined,\r\n}) => {\r\n const isHideBackToAdminText = useMediaQuery('(max-width: 1310px)');\r\n const isHideLogo = useMediaQuery('(max-width: 1140px)');\r\n const { data: { viewer: user, config } = {} } = useQuery(MAIN_HEADER_NAVBAR_QUERY);\r\n const [theme, setTheme] = useState(() => Cookie.get('theme') ?? config?.branding?.theme);\r\n\r\n const handleToggleTheme = () => {\r\n const newTheme = theme === 'dark' ? 'default' : 'dark';\r\n document.documentElement.setAttribute('data-theme', newTheme);\r\n const newThemeColor = document.querySelector(`meta[name=\"theme-color-${newTheme}\"]`).getAttribute('content');\r\n document.querySelector('meta[name=\"theme-color\"]').setAttribute('content', newThemeColor);\r\n Cookie.setPermanent('theme', newTheme, '/');\r\n setTheme(newTheme);\r\n };\r\n\r\n useEffect(() => {\r\n renderTooltips();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n return (\r\n
              \r\n
                \r\n {backToAdminLink ? (\r\n
              • \r\n }\r\n href={backToAdminLink}\r\n ghost\r\n >\r\n {isHideBackToAdminText ? null : }\r\n \r\n
              • \r\n ) : null}\r\n {accountMenu ? (\r\n
              • \r\n \r\n
              • \r\n ) : null}\r\n {accountMenu && subscriptionSwitcher ? (\r\n
              • \r\n \r\n
              • \r\n ) : null}\r\n {user?.type === 'ADMIN' && config?.notification?.panel?.enabled ? (\r\n
              • \r\n \r\n
              • \r\n ) : null}\r\n {headerCustomButtons.map(({ id, link, target, icon, title, description }) => (\r\n \r\n }\r\n ghost\r\n />\r\n \r\n ))}\r\n {helpMenu ? (\r\n
              • \r\n \r\n
              • \r\n ) : null}\r\n
              • \r\n {IconSun} : {IconMoon}}\r\n onClick={handleToggleTheme}\r\n tooltip={theme === 'dark' ? : }\r\n data-type={theme === 'dark' ? 'dark-mode-on' : 'dark-mode-off'}\r\n />\r\n
              • \r\n {user.logo.isCustom && !isHideLogo ? (\r\n
              • \r\n \r\n \"\"\r\n \r\n
              • \r\n ) : null}\r\n
              \r\n
              \r\n );\r\n};\r\n\r\nMainHeaderNavbar.propTypes = {\r\n backToAdminLink: PropTypes.string,\r\n returnUrl: PropTypes.string,\r\n accountMenu: PropTypes.shape(AccountMenu.propTypes),\r\n subscriptionSwitcher: PropTypes.shape(SubscriptionSwitcher.propTypes),\r\n headerCustomButtons: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.string,\r\n link: PropTypes.string,\r\n target: PropTypes.string,\r\n icon: PropTypes.string,\r\n title: PropTypes.string,\r\n description: PropTypes.string,\r\n })).isRequired,\r\n helpMenu: PropTypes.shape(HelpMenu.propTypes),\r\n};\r\n\r\nexport default MainHeaderNavbar;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { Dropdown, Menu, MenuItem, Button, Text } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport { useMediaQuery } from 'common/hooks';\r\nimport Link from 'components/common/Link';\r\n\r\nconst Translate = Locale.getTranslate('components.subscription-switcher');\r\n\r\nconst changeIdRe = new RegExp(`(${[\r\n encodeURIComponent('/domain@'),\r\n '/domain@',\r\n '/domainId/',\r\n '/domains/',\r\n '/web/[a-z\\-]+/id/(?:d:)?',\r\n '/ssl-certificate/list/id/',\r\n '/log-file/browser/id/',\r\n '/dns-zone/records-list/id/',\r\n '/mail-settings/edit/id/',\r\n '/failed-request/list/id/',\r\n '/asp-dot-net/settings/id/',\r\n '/iis-app-pool/settings/id/',\r\n].join('|')})(\\\\d+)`);\r\n\r\nconst SubscriptionSwitcher = ({\r\n subscriptions,\r\n limit = 100,\r\n returnUrl = undefined,\r\n currentSubscriptionId: defaultCurrentSubscriptionId = undefined,\r\n showAll: defaultShowAll = false,\r\n}) => {\r\n const location = useLocation();\r\n const isHideText = useMediaQuery('(max-width: 767px)');\r\n const [showAll, setShowAll] = useState(defaultShowAll);\r\n const [currentSubscriptionId, setCurrentSubscriptionId] = useState(defaultCurrentSubscriptionId);\r\n\r\n useEffect(() => {\r\n setShowAll(defaultShowAll);\r\n setCurrentSubscriptionId(defaultCurrentSubscriptionId);\r\n }, [defaultShowAll, defaultCurrentSubscriptionId]);\r\n\r\n const title = showAll\r\n ? \r\n : subscriptions.find(({ id }) => id === currentSubscriptionId)?.name;\r\n\r\n const button = (\r\n }\r\n caret={subscriptions.length > 1 && !isHideText}\r\n tabIndex={subscriptions.length > 1 ? null : -1}\r\n style={subscriptions.length > 1 ? null : { pointerEvents: 'none' }}\r\n ghost\r\n >\r\n {isHideText ? null : {title}}\r\n \r\n );\r\n\r\n if (subscriptions.length === 1) {\r\n return button;\r\n }\r\n\r\n return (\r\n \r\n {subscriptions.length > 1 ? (\r\n limit ? null : '/smb/account/switch/all/true'}\r\n onClick={subscriptions.length > limit ? null : () => {\r\n setShowAll(true);\r\n }}\r\n disabled={subscriptions.length > limit}\r\n tooltip={subscriptions.length > limit ? (\r\n \r\n ) : null}\r\n >\r\n \r\n \r\n ) : null}\r\n {subscriptions.map(({ id, name }) => (\r\n {\r\n setShowAll(false);\r\n setCurrentSubscriptionId(id);\r\n }}\r\n >\r\n {name}\r\n \r\n ))}\r\n \r\n )}\r\n menuPlacement=\"bottom-end\"\r\n >\r\n {button}\r\n \r\n );\r\n};\r\n\r\nSubscriptionSwitcher.propTypes = {\r\n subscriptions: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n name: PropTypes.string.isRequired,\r\n })).isRequired,\r\n limit: PropTypes.number,\r\n showAll: PropTypes.bool,\r\n currentSubscriptionId: PropTypes.number,\r\n returnUrl: PropTypes.string,\r\n};\r\n\r\nexport default SubscriptionSwitcher;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState, useEffect, useRef } from 'react';\r\nimport { pleskWS, UAT, Locale } from 'jsw';\r\nimport { Badge, Button, Popover, Heading, Columns, Column, Label, Action, Link, Icon } from '@plesk/ui-library';\r\nimport { useQuery } from '@apollo/client';\r\nimport { useModal } from 'hooks';\r\nimport applyFilter from './lib/applyFilter';\r\nimport { deleteNotifications, listNotifications, updateNotifications } from './lib/api';\r\nimport NotificationCenterView from './NotificationCenterView';\r\nimport NotificationCenterList from './NotificationCenterList';\r\nimport { NOTIFICATION_CATEGORIES } from './lib/PropTypes';\r\nimport getIntentByNotification from './lib/getIntentByNotification';\r\nimport getMostIntentByNotifications from './lib/getMostIntentByNotifications';\r\nimport NotificationToast from './NotificationToast';\r\nimport { isNotificationCritical, isAllowedFeedbackOrPromotionNotification } from './lib/utils';\r\nimport NotificationActions from './NotificationActions';\r\nimport NotificationDate from './NotificationDate';\r\nimport { addToast, removeToast } from 'helpers/toasts';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\nimport NOTIFICATION_CENTER_QUERY from 'queries/NotificationCenter.graphql';\r\n\r\nconst MAX_SHOW = 3;\r\nconst RELOAD_TIMEOUT = 30000;\r\n\r\nconst Translate = Locale.getTranslate('components.notification-center');\r\n\r\nconst NotificationCenter = () => {\r\n const [isListOpen, setIsListOpen] = useModal('notification-center-list');\r\n const [selectedNotificationId, setSelectedNotificationId] = useModal('notification-center-view');\r\n const [notifications, setNotifications] = useState([]);\r\n const [filter, setFilter] = useState({});\r\n const {\r\n data: {\r\n config,\r\n viewer: {\r\n type: viewerType,\r\n permissions: { manageServerNotifications },\r\n },\r\n },\r\n } = useQuery(NOTIFICATION_CENTER_QUERY);\r\n const toastsRef = useRef([]);\r\n const navigate = useNavigate();\r\n\r\n let ws;\r\n let reloadTimeout;\r\n\r\n useEffect(() => {\r\n initFilter();\r\n if (config.webSocket.enabled) {\r\n initWebSocket();\r\n } else {\r\n loadNotifications();\r\n }\r\n\r\n return () => {\r\n if (reloadTimeout) {\r\n clearTimeout(reloadTimeout);\r\n }\r\n if (ws) {\r\n ws.close();\r\n }\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const initFilter = () => {\r\n const filter = JSON.parse(window.localStorage.getItem('notification-center-filter')) || {};\r\n setFilter(filter);\r\n };\r\n\r\n const handleNewNotificationRef = useRef();\r\n useEffect(() => {\r\n handleNewNotificationRef.current = newNotification => {\r\n setNotifications([newNotification, ...notifications]);\r\n };\r\n }, [notifications]);\r\n\r\n useEffect(() => {\r\n const allToasts = notifications\r\n .filter(notification => !notification.isViewed && (\r\n isNotificationCritical(notification) || isAllowedFeedbackOrPromotionNotification(notification)),\r\n )\r\n .map(notification => {\r\n const key = `notification-${notification.id}`;\r\n\r\n return {\r\n 'data-type': 'notification-toast',\r\n key,\r\n intent: getIntentByNotification(notification),\r\n accent: isAllowedFeedbackOrPromotionNotification(notification),\r\n icon: notification.contextIconUrl ? : undefined,\r\n message: (\r\n {\r\n if (isListOpen === null) {\r\n handleOpenNotificationCenter();\r\n }\r\n handleSelectNotification({\r\n notification,\r\n uatAdditionalData: {\r\n parents: ['notification-toast', 'toaster'],\r\n },\r\n });\r\n removeToast({ key });\r\n }}\r\n />\r\n ),\r\n autoClosable: notification.category !== NOTIFICATION_CATEGORIES.ALERT && !isAllowedFeedbackOrPromotionNotification(notification),\r\n onClose: () => {\r\n UAT.dispatchAction('NOTIFICATION_TOAST_HIDE', {\r\n type: notification.code,\r\n messageKey: notification.messageKey,\r\n });\r\n handleUpdateNotifications([notification.id], { isViewed: true });\r\n },\r\n };\r\n });\r\n\r\n const toasts = allToasts.length <= MAX_SHOW\r\n ? allToasts\r\n : [\r\n ...allToasts.slice(0, MAX_SHOW),\r\n {\r\n key: 'notification-all',\r\n message: (\r\n
              \r\n \r\n {\r\n handleOpenNotificationCenter();\r\n UAT.dispatchAction('NOTIFICATION_GROUP_TOAST_SHOW_ALL');\r\n }}\r\n >\r\n \r\n \r\n
              \r\n ),\r\n autoClosable: false,\r\n onClose: () => {\r\n UAT.dispatchAction('NOTIFICATION_GROUP_TOAST_HIDE');\r\n handleMarkAllAsViewed();\r\n },\r\n },\r\n ];\r\n\r\n if (JSON.stringify(toastsRef.current) !== JSON.stringify(toasts)) {\r\n toastsRef.current.forEach(removeToast);\r\n toasts.forEach(addToast);\r\n toastsRef.current = toasts;\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [notifications]);\r\n\r\n const initWebSocket = () => {\r\n ws = pleskWS.bind({\r\n actions: {\r\n // eslint-disable-next-line camelcase\r\n panel_notification_created: newNotification => {\r\n handleNewNotificationRef.current(newNotification);\r\n },\r\n },\r\n onOpen: () => loadNotifications(),\r\n });\r\n };\r\n\r\n const loadNotifications = (id = 0) => {\r\n if (reloadTimeout) {\r\n clearTimeout(reloadTimeout);\r\n }\r\n listNotifications(id)\r\n .then(newNotifications => {\r\n setNotifications([...newNotifications, ...notifications]);\r\n })\r\n .then(() => {\r\n if (config.webSocket.enabled && ws.isReady()) {\r\n return;\r\n }\r\n reloadTimeout = window.setTimeout(\r\n () => loadNotifications(notifications.length ? notifications[0].id : 0),\r\n RELOAD_TIMEOUT,\r\n );\r\n })\r\n .catch(() => {\r\n reloadTimeout = window.setTimeout(\r\n () => loadNotifications(notifications.length ? notifications[0].id : 0),\r\n RELOAD_TIMEOUT,\r\n );\r\n });\r\n };\r\n\r\n const handleOpenSettings = () => {\r\n handleCloseNotificationCenter();\r\n navigate('/cp/notifications/panel-settings?context=tools');\r\n };\r\n\r\n const handleUpdateFilter = newFilter => {\r\n window.localStorage.setItem('notification-center-filter', JSON.stringify(newFilter));\r\n setFilter({ ...filter, ...newFilter });\r\n };\r\n\r\n const handleUpdateNotifications = (ids, change) => {\r\n setNotifications(notifications.map(notification => {\r\n if (ids.indexOf(notification.id) < 0) {\r\n return notification;\r\n }\r\n return {\r\n ...notification,\r\n ...change,\r\n };\r\n }));\r\n\r\n updateNotifications(ids, change);\r\n };\r\n\r\n const handleSelectNotification = ({ notification, uatAdditionalData }) => {\r\n UAT.dispatchAction('NOTIFICATION_DETAILS', {\r\n type: notification.code,\r\n messageKey: notification.messageKey,\r\n ...uatAdditionalData,\r\n });\r\n handleUpdateNotifications([notification.id], { isRead: true, isViewed: true });\r\n setSelectedNotificationId(notification.id);\r\n };\r\n\r\n const handleMarkAllAsRead = () => {\r\n const ids = notifications.filter(notification => !notification.isRead).map(notification => notification.id);\r\n handleUpdateNotifications(ids, { isRead: true });\r\n };\r\n\r\n const handleMarkAllAsViewed = () => {\r\n const ids = notifications.filter(notification => !notification.isViewed).map(notification => notification.id);\r\n handleUpdateNotifications(ids, { isViewed: true });\r\n };\r\n\r\n const handleRemoveNotification = ids => {\r\n setNotifications(prevNotifications => prevNotifications.filter(notification => !ids.includes(notification.id)));\r\n if (ids.includes(selectedNotificationId)) {\r\n setSelectedNotificationId(null);\r\n }\r\n\r\n deleteNotifications(ids);\r\n };\r\n\r\n const handleOpenNotificationCenter = () => {\r\n handleMarkAllAsViewed();\r\n setIsListOpen(true);\r\n };\r\n\r\n const handleCloseNotificationCenter = () => {\r\n setSelectedNotificationId(null);\r\n setIsListOpen(null);\r\n };\r\n\r\n const handleCloseNotificationView = () => {\r\n setSelectedNotificationId(null);\r\n };\r\n\r\n const unreadNotifications = applyFilter(notifications, { isUnRead: true });\r\n const selectedNotification = notifications.find(({ id }) => id === Number(selectedNotificationId));\r\n\r\n const button = (\r\n
              \r\n );\r\n};\r\n\r\nBrand.propTypes = {\r\n href: PropTypes.string,\r\n className: PropTypes.string,\r\n baseClassName: PropTypes.string,\r\n};\r\n\r\nexport default Brand;\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"Branding\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"image\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageAlt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"edition\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":184}};\n doc.loc.source = {\"body\":\"query Branding {\\r\\n viewer {\\r\\n login\\r\\n customTitle\\r\\n logo {\\r\\n image\\r\\n imageAlt\\r\\n url\\r\\n edition\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"Branding\"] = oneQuery(doc, \"Branding\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MainMenu\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"servicePlans\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":210}};\n doc.loc.source = {\"body\":\"query MainMenu {\\r\\n viewer {\\r\\n login\\r\\n statistics {\\r\\n customers\\r\\n resellers\\r\\n subscriptions\\r\\n domains\\r\\n servicePlans\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MainMenu\"] = oneQuery(doc, \"MainMenu\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useQuery } from '@apollo/client';\r\nimport { Locale } from 'jsw';\r\nimport Link from 'components/common/Link';\r\n\r\nimport PAGE_FOOTER_QUERY from 'queries/PageFooter.graphql';\r\n\r\nconst Translate = Locale.getTranslate('components.shortcuts');\r\n\r\nconst PageFooter = () => {\r\n const { data: { viewer: user, config } = {} } = useQuery(PAGE_FOOTER_QUERY);\r\n\r\n const handleProvideRatingClick = () => {\r\n Plesk.require('app/rating', rating => {\r\n rating({\r\n supportUrl: config.product.supportUrl,\r\n });\r\n });\r\n };\r\n\r\n return (\r\n
              \r\n {config?.promos.pleskFooter ? (\r\n {'plesk.com'}\r\n ) : null}\r\n {user?.type === 'ADMIN' && config?.facebook.showLikeLink ? (\r\n \r\n ) : null}\r\n {user?.type === 'ADMIN' && config?.twitter.showFollowLink ? (\r\n \r\n ) : null}\r\n {user?.type === 'ADMIN' && config?.rating.enabled ? (\r\n
              \r\n \r\n \r\n \r\n
              \r\n ) : null}\r\n {config?.feedback.userVoice ? (\r\n
              \r\n \r\n \r\n \r\n
              \r\n ) : null}\r\n
              \r\n \r\n \r\n \r\n
              \r\n
              \r\n );\r\n};\r\n\r\nexport default PageFooter;\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PageFooter\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"product\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"siteUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportUrl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"promos\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskFooter\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"feedback\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userVoice\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userVoiceUrl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"facebook\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showLikeLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskPage\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"twitter\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showFollowLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskPage\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rating\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":514}};\n doc.loc.source = {\"body\":\"query PageFooter {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n }\\r\\n config {\\r\\n product {\\r\\n siteUrl\\r\\n supportUrl\\r\\n }\\r\\n promos {\\r\\n pleskFooter\\r\\n }\\r\\n feedback {\\r\\n userVoice\\r\\n userVoiceUrl\\r\\n }\\r\\n facebook {\\r\\n showLikeLink\\r\\n pleskPage\\r\\n }\\r\\n twitter {\\r\\n showFollowLink\\r\\n pleskPage\\r\\n }\\r\\n rating {\\r\\n enabled\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PageFooter\"] = oneQuery(doc, \"PageFooter\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { PageHeader, Breadcrumbs, Heading, Text } from '@plesk/ui-library';\r\nimport Link from 'components/common/Link';\r\nimport ObjectSwitcher from './ObjectSwitcher';\r\nimport PageContentHeaderNav from './PageContentHeaderNav';\r\nimport stripTags from 'helpers/stripTags';\r\nimport JswComponent from 'components/jsw/JswComponent';\r\n\r\nconst PageContentHeader = ({\r\n breadcrumbs = [],\r\n tabs = null,\r\n tabsHasRootPage = false,\r\n navigationTabs = null,\r\n hidePathbar = false,\r\n hideHeading = false,\r\n wizardTitle = null,\r\n pageTitle = null,\r\n pageSubtitle = null,\r\n titleRightAddon = null,\r\n objectSwitcherParams = null,\r\n forceObjectSwitcher = false,\r\n isClassicMode = false,\r\n additionalTitleContent = null,\r\n className = 'page-content-header',\r\n}) => {\r\n breadcrumbs = Array.isArray(breadcrumbs) ? [...breadcrumbs] : [];\r\n let currentPage = breadcrumbs.pop();\r\n let addObjectSwitcher = forceObjectSwitcher;\r\n let objectName = null;\r\n let pageTitleSuffix = null;\r\n\r\n if (currentPage && tabs && tabsHasRootPage) {\r\n currentPage = breadcrumbs.pop();\r\n if (!pageTitle) {\r\n pageTitle = currentPage.title;\r\n }\r\n }\r\n\r\n if (currentPage && navigationTabs) {\r\n currentPage = breadcrumbs.pop();\r\n pageTitle = currentPage.title;\r\n\r\n // subscription horizontal navigation\r\n addObjectSwitcher = pageTitle.indexOf('') !== -1;\r\n }\r\n\r\n const match = pageTitle && pageTitle.match(/(.+)<\\/b>/i);\r\n if (match) {\r\n objectName = match[1];\r\n pageTitleSuffix = pageTitle.substr(match.index + match[0].length);\r\n pageTitle = pageTitle.substr(0, match.index);\r\n\r\n const previousPage = breadcrumbs[breadcrumbs.length - 1];\r\n if (previousPage && objectName === stripTags(previousPage.title)) {\r\n objectName = (\r\n );\r\n breadcrumbs.pop();\r\n\r\n // domain horizontal navigation\r\n addObjectSwitcher = true;\r\n } else {\r\n objectName = (\r\n // TODO EXTSSLIT-590: EXTPHPCOMP-33: Broken header in Plesk 18.0.19\r\n // eslint-disable-next-line react/no-danger\r\n \r\n );\r\n }\r\n }\r\n\r\n if ((hidePathbar || breadcrumbs.length) && hideHeading && (!isClassicMode || !navigationTabs)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {breadcrumbs.map(({ title, href }) => (\r\n \r\n ))}\r\n \r\n ) : null}\r\n tabs={isClassicMode && navigationTabs ? (\r\n \r\n ) : null}\r\n title={hideHeading ? null : (\r\n
              \r\n {wizardTitle ? (\r\n {wizardTitle}\r\n ) : null}\r\n {objectName ? (\r\n \r\n {pageTitle ? (\r\n // TODO EXTLETSENC-726: EXTSSLIT-590: EXTPHPCOMP-33: Broken header in Plesk 18.0.19\r\n // eslint-disable-next-line react/no-danger\r\n \r\n ) : null}\r\n {objectName}\r\n {objectSwitcherParams && addObjectSwitcher ? (\r\n \r\n ) : null}\r\n {pageTitleSuffix}\r\n {additionalTitleContent && ({additionalTitleContent})}\r\n \r\n ) : (\r\n \r\n {/* eslint-disable-next-line react/no-danger */}\r\n \r\n \r\n )}\r\n
              \r\n )}\r\n titleRightAddon={titleRightAddon}\r\n >\r\n {!hideHeading && pageSubtitle ? (\r\n {pageSubtitle}\r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nPageContentHeader.propTypes = {\r\n breadcrumbs: PropTypes.arrayOf(PropTypes.shape({\r\n href: PropTypes.string,\r\n title: PropTypes.string,\r\n })),\r\n tabs: PropTypes.array,\r\n tabsHasRootPage: PropTypes.bool,\r\n navigationTabs: PropTypes.array,\r\n hidePathbar: PropTypes.bool,\r\n hideHeading: PropTypes.bool,\r\n wizardTitle: PropTypes.string,\r\n pageTitle: PropTypes.string,\r\n pageSubtitle: PropTypes.string,\r\n titleRightAddon: PropTypes.node,\r\n objectSwitcherParams: PropTypes.shape(ObjectSwitcher.propTypes),\r\n forceObjectSwitcher: PropTypes.bool,\r\n isClassicMode: PropTypes.bool,\r\n additionalTitleContent: PropTypes.string,\r\n className: PropTypes.string,\r\n};\r\n\r\nexport default PageContentHeader;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect, useState } from 'react';\r\nimport { PropTypes } from 'prop-types';\r\nimport { registerComponent, ObjectSwitcher as JswObjectSwitcher } from 'jsw';\r\nimport JswComponent from '../../jsw/JswComponent';\r\nimport useNavigate from 'hooks/useNavigate';\r\n\r\nconst ObjectSwitcher = ({ locale, limit, lookUpParams, dataUrl, listUrl, owner = null, itemUrlTemplate }) => {\r\n const [component, setComponent] = useState(null);\r\n\r\n const navigate = useNavigate();\r\n\r\n useEffect(() => {\r\n const newComponent = new JswObjectSwitcher({ locale, limit, lookUpParams, dataUrl, listUrl, owner, itemUrlTemplate, navigate });\r\n setComponent(newComponent);\r\n\r\n return () => {\r\n registerComponent(newComponent.getId());\r\n setComponent(null);\r\n };\r\n }, [locale, limit, lookUpParams, dataUrl, listUrl, owner, itemUrlTemplate, navigate]);\r\n\r\n return component ? (\r\n \r\n {component}\r\n \r\n ) : null;\r\n};\r\n\r\nObjectSwitcher.propTypes = {\r\n locale: PropTypes.object.isRequired,\r\n limit: PropTypes.number.isRequired,\r\n lookUpParams: PropTypes.object.isRequired,\r\n dataUrl: PropTypes.string.isRequired,\r\n listUrl: PropTypes.string.isRequired,\r\n owner: PropTypes.string,\r\n itemUrlTemplate: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default ObjectSwitcher;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect, useMemo, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Tab, Tabs } from '@plesk/ui-library';\r\nimport Link from 'components/common/Link';\r\nimport { prepareUrl } from 'jsw';\r\n\r\nconst PageContentHeaderNav = ({ items }) => {\r\n const ref = useRef(null);\r\n const active = useMemo(() => items.findIndex(({ containerCls }) => containerCls.split(' ').includes('active')) + 1, [items]);\r\n\r\n useEffect(() => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n\r\n const nav = ref.current;\r\n const tabs = nav.querySelector('.page-content-header-nav__tabs');\r\n const headerInner = document.querySelector('.pul-layout__header-inner');\r\n const stickyClassName = 'page-content-header-nav--sticky';\r\n\r\n const update = () => {\r\n const tabsRect = tabs.getBoundingClientRect();\r\n const headerInnerRect = headerInner.getBoundingClientRect();\r\n const top = (window.scrollY || window.pageYOffset) + nav.getBoundingClientRect().top;\r\n\r\n if (document.documentElement.scrollTop > top - headerInnerRect.height) {\r\n nav.classList.add(stickyClassName);\r\n nav.style.minHeight = `${tabsRect.height}px`;\r\n tabs.style.top = `${headerInnerRect.height}px`;\r\n } else {\r\n nav.classList.remove(stickyClassName);\r\n nav.style.minHeight = null;\r\n tabs.style.top = null;\r\n }\r\n };\r\n\r\n window.addEventListener('resize', update);\r\n window.addEventListener('scroll', update);\r\n document.addEventListener('mousewheel', update);\r\n\r\n update();\r\n\r\n return () => {\r\n window.removeEventListener('resize', update);\r\n window.removeEventListener('scroll', update);\r\n document.removeEventListener('mousewheel', update);\r\n };\r\n }, []);\r\n\r\n if (!items.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n
              \r\n \r\n {items.map(({ title, href }, index) => (\r\n \r\n ))}\r\n \r\n
              \r\n );\r\n};\r\n\r\nPageContentHeaderNav.propTypes = {\r\n items: PropTypes.arrayOf(PropTypes.shape({\r\n title: PropTypes.string.isRequired,\r\n href: PropTypes.string.isRequired,\r\n containerCls: PropTypes.string,\r\n })).isRequired,\r\n};\r\n\r\nexport default PageContentHeaderNav;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { unescapeHtml } from 'jsw';\r\nimport stripTags from 'helpers/stripTags';\r\n\r\nconst getTitleForHelpSearchQuery = ({\r\n wizardTitle,\r\n pageTitle,\r\n breadcrumbs = [],\r\n}) => {\r\n breadcrumbs = breadcrumbs && Array.isArray(breadcrumbs)\r\n ? breadcrumbs\r\n : [];\r\n let title = wizardTitle ?? pageTitle ?? breadcrumbs[breadcrumbs.length - 1]?.title ?? '';\r\n\r\n let objectName;\r\n const match = title.match(/(.+)<\\/b>/i);\r\n if (match) {\r\n objectName = match[1];\r\n title = title.substring(0, match.index).trim();\r\n }\r\n\r\n const matchLink = title.match(/()/);\r\n if (matchLink) {\r\n if (matchLink.index + matchLink[0].length === title.length) {\r\n objectName = stripTags(matchLink[0]);\r\n }\r\n\r\n title = title.replace(matchLink[0], '').trim();\r\n }\r\n\r\n if (objectName) {\r\n // (1) If a Plesk page title contains some text and an object name then the input value is set to this text excluding one word preceding the object name.\r\n title = title.substring(0, title.lastIndexOf(' '));\r\n }\r\n\r\n if (title === '' && breadcrumbs.length > 2) {\r\n // (2) If a Plesk page title is empty or contains an object name only then the input value is set to the value of the last link in the breadcrumbs.\r\n title = breadcrumbs[breadcrumbs.length - 2]?.title ?? '';\r\n }\r\n\r\n return stripTags(unescapeHtml(title)).trim();\r\n};\r\n\r\nexport default getTitleForHelpSearchQuery;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PageLayout from './PageLayout';\r\n\r\nconst withPageLayout = (Component, extraProps) => {\r\n const Wrapper = wrapperProps => {\r\n const {\r\n baseUrl,\r\n showFrames,\r\n pageHeader,\r\n pageSidebar,\r\n pageContentHeader,\r\n pageTitle,\r\n withSecondary,\r\n secondary,\r\n isSecondaryCollapsed,\r\n width,\r\n bodyClass,\r\n integrationClass,\r\n ...props\r\n } = {\r\n ...wrapperProps,\r\n ...(typeof extraProps === 'function' ? extraProps(wrapperProps) : extraProps),\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n Wrapper.displayName = `withPageLayout(${Component.displayName || Component.name || 'Component'})`;\r\n Wrapper.WrappedComponent = Component;\r\n\r\n return Wrapper;\r\n};\r\n\r\nexport default withPageLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport pageData from 'helpers/pageData';\r\nimport withPageLayout from './withPageLayout';\r\n\r\nconst withSimplePageLayout = (Component, extraProps) => withPageLayout(Component, props => {\r\n const { showFrames, pageHeader, pageSidebar } = pageData();\r\n const { breadcrumbs, helpContext } = typeof extraProps === 'function' ? extraProps(props) : extraProps;\r\n const pageTitle = breadcrumbs[breadcrumbs.length - 1].title;\r\n\r\n return {\r\n ...props,\r\n showFrames,\r\n pageHeader: {\r\n ...pageHeader,\r\n helpMenu: {\r\n ...pageHeader.helpMenu,\r\n helpContext,\r\n },\r\n },\r\n pageSidebar,\r\n pageContentHeader: {\r\n pageTitle,\r\n breadcrumbs: [pageSidebar.isPowerUserPanel ? null : {\r\n title: Locale.getSection('components.pages.home').lmsg('title'),\r\n href: '/admin/home',\r\n }, ...breadcrumbs].filter(Boolean),\r\n },\r\n pageTitle,\r\n };\r\n});\r\n\r\nexport default withSimplePageLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Outlet } from 'react-router-dom';\r\nimport { usePageData } from 'helpers/pageData';\r\nimport PageLayout from 'components/layouts/PageLayout';\r\n\r\nconst PhpPagesLayout = () => {\r\n const data = usePageData();\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PhpPagesLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useRouteError, isRouteErrorResponse } from 'react-router-dom';\r\nimport { LocaleProvider } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport ErrorPage from 'common/components/ErrorPage';\r\nimport { isNetworkError } from 'helpers/isNetworkError';\r\n\r\nconst AppBoundary = () => {\r\n const error = useRouteError();\r\n\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n\r\n if (isRouteErrorResponse(error)) {\r\n if (error.status === 404) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n if (error.graphQLErrors?.length) {\r\n const [graphQLError] = error.graphQLErrors;\r\n return (\r\n \r\n `#${index} ${file}(${line}): ${call}`).join('\\n'),\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppBoundary;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n/* eslint-disable react/jsx-max-depth */\r\n\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Heading, Button, Text, Icon, ConsoleOutput, Translate } from '@plesk/ui-library';\r\nimport RepairKitAlert from './RepairKitAlert';\r\nimport ExceptionDetails from './ExceptionDetails';\r\nimport styles from './ErrorPage.module.css';\r\n\r\nconst descriptions = {\r\n 400: 'Your browser sent a request that this server could not understand. Client sent malformed Host header.',\r\n 401: 'This server could not verify that you are authorized to access the document requested.' +\r\n ' Either you supplied the wrong credentials (e.g., bad password), or your browser doesn\\'t understand how to supply the credentials required.',\r\n 403: 'You do not have permission to access this document.',\r\n 404: 'This page either doesn\\'t exist, or it moved somewhere else.',\r\n 405: 'The HTTP verb used to access this page is not allowed.',\r\n 406: 'Client browser does not accept the MIME type of the requested page.',\r\n 407: 'You must be authenticated by a proxy server before the Web server can execute your request.',\r\n 412: 'The request was not completed due to preconditions that are set in the request header.\\n' +\r\n ' Preconditions prevent the requested method from being applied to a resource other than the one intended.',\r\n 414: 'The Web server is refusing to service the request because the requested URL address is too long.',\r\n 415: 'The Web server cannot service the request because the requested file is in a format that the server is configured not to download.',\r\n 500: 'The server encountered an internal error or misconfiguration and was unable to complete your request.\\n' +\r\n ' Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.\\n' +\r\n ' More information about this error may be available in the server error log.',\r\n 501: 'The page you are looking for cannot be displayed because a header value in the request does not match certain configuration settings on the Web server.',\r\n 502: 'Web server received an invalid response while acting as a gateway or proxy server.',\r\n 503: 'The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.',\r\n};\r\n\r\nconst consoleOutputHtml = `
              Plesk
              \r\nInitializing… [ ---- ]\r\nCloning… [ ---- ]\r\n\r\n\r\n
              \r\n___\r\n\r\nYour Plesk is almost ready.\r\nIn a few seconds, we'll take you there so that you can get started!\r\n
              `;\r\n\r\nconst helpActions = () => (\r\n <>\r\n \r\n {\r\n window.history.length > 1 &&\r\n \r\n }\r\n \r\n \r\n);\r\n\r\nconst ErrorPage = ({\r\n code = null,\r\n message,\r\n noRepairKit = false,\r\n kbArticleUrl = null,\r\n exception = null,\r\n isNetworkError = false,\r\n}) => (\r\n
              \r\n
              \r\n
              \r\n {isNetworkError ? (\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 {helpActions()}\r\n
              \r\n \r\n ) : code === '503.1' ? (\r\n <>\r\n
              \r\n {message}\r\n
              \r\n
              \r\n \r\n {/* eslint-disable-next-line react/no-danger */}\r\n
              \r\n \r\n
              \r\n \r\n
              \r\n
              \r\n \r\n ) : (\r\n <>\r\n
              \r\n {code ?
              : null}\r\n {code ? `${code} ` : null}{exception ? exception.type : message}\r\n
              \r\n
              \r\n
              \r\n

              {exception ? exception.message : descriptions[code]}

              \r\n
              \r\n {exception ? (\r\n \r\n ) : null}\r\n {code && /^5\\d\\d$/.test(code) && !noRepairKit ? (\r\n \r\n ) : null}\r\n
              \r\n

              \r\n {' '}\r\n \r\n \r\n \r\n

              \r\n

              \r\n {helpActions()}\r\n {kbArticleUrl ? (\r\n \r\n ) : null}\r\n
              \r\n
              \r\n \r\n )}\r\n \r\n
              \r\n
              \r\n);\r\n\r\nErrorPage.propTypes = {\r\n code: PropTypes.string,\r\n message: PropTypes.string.isRequired,\r\n noRepairKit: PropTypes.bool,\r\n kbArticleUrl: PropTypes.string,\r\n exception: PropTypes.shape({\r\n type: PropTypes.string.isRequired,\r\n message: PropTypes.string.isRequired,\r\n }),\r\n isNetworkError: PropTypes.bool,\r\n};\r\n\r\nexport default ErrorPage;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Button, Text, Icon, Alert, Media, MediaSection, Translate } from '@plesk/ui-library';\r\n\r\nconst RepaitKitAlert = () => (\r\n \r\n }>\r\n {window.location.pathname.indexOf('/repair') === 0 ? (\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 \r\n \r\n \r\n )}\r\n
              \r\n
              \r\n);\r\n\r\nexport default RepaitKitAlert;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { Text, List, ConsoleOutput } from '@plesk/ui-library';\r\n\r\nconst ExceptionDetails = ({ type, message, file, line, stackTrace = null, codeFragment = null }) => {\r\n const data = [{\r\n key: 'type',\r\n title: 'Type',\r\n value: type,\r\n }, {\r\n key: 'message',\r\n title: 'Message',\r\n value: message,\r\n }, {\r\n key: 'file',\r\n title: 'File',\r\n value: file,\r\n }, {\r\n key: 'line',\r\n title: 'Line',\r\n value: line,\r\n }, {\r\n key: 'stackTrace',\r\n title: 'Stack trace',\r\n // eslint-disable-next-line react/no-danger\r\n value: stackTrace && {stackTrace},\r\n }, {\r\n key: 'codeFragment',\r\n title: 'Code fragment',\r\n value: codeFragment && (\r\n \r\n {/* eslint-disable-next-line react/no-danger */}\r\n
              \r\n \r\n ),\r\n }].filter(({ value }) => value);\r\n\r\n if (!data.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n {row.title};\r\n },\r\n }, {\r\n key: 'value',\r\n }]}\r\n data={data}\r\n />\r\n );\r\n};\r\n\r\nExceptionDetails.propTypes = {\r\n type: PropTypes.string.isRequired,\r\n message: PropTypes.string.isRequired,\r\n file: PropTypes.string.isRequired,\r\n line: PropTypes.string.isRequired,\r\n stackTrace: PropTypes.string,\r\n codeFragment: PropTypes.string,\r\n};\r\n\r\nexport default ExceptionDetails;\r\n","// extracted by mini-css-extract-plugin\nexport default {\"page\":\"common-components-ErrorPage-module__page--3BS7t\",\"header\":\"common-components-ErrorPage-module__header--ZsKwE\",\"side\":\"common-components-ErrorPage-module__side--CyBpF\",\"sideMaintenance\":\"common-components-ErrorPage-module__sideMaintenance--5fiUj\",\"main\":\"common-components-ErrorPage-module__main--icshs\",\"description\":\"common-components-ErrorPage-module__description--QJNnB\",\"actions\":\"common-components-ErrorPage-module__actions--xclR8\",\"action\":\"common-components-ErrorPage-module__action--l73ns\",\"footer\":\"common-components-ErrorPage-module__footer--10LMy\",\"footerLinks\":\"common-components-ErrorPage-module__footerLinks--vDGlC\",\"footerLink\":\"common-components-ErrorPage-module__footerLink--xg46v\",\"footerLinkText\":\"common-components-ErrorPage-module__footerLinkText--Q2RUW\"};","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useLayoutEffect } from 'react';\r\nimport { getComponent } from 'jsw';\r\n\r\nconst LogsPage = () => {\r\n useLayoutEffect(() => () => {\r\n getComponent('log-browser')?.remove();\r\n }, []);\r\n\r\n return null;\r\n};\r\n\r\nexport default LogsPage;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { List, Pagination } from '@plesk/ui-library';\r\nimport { GraphQlListContext } from './GraphQlListContext';\r\nimport GraphQlListSearchBar from './GraphQlListSearchBar';\r\n\r\nconst GraphQlList = ({\r\n onSortChange = undefined,\r\n filtered = undefined,\r\n pagination = undefined,\r\n emptyView = undefined,\r\n emptyViewFiltered = undefined,\r\n listContext,\r\n ...listProps\r\n}) => {\r\n const { paginationProps, setSort } = listContext;\r\n\r\n const [prevFiltered, setPrevFiltered] = useState(filtered);\r\n const isLoadingOrFiltered = filtered || (listProps.loading && prevFiltered);\r\n if (!listProps.loading && prevFiltered !== filtered) {\r\n setPrevFiltered(filtered);\r\n }\r\n\r\n return (\r\n \r\n )}\r\n emptyView={isLoadingOrFiltered ? emptyViewFiltered : emptyView}\r\n {...listProps}\r\n onSortChange={(...args) => {\r\n onSortChange?.(...args);\r\n const [sort] = args;\r\n setSort({ [sort.sortColumn]: sort.sortDirection });\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nGraphQlList.propTypes = {\r\n onSortChange: PropTypes.func,\r\n listContext: PropTypes.object.isRequired,\r\n filtered: PropTypes.bool,\r\n pagination: PropTypes.node,\r\n emptyView: PropTypes.node,\r\n emptyViewFiltered: PropTypes.node,\r\n};\r\n\r\nGraphQlList.SearchBar = GraphQlListSearchBar;\r\n\r\nexport default GraphQlList;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { createContext } from 'react';\r\n\r\nexport const GraphQlListContext = createContext();\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useContext, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { SearchBar } from '@plesk/ui-library';\r\nimport { GraphQlListContext } from './GraphQlListContext';\r\n\r\nconst GraphQlListSearchBar = ({\r\n name,\r\n onSearch = undefined,\r\n onTyping = undefined,\r\n ...props\r\n}) => {\r\n const { listInput, setSearchFilters } = useContext(GraphQlListContext);\r\n const [value, setValue] = useState(listInput.searchFilters?.[name]);\r\n\r\n return (\r\n {\r\n onTyping?.(...args);\r\n const [value] = args;\r\n setValue(value);\r\n }}\r\n onSearch={(...args) => {\r\n onSearch?.(...args);\r\n const [value] = args;\r\n setValue(value);\r\n setSearchFilters(currentFilters => ({\r\n ...currentFilters,\r\n [name]: value,\r\n }));\r\n }}\r\n />\r\n );\r\n};\r\n\r\nGraphQlListSearchBar.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n onSearch: PropTypes.func,\r\n onTyping: PropTypes.func,\r\n};\r\n\r\nexport default GraphQlListSearchBar;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState } from 'react';\r\nimport { useQuery } from '@apollo/client';\r\nimport { useLocalStorage } from 'common/hooks';\r\nimport { getGraphQlListInputStorageArgs } from './helpers';\r\n\r\nconst ITEMS_PER_PAGE_OPTIONS = [10, 25, 100, 'all'];\r\n\r\nconst useGraphQlList = ({\r\n key,\r\n defaultInput,\r\n query,\r\n variables = {},\r\n inputVariables = {},\r\n withNetworkOnlyStrategy = true,\r\n onListInputChange,\r\n withPagination = true,\r\n extractList,\r\n}) => {\r\n const [fetchPolicy, setFetchPolicy] = useState();\r\n const [listInput, setListInput] = useLocalStorage(\r\n ...getGraphQlListInputStorageArgs({ key, withPagination, defaultInput }),\r\n );\r\n\r\n const queryResult = useQuery(query, {\r\n variables: {\r\n input: { ...listInput, ...inputVariables },\r\n ...variables,\r\n },\r\n fetchPolicy,\r\n });\r\n const queryData = (queryResult.data || queryResult.previousData);\r\n const listData = queryData ? extractList(queryData) : null;\r\n\r\n const handleListInputChange = listInput => {\r\n setListInput(listInput);\r\n withNetworkOnlyStrategy && setFetchPolicy('network-only');\r\n onListInputChange && onListInputChange(listInput);\r\n };\r\n\r\n const setSearchFilters = filters => {\r\n const result = typeof filters === 'function' ? filters(listInput.searchFilters) : filters;\r\n handleListInputChange({\r\n ...listInput,\r\n searchFilters: result,\r\n pagination: { ...listInput.pagination, page: 1 },\r\n });\r\n };\r\n\r\n const setFilters = ({ searchFilters, ...filters }) => {\r\n const newListInput = {\r\n ...listInput,\r\n ...filters,\r\n pagination: { ...listInput.pagination, page: 1 },\r\n };\r\n\r\n if (listInput.searchFilters || searchFilters) {\r\n newListInput.searchFilters = {\r\n ...(listInput.searchFilters ?? {}),\r\n ...(searchFilters ?? {}),\r\n };\r\n }\r\n\r\n handleListInputChange(newListInput);\r\n };\r\n\r\n const setSort = orderBy => handleListInputChange({ ...listInput, orderBy });\r\n\r\n const setPage = page => handleListInputChange({\r\n ...listInput,\r\n pagination: { ...listInput.pagination, page },\r\n });\r\n\r\n const setItemsPerPage = itemsPerPage => handleListInputChange({\r\n ...listInput,\r\n pagination: {\r\n page: 1,\r\n itemsPerPage: itemsPerPage === 'all' ? null : +itemsPerPage,\r\n },\r\n });\r\n\r\n const paginationProps = withPagination && listData ? {\r\n current: listData.pageInfo.current,\r\n total: listData.pageInfo.pageCount,\r\n onSelect: setPage,\r\n itemsPerPage: listInput.pagination?.itemsPerPage ?? 'all',\r\n itemsPerPageOptions: ITEMS_PER_PAGE_OPTIONS,\r\n onItemsPerPageChange: setItemsPerPage,\r\n } : null;\r\n\r\n return {\r\n queryResult,\r\n listData,\r\n listInput,\r\n setSearchFilters,\r\n setPage,\r\n setItemsPerPage,\r\n setSort,\r\n paginationProps,\r\n listProps: {\r\n listContext: {\r\n listData,\r\n listInput,\r\n setSearchFilters,\r\n setFilters,\r\n setSort,\r\n setPage,\r\n setItemsPerPage,\r\n paginationProps,\r\n },\r\n // List component props\r\n ...(listData?.sortInfo ?? {}),\r\n loading: queryResult.loading,\r\n data: listData?.nodes || [],\r\n totalRows: listData?.pageInfo.total,\r\n },\r\n };\r\n};\r\n\r\nexport default useGraphQlList;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { readLocalStorageValue } from 'common/helpers/readLocalStorageValue';\r\n\r\nconst DEFAULT_INPUT = {\r\n pagination: { page: 1, itemsPerPage: 25 },\r\n};\r\n\r\n// Bump version after GraphQL API changes to prevent reading of invalid input from storage\r\nconst VERSION = 2;\r\n\r\nexport const getGraphQlListInputStorageArgs = ({\r\n key,\r\n withPagination = true,\r\n defaultInput,\r\n}) => [\r\n `${key}ListInput.v${VERSION}`,\r\n defaultInput || (withPagination ? DEFAULT_INPUT : {}),\r\n];\r\n\r\nexport const readGraphQlListInputFromStorage = options => readLocalStorageValue(\r\n ...getGraphQlListInputStorageArgs(options),\r\n);\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport { odbcAddRoute } from 'routes/odbcAddRoute';\r\nimport { odbcEditRoute } from 'routes/odbcEditRoute';\r\nimport apolloClient from '../apolloClient';\r\n\r\nimport ODBC_SERVER_LIST from 'queries/OdbcServerList.graphql';\r\n\r\nexport const odbcServerRoute = {\r\n path: 'odbc',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/OdbcPage/OdbcServerPage\" */\r\n 'components/pages/OdbcPage/OdbcServerPage'\r\n ),\r\n loader: async () => {\r\n const input = readGraphQlListInputFromStorage({ key: 'OdbcServerPage' });\r\n await apolloClient.query({\r\n query: ODBC_SERVER_LIST,\r\n variables: { input },\r\n });\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('odbcServer'),\r\n }),\r\n helpContext: 'odbc_connection_config',\r\n },\r\n children: [\r\n odbcAddRoute,\r\n odbcEditRoute,\r\n ],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport ODBC_ADD_PAGE from 'queries/OdbcAddPage.graphql';\r\n\r\nexport const odbcAddRoute = {\r\n path: 'add',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/OdbcAddPage\" */\r\n 'components/pages/OdbcAddPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const { data: { dsnManager: { drivers } } } = await apolloClient.query({\r\n query: ODBC_ADD_PAGE,\r\n });\r\n\r\n return { domainId: params.domainId, drivers };\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcAddPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dsnManager\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"drivers\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":66}};\n doc.loc.source = {\"body\":\"query OdbcAddPage {\\r\\n dsnManager {\\r\\n drivers\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcAddPage\"] = oneQuery(doc, \"OdbcAddPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from '../apolloClient';\r\n\r\nimport ODBC_EDIT_PAGE from 'queries/OdbcEditPage.graphql';\r\n\r\nexport const odbcEditRoute = {\r\n path: ':odbcId/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/OdbcEditPage\" */\r\n 'components/pages/OdbcEditPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const id = btoa(`OdbcDsnConnection:${params.odbcId}`);\r\n\r\n await apolloClient.query({\r\n query: ODBC_EDIT_PAGE,\r\n variables: { id },\r\n });\r\n\r\n return { odbcId: params.odbcId };\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcEditPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"connection\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcEditFragment\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":150}};\n doc.loc.source = {\"body\":\"#import \\\"queries/OdbcEditFragment.graphql\\\"\\r\\n\\r\\nquery OdbcEditPage($id: ID!) {\\r\\n connection: node(id: $id) {\\r\\n ...OdbcEditFragment\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/OdbcEditFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcEditPage\"] = oneQuery(doc, \"OdbcEditPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcEditFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDsnConnection\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"driverType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parameters\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyHuman\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRequired\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fieldType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"values\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":203}};\n doc.loc.source = {\"body\":\"fragment OdbcEditFragment on OdbcDsnConnection {\\r\\n id\\r\\n driverType\\r\\n parameters {\\r\\n key\\r\\n keyHuman\\r\\n isRequired\\r\\n fieldType\\r\\n value\\r\\n values\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcEditFragment\"] = oneQuery(doc, \"OdbcEditFragment\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcServerList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDsnConnectionListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"odbcDsnConnections\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcList\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":301}};\n doc.loc.source = {\"body\":\"#import \\\"./OdbcListFragment.graphql\\\"\\r\\n\\r\\nquery OdbcServerList(\\r\\n $input: OdbcDsnConnectionListInput\\r\\n) {\\r\\n server {\\r\\n odbcDsnConnections(\\r\\n input: $input\\r\\n ) {\\r\\n ...OdbcList\\r\\n nodes {\\r\\n domainName\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./OdbcListFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcServerList\"] = oneQuery(doc, \"OdbcServerList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcList\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDsnConnectionList\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"driver\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configured\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSystem\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":310}};\n doc.loc.source = {\"body\":\"fragment OdbcList on OdbcDsnConnectionList {\\r\\n nodes {\\r\\n id\\r\\n name\\r\\n description\\r\\n driver\\r\\n configured\\r\\n isSystem\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcList\"] = oneQuery(doc, \"OdbcList\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport apolloClient from '../apolloClient';\r\n\r\nimport HOSTING_SETTINGS_PAGE from 'queries/HostingSettingsPage.graphql';\r\n\r\nexport const useGetDomainOverviewRoutePath = () => {\r\n const { pathname } = useLocation();\r\n\r\n return useCallback((id, type, path) => (\r\n pathname.includes('overview')\r\n ? `/smb/web/overview/id/${id}/type/${type}/${path}`\r\n : `/smb/web/view/${id}/${path}`\r\n ), [pathname]);\r\n};\r\n\r\nexport default [\r\n {\r\n path: 'hosting-settings',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/HostingSettingsPage\" */'components/pages/HostingSettingsPage'),\r\n loader: async ({ params }) => {\r\n await apolloClient.query({\r\n query: HOSTING_SETTINGS_PAGE,\r\n variables: { id: btoa(`Domain:${params.id}`) },\r\n });\r\n },\r\n },\r\n {\r\n path: 'connection-info',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ConnectionInfo\" */'components/pages/ConnectionInfo'),\r\n },\r\n];\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HostingSettingsPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSimplePanel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmbImpersonated\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidSubscriptionRename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preferredDomain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6Supported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidFtpUserRename\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"securitySettingsPreset\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sslRedirect\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"asp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspDotNet\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cgi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fastcgi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstat\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"writeModify\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webDeploy\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDocs\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"perl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"python\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shell\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"systemUser\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"access\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shells\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"empty\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"chrooted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSecure\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"emptyShell\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyShell\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstatPackages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parentDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"owner\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"availableIpAddresses\"},\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sysUser\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"quota\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shell\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSecureSettingsPresetAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageWebsitesAndDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageHosting\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageHostingSsl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageQuota\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageShellAccess\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageNotChrootedShell\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowInsecureSites\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageHostingSsi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageErrorDocs\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageAdditionPermissions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageWebstat\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageWebDeploy\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowInsecureSites\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mainDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowToChangeHtype\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"htype\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"documentRoot\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preferredDomain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasInstalledApplications\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSameSsl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forwarding\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"redirect\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sslSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sslRedirect\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"certificateId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableCertificates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"repository\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspNetSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"versions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstatSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstat\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstatProtected\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssiHtml\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cgi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cgiMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fastcgi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"asp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspDotNet\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"perl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"python\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webDeploy\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDocs\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"writeModify\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":4521}};\n doc.loc.source = {\"body\":\"query HostingSettingsPage($id: ID!) {\\r\\n mode {\\r\\n isSimplePanel\\r\\n isDemo\\r\\n }\\r\\n viewer {\\r\\n isSmbImpersonated\\r\\n login\\r\\n type\\r\\n }\\r\\n server {\\r\\n settings {\\r\\n forbidSubscriptionRename\\r\\n preferredDomain\\r\\n isIPv6Supported\\r\\n forbidFtpUserRename\\r\\n }\\r\\n securitySettingsPreset {\\r\\n ssl\\r\\n sslRedirect\\r\\n asp\\r\\n aspDotNet\\r\\n cgi\\r\\n fastcgi\\r\\n webstat\\r\\n writeModify\\r\\n webDeploy\\r\\n ssi\\r\\n errorDocs\\r\\n perl\\r\\n python\\r\\n shell\\r\\n }\\r\\n }\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n capability {\\r\\n systemUser {\\r\\n access {\\r\\n shells {\\r\\n name\\r\\n value\\r\\n empty\\r\\n chrooted\\r\\n isSecure\\r\\n }\\r\\n emptyShell\\r\\n }\\r\\n }\\r\\n }\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n keyShell\\r\\n }\\r\\n capability {\\r\\n packages {\\r\\n webstatPackages {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n }\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n name(idn: false)\\r\\n isDemo\\r\\n baseDomain {\\r\\n id\\r\\n }\\r\\n parentDomain {\\r\\n name(idn: false)\\r\\n }\\r\\n ipAddresses {\\r\\n id\\r\\n isIPv6\\r\\n ipAddress\\r\\n publicIpAddress\\r\\n }\\r\\n owner {\\r\\n id\\r\\n ipAddresses {\\r\\n id\\r\\n type\\r\\n isIPv6\\r\\n ipAddress\\r\\n publicIpAddress\\r\\n isBroken\\r\\n clients {\\r\\n id\\r\\n }\\r\\n }\\r\\n availableIpAddresses: ipAddresses(filter: {unassigned: true}) {\\r\\n id\\r\\n type\\r\\n isIPv6\\r\\n ipAddress\\r\\n publicIpAddress\\r\\n isBroken\\r\\n }\\r\\n }\\r\\n sysUser {\\r\\n login\\r\\n quota\\r\\n shell\\r\\n }\\r\\n subscription {\\r\\n isSecureSettingsPresetAllowed\\r\\n permissions {\\r\\n manageDomains\\r\\n manageSubdomains\\r\\n manageWebsitesAndDomains\\r\\n manageHosting\\r\\n manageHostingSsl\\r\\n manageQuota\\r\\n manageShellAccess\\r\\n manageNotChrootedShell\\r\\n allowInsecureSites\\r\\n manageHostingSsi\\r\\n manageErrorDocs\\r\\n manageAdditionPermissions\\r\\n manageWebstat\\r\\n manageWebDeploy\\r\\n allowInsecureSites\\r\\n }\\r\\n mainDomain {\\r\\n id\\r\\n name(idn: false)\\r\\n }\\r\\n domains {\\r\\n id\\r\\n name(idn: false)\\r\\n }\\r\\n }\\r\\n allowToChangeHtype\\r\\n htype\\r\\n hosting {\\r\\n documentRoot\\r\\n preferredDomain\\r\\n hasInstalledApplications\\r\\n isSameSsl\\r\\n }\\r\\n forwarding {\\r\\n code\\r\\n redirect\\r\\n }\\r\\n sslSettings {\\r\\n ssl\\r\\n sslRedirect\\r\\n certificateId\\r\\n availableCertificates {\\r\\n id\\r\\n name\\r\\n repository\\r\\n }\\r\\n }\\r\\n aspNetSettings {\\r\\n versions\\r\\n configs {\\r\\n version\\r\\n }\\r\\n }\\r\\n webstatSettings {\\r\\n webstat\\r\\n webstatProtected\\r\\n }\\r\\n webScriptingSettings {\\r\\n ssi\\r\\n ssiHtml\\r\\n cgi\\r\\n cgiMode\\r\\n fastcgi\\r\\n asp\\r\\n aspDotNet\\r\\n perl\\r\\n python\\r\\n webDeploy\\r\\n errorDocs\\r\\n writeModify\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HostingSettingsPage\"] = oneQuery(doc, \"HostingSettingsPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from '../apolloClient';\r\nimport { gql } from '@apollo/client';\r\nimport { redirect } from 'react-router-dom';\r\nimport { getId } from 'helpers/getId';\r\nimport { Locale } from 'jsw';\r\n\r\nconst ROUTE = 'summary-report';\r\n\r\nexport const summaryReportChildrenRoute = {\r\n path: ROUTE,\r\n children: [{\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\r\n }),\r\n },\r\n children: [{\r\n path: 'layouts',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SummaryReportLayoutsPage\" */'components/pages/SummaryReportLayoutsPage'),\r\n loader: async () => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportLayoutsPage.graphql'),\r\n });\r\n return data;\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('summaryReportLayouts'),\r\n }),\r\n helpContext: ({ data: { viewer: type } }) => type === 'ADMIN' ? 'admin.report.layout' : 'reseller.report.layout',\r\n },\r\n children: [{\r\n path: 'add',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/SummaryReportLayoutsPage/AddPage\" */\r\n 'components/pages/SummaryReportLayoutsPage/AddPage'\r\n ),\r\n loader: async () => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportLayoutAddPage.graphql'),\r\n });\r\n return data;\r\n },\r\n }, {\r\n path: ':layoutId/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/SummaryReportLayoutsPage/EditPage\" */\r\n 'components/pages/SummaryReportLayoutsPage/EditPage'\r\n ),\r\n loader: async ({ params: { layoutId } }) => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportLayoutEditPage.graphql'),\r\n variables: { id: btoa(`SummaryReportLayout:${layoutId}`) },\r\n });\r\n return data;\r\n },\r\n }],\r\n }, {\r\n path: 'traffic-history',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/TrafficHistoryReportPage\" */'components/pages/TrafficHistoryReportPage'),\r\n loader: async () => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/TrafficHistoryReportPage.graphql'),\r\n });\r\n return data;\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('summaryReportTrafficHistory'),\r\n }),\r\n helpContext: ({ data: { viewer: type } }) => type === 'ADMIN' ? 'admin.report.traffic-history' : 'reseller.report.traffic-history',\r\n },\r\n }],\r\n }, {\r\n path: ':layoutId',\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\r\n }),\r\n },\r\n children: [{\r\n path: 'schedule',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SummaryReportSchedulesPage\" */'components/pages/SummaryReportSchedulesPage'),\r\n loader: async ({ params: { layoutId } }) => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportSchedulesPage.graphql'),\r\n variables: { id: btoa(`SummaryReportLayout:${layoutId}`) },\r\n });\r\n return data;\r\n },\r\n handle: {\r\n crumb: ({ data: { summaryReportLayout: { name } } }) => ({\r\n title: Locale.getSection('components.routes').lmsg('summaryReportSchedule', { name }),\r\n }),\r\n helpContext: ({ data: { viewer: type } }) => type === 'ADMIN' ? 'admin.report.layout.auto' : 'reseller.report.layout.auto',\r\n },\r\n children: [{\r\n path: 'add',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/SummaryReportSchedulesPage\" */\r\n 'components/pages/SummaryReportSchedulesPage/AddPage'\r\n ),\r\n loader: async ({ params: { layoutId } }) => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportScheduleAddPage.graphql'),\r\n variables: {\r\n layoutId: btoa(`SummaryReportLayout:${layoutId}`),\r\n },\r\n });\r\n return data;\r\n },\r\n }, {\r\n path: ':scheduleId/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/SummaryReportSchedulesPage\" */\r\n 'components/pages/SummaryReportSchedulesPage/EditPage'\r\n ),\r\n loader: async ({ params: { scheduleId, layoutId } }) => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportScheduleEditPage.graphql'),\r\n variables: {\r\n scheduleId: btoa(`SummaryReportSchedule:${scheduleId}`),\r\n layoutId: btoa(`SummaryReportLayout:${layoutId}`),\r\n },\r\n });\r\n return data;\r\n },\r\n }],\r\n },\r\n {\r\n path: 'print',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SummaryReportPage\" */'components/pages/SummaryReportPage/SummaryReportPrintPage'),\r\n loader: async ({ params: { layoutId } }) => {\r\n await apolloClient.query({\r\n query: require('queries/SummaryReportPrintPage.graphql'),\r\n variables: { id: btoa(`SummaryReportLayout:${layoutId}`) },\r\n });\r\n },\r\n handle: {\r\n noLayout: true,\r\n },\r\n }],\r\n },\r\n ],\r\n};\r\n\r\nexport const summaryReportRoute = ({ ignoreTopLevelTitle = false } = {}) => ({\r\n path: ROUTE,\r\n handle: {\r\n crumb: () => ignoreTopLevelTitle ? [] : {\r\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\r\n },\r\n },\r\n children: [{\r\n index: true,\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\r\n }),\r\n },\r\n loader: async () => {\r\n const { data: { viewer: { summaryReportLayouts } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n summaryReportLayouts {\r\n id\r\n isDefault\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n const defaultId = summaryReportLayouts.find(({ isDefault }) => isDefault)?.id ?? summaryReportLayouts[0]?.id;\r\n if (defaultId) {\r\n return redirect(getId(defaultId));\r\n }\r\n\r\n throw new Response('Not Found', { status: 404 });\r\n },\r\n\r\n }, {\r\n path: ':layoutId',\r\n children: [{\r\n index: true,\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SummaryReportPage\" */'components/pages/SummaryReportPage'),\r\n loader: async ({ params: { layoutId } }) => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportPage.graphql'),\r\n variables: { id: btoa(`SummaryReportLayout:${layoutId}`) },\r\n });\r\n return data;\r\n },\r\n handle: {\r\n crumb: () => ignoreTopLevelTitle ? [] : [{\r\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\r\n }],\r\n helpContext: ({ data: { viewer: type } }) => type === 'ADMIN' ? 'admin.report' : 'reseller.report',\r\n },\r\n }],\r\n },\r\n ],\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayoutsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"summaryReportLayouts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"general\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schedules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageCustomers\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":495}};\n doc.loc.source = {\"body\":\"query SummaryReportLayoutsPage {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n summaryReportLayouts {\\r\\n name\\r\\n isDefault\\r\\n id\\r\\n general\\r\\n resellers\\r\\n clients\\r\\n personalClients\\r\\n domains\\r\\n personalDomains\\r\\n schedules {\\r\\n id\\r\\n isEnabled\\r\\n }\\r\\n }\\r\\n }\\r\\n mode {\\r\\n canManageResellers\\r\\n canManageCustomers\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportLayoutsPage\"] = oneQuery(doc, \"SummaryReportLayoutsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayoutAddPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageCustomers\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":164}};\n doc.loc.source = {\"body\":\"query SummaryReportLayoutAddPage {\\r\\n mode {\\r\\n canManageResellers\\r\\n canManageCustomers\\r\\n }\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportLayoutAddPage\"] = oneQuery(doc, \"SummaryReportLayoutAddPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayoutEditPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"general\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalDomains\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":349}};\n doc.loc.source = {\"body\":\"query SummaryReportLayoutEditPage($id: ID!) {\\r\\n summaryReportLayout: node(id: $id) {\\r\\n ... on SummaryReportLayout {\\r\\n id\\r\\n name\\r\\n isDefault\\r\\n general\\r\\n resellers\\r\\n clients\\r\\n personalClients\\r\\n domains\\r\\n personalDomains\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportLayoutEditPage\"] = oneQuery(doc, \"SummaryReportLayoutEditPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficHistoryReportPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficHistory\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":255}};\n doc.loc.source = {\"body\":\"query TrafficHistoryReportPage {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n client {\\r\\n id\\r\\n trafficHistory {\\r\\n year\\r\\n month\\r\\n trafficUsage\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficHistoryReportPage\"] = oneQuery(doc, \"TrafficHistoryReportPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportSchedulesPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schedules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"period\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastSentDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":462}};\n doc.loc.source = {\"body\":\"query SummaryReportSchedulesPage($id: ID!) {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n client {\\r\\n id\\r\\n email\\r\\n }\\r\\n }\\r\\n summaryReportLayout: node(id: $id) {\\r\\n ... on SummaryReportLayout {\\r\\n id\\r\\n name\\r\\n schedules {\\r\\n id\\r\\n isEnabled\\r\\n period\\r\\n lastSentDate\\r\\n email\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportSchedulesPage\"] = oneQuery(doc, \"SummaryReportSchedulesPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportScheduleAddPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layoutId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layoutId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":295}};\n doc.loc.source = {\"body\":\"query SummaryReportScheduleAddPage($layoutId: ID!) {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n email\\r\\n }\\r\\n }\\r\\n summaryReportLayout: node(id: $layoutId) {\\r\\n ... on SummaryReportLayout {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportScheduleAddPage\"] = oneQuery(doc, \"SummaryReportScheduleAddPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportScheduleEditPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"scheduleId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layoutId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportSchedule\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"scheduleId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportSchedule\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"period\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layoutId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":479}};\n doc.loc.source = {\"body\":\"query SummaryReportScheduleEditPage($scheduleId: ID!, $layoutId: ID!) {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n email\\r\\n }\\r\\n }\\r\\n summaryReportSchedule: node(id: $scheduleId) {\\r\\n ... on SummaryReportSchedule {\\r\\n id\\r\\n period\\r\\n email\\r\\n }\\r\\n }\\r\\n summaryReportLayout: node(id: $layoutId) {\\r\\n ... on SummaryReportLayout {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportScheduleEditPage\"] = oneQuery(doc, \"SummaryReportScheduleEditPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportPrintPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"data\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportFragment\"},\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSitebuilderAvailable\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":369}};\n doc.loc.source = {\"body\":\"#import \\\"./SummaryReportFragment.graphql\\\"\\r\\n\\r\\nquery SummaryReportPrintPage($id: ID!) {\\r\\n summaryReportLayout: node(id: $id) {\\r\\n ... on SummaryReportLayout {\\r\\n id\\r\\n data {\\r\\n ...SummaryReportFragment\\r\\n }\\r\\n }\\r\\n }\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n server {\\r\\n isSitebuilderAvailable\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./SummaryReportFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportPrintPage\"] = oneQuery(doc, \"SummaryReportPrintPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportData\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"general\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"build\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerPname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerLogin\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phone\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fax\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"addr\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"city\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pcode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"creationDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellersList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resProblem\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resPname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resActiveClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resActiveDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientsList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clProblem\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clOwner\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clActiveDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalClients\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientsList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clProblem\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clOwner\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clActiveDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"diskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"traffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"postboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pgsqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sitebuilderSites\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainsList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domHtype\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domOwner\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalDomains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"diskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"traffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"postboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pgsqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sitebuilderSites\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainsList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domHtype\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domOwner\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":2914}};\n doc.loc.source = {\"body\":\"fragment SummaryReportFragment on SummaryReportData {\\r\\n general {\\r\\n version\\r\\n build\\r\\n cname\\r\\n pname\\r\\n ownerPname\\r\\n ownerLogin\\r\\n login\\r\\n phone\\r\\n fax\\r\\n email\\r\\n addr\\r\\n city\\r\\n state\\r\\n pcode\\r\\n country\\r\\n creationDate\\r\\n description\\r\\n}\\r\\n\\r\\nresellers {\\r\\n resellers\\r\\n activeResellers\\r\\n resellersList {\\r\\n resProblem\\r\\n resStatus\\r\\n resPname\\r\\n resCrDate\\r\\n resActiveClients\\r\\n resClients\\r\\n resDiskSpace\\r\\n resTraffic\\r\\n resActiveDomains\\r\\n resDomains\\r\\n resSubdomains\\r\\n resPostboxes\\r\\n resMailGroups\\r\\n resMailResps\\r\\n resMailLists\\r\\n resWebUsers\\r\\n resDataBases\\r\\n resMssqlDataBases\\r\\n resPgsqlDataBases\\r\\n }\\r\\n}\\r\\nclients {\\r\\n clients\\r\\n activeClients\\r\\n clientsList {\\r\\n clProblem\\r\\n clStatus\\r\\n clPname\\r\\n clOwner\\r\\n clCrDate\\r\\n clDiskSpace\\r\\n clTraffic\\r\\n clActiveDomains\\r\\n clDomains\\r\\n clSubdomains\\r\\n clPostboxes\\r\\n clMailGroups\\r\\n clMailResps\\r\\n clMailLists\\r\\n clWebUsers\\r\\n clDataBases\\r\\n clMssqlDataBases\\r\\n clPgsqlDataBases\\r\\n }\\r\\n}\\r\\npersonalClients {\\r\\n clients\\r\\n activeClients\\r\\n clientsList {\\r\\n clProblem\\r\\n clStatus\\r\\n clPname\\r\\n clOwner\\r\\n clCrDate\\r\\n clDiskSpace\\r\\n clTraffic\\r\\n clActiveDomains\\r\\n clDomains\\r\\n clSubdomains\\r\\n clPostboxes\\r\\n clMailGroups\\r\\n clMailResps\\r\\n clMailLists\\r\\n clWebUsers\\r\\n clDataBases\\r\\n clMssqlDataBases\\r\\n clPgsqlDataBases\\r\\n }\\r\\n}\\r\\ndomains {\\r\\n diskSpace\\r\\n traffic\\r\\n activeDomains\\r\\n subdomains\\r\\n postboxes\\r\\n mailGroups\\r\\n mailResps\\r\\n mailLists\\r\\n webUsers\\r\\n dataBases\\r\\n mssqlDataBases\\r\\n pgsqlDataBases\\r\\n sitebuilderSites\\r\\n domains\\r\\n domainsList {\\r\\n domStatus\\r\\n domHtype\\r\\n domName\\r\\n domOwner\\r\\n domCrDate\\r\\n domDiskSpace\\r\\n domTraffic\\r\\n domSubdomains\\r\\n domPostboxes\\r\\n domMailGroups\\r\\n domMailResps\\r\\n domMailLists\\r\\n domWebUsers\\r\\n domDataBases\\r\\n domMssqlDataBases\\r\\n domPgsqlDataBases\\r\\n }\\r\\n}\\r\\npersonalDomains {\\r\\n diskSpace\\r\\n traffic\\r\\n activeDomains\\r\\n subdomains\\r\\n postboxes\\r\\n mailGroups\\r\\n mailResps\\r\\n mailLists\\r\\n webUsers\\r\\n dataBases\\r\\n mssqlDataBases\\r\\n pgsqlDataBases\\r\\n sitebuilderSites\\r\\n domains\\r\\n domainsList {\\r\\n domStatus\\r\\n domHtype\\r\\n domName\\r\\n domOwner\\r\\n domCrDate\\r\\n domDiskSpace\\r\\n domTraffic\\r\\n domSubdomains\\r\\n domPostboxes\\r\\n domMailGroups\\r\\n domMailResps\\r\\n domMailLists\\r\\n domWebUsers\\r\\n domDataBases\\r\\n domMssqlDataBases\\r\\n domPgsqlDataBases\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportFragment\"] = oneQuery(doc, \"SummaryReportFragment\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"summaryReportLayouts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"data\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportFragment\"},\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyTraffic\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSitebuilderAvailable\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":639}};\n doc.loc.source = {\"body\":\"#import \\\"./SummaryReportFragment.graphql\\\"\\r\\n\\r\\nquery SummaryReportPage($id: ID!) {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n client {\\r\\n id\\r\\n email\\r\\n type\\r\\n }\\r\\n summaryReportLayouts {\\r\\n name\\r\\n id\\r\\n }\\r\\n }\\r\\n summaryReportLayout: node(id: $id) {\\r\\n ... on SummaryReportLayout {\\r\\n id\\r\\n data {\\r\\n ...SummaryReportFragment\\r\\n }\\r\\n }\\r\\n }\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n keyTraffic\\r\\n }\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n server {\\r\\n isSitebuilderAvailable\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./SummaryReportFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportPage\"] = oneQuery(doc, \"SummaryReportPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport pageData from 'helpers/pageData';\r\nimport { getId } from 'helpers/getId';\r\nimport { getContextUrl } from 'helpers/getContextUrl';\r\nimport { aspDotNetDomainSettingsRoute } from 'routes/aspDotNetDomainSettingsRoute';\r\nimport { bandwidthLimitingDomainRoute } from 'routes/bandwidthLimitingDomainRoute';\r\nimport { hotlinkProtectionDomainRoute } from 'routes/hotlinkProtectionDomainRoute';\r\nimport { odbcDomainRoute } from 'routes/odbcDomainRoute';\r\nimport { protectedDirectoriesRoute } from 'routes/protectedDirectoriesRoute';\r\nimport { virtualDirectoryRoute } from './virtualDirectoryRoute';\r\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\r\nimport apolloClient from '../apolloClient';\r\n\r\nimport DOMAIN_PAGE from 'queries/DomainPage.graphql';\r\n\r\nexport const domainRoute = {\r\n path: 'domains/:domainId',\r\n loader: async ({ params }) => {\r\n const id = btoa(`Domain:${params.domainId}`);\r\n\r\n const { data } = await apolloClient.query({\r\n query: DOMAIN_PAGE,\r\n variables: { id },\r\n });\r\n\r\n return data;\r\n },\r\n handle: {\r\n crumb: ({ data, matchesContext }) => {\r\n matchesContext.domainRouteData = data;\r\n\r\n const { domain } = data;\r\n let { baseDomain } = data;\r\n baseDomain = domain.baseDomain || domain;\r\n\r\n const { pageSidebar } = pageData();\r\n const { isPowerUserPanel, navigationContext } = pageSidebar;\r\n\r\n const domainId = getId(domain.id);\r\n const baseDomainId = getId(baseDomain.id);\r\n\r\n const crumbs = [\r\n {\r\n title: Locale.getSection('components.routes').lmsg('subscriptions'),\r\n href: '/admin/subscription/list',\r\n show: !isPowerUserPanel && navigationContext === 'subscriptions',\r\n },\r\n {\r\n title: `${baseDomain.name}`,\r\n href: `/admin/subscription/overview/id/${baseDomainId}`,\r\n show: !isPowerUserPanel && navigationContext === 'subscriptions',\r\n },\r\n {\r\n title: Locale.getSection('components.routes').lmsg('domains'),\r\n href: '/admin/domain/list',\r\n show: !isPowerUserPanel && navigationContext === 'domains',\r\n },\r\n {\r\n title: Locale.getSection('components.routes').lmsg('web'),\r\n href: getContextUrl(baseDomainId, '/smb/web/view'),\r\n show: isPowerUserPanel || navigationContext === 'subscriptions',\r\n },\r\n {\r\n title: domain.name,\r\n href: getContextUrl(baseDomainId, `/smb/web/overview/id/${domainId}/type/domain`),\r\n },\r\n ].filter(({ show = true }) => show);\r\n\r\n return crumbs;\r\n },\r\n },\r\n children: [\r\n aspDotNetDomainSettingsRoute,\r\n bandwidthLimitingDomainRoute,\r\n hotlinkProtectionDomainRoute,\r\n odbcDomainRoute,\r\n protectedDirectoriesRoute,\r\n virtualDirectoryRoute,\r\n trafficUsageByDomainRoute({ path: 'traffic-usage' }),\r\n ],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport pageData from '../helpers/pageData';\r\n\r\nexport const getContextUrl = (domainId, url) => {\r\n const { pageSidebar } = pageData();\r\n const returnUrl = encodeURIComponent(url);\r\n return pageSidebar?.isPowerUserPanel\r\n ? `/smb/account/switch/id/${domainId}?hideNotice=1&returnUrl=${returnUrl}`\r\n : `/admin/subscription/login/id/${domainId}?pageUrl=${returnUrl}`;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport ASP_DOT_NET_DOMAIN_SETTINGS_PAGE from 'queries/AspDotNetDomainSettingsPage.graphql';\r\n\r\nexport const aspDotNetDomainSettingsRoute = {\r\n path: 'asp-dot-net-settings',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/AspDotNetSettingsPage/AspDotNetDomainSettingsPage\" */'components/pages/AspDotNetSettingsPage/AspDotNetDomainSettingsPage'),\r\n loader: async ({ params }) => {\r\n const { data } = await apolloClient.query({\r\n query: ASP_DOT_NET_DOMAIN_SETTINGS_PAGE,\r\n variables: { id: btoa(`Domain:${params.domainId}`) },\r\n });\r\n\r\n if (!data.domain.webScriptingSettings?.aspDotNet || !data.domain.aspNetSettings?.configs.length) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n\r\n return data;\r\n },\r\n handle: {\r\n helpContext: 'aspdotnet',\r\n crumb: ({ matchesContext, params }) => {\r\n const { domain } = matchesContext.domainRouteData;\r\n const locale = Locale.getSection('components.routes');\r\n\r\n return [\r\n {\r\n title: locale.lmsg('aspDotNetDomainSettings', { domain: `${domain.name}` }),\r\n href: `/cp/domains/${params.domainId}/asp-dot-net-settings`,\r\n },\r\n ];\r\n },\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AspDotNetDomainSettings\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"webPath\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"owner\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspDotNet\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspNetSettings\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"webPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"webPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"versions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customErrMode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"culture\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"connStrings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"debugMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authMode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customErrors\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canDelete\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"values\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"redirectUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statusCode\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reqEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sessTimeout\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tempDirectory\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trustLevelAllowOverride\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uiCulture\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defLanguage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trustLevel\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":2389}};\n doc.loc.source = {\"body\":\"query AspDotNetDomainSettings($id: ID!, $webPath: String) {\\r\\n domain: node(id: $id) {\\r\\n id\\r\\n ...on Domain {\\r\\n owner {\\r\\n id\\r\\n login\\r\\n }\\r\\n webScriptingSettings {\\r\\n aspDotNet\\r\\n }\\r\\n aspNetSettings(webPath: $webPath) {\\r\\n versions\\r\\n configs {\\r\\n customErrMode {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n\\r\\n culture {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n connStrings {\\r\\n name\\r\\n value\\r\\n }\\r\\n version\\r\\n debugMode\\r\\n authMode {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n customErrors {\\r\\n canDelete\\r\\n values {\\r\\n redirectUrl\\r\\n statusCode\\r\\n }\\r\\n }\\r\\n\\r\\n fileEnc\\r\\n reqEnc\\r\\n resEnc\\r\\n sessTimeout\\r\\n tempDirectory\\r\\n trustLevelAllowOverride\\r\\n uiCulture {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n\\r\\n defLanguage {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n trustLevel {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AspDotNetDomainSettings\"] = oneQuery(doc, \"AspDotNetDomainSettings\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport BANDWIDTH_LIMITING_PAGE from 'queries/BandwidthLimitingPage.graphql';\r\n\r\nexport const bandwidthLimitingDomainRoute = {\r\n path: 'bandwidth-limiting',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/BandwidthLimitingPage\" */'components/pages/BandwidthLimitingPage'),\r\n loader: async ({ params }) => {\r\n const { data } = await apolloClient.query({\r\n query: BANDWIDTH_LIMITING_PAGE,\r\n variables: { id: btoa(`Domain:${params.domainId}`) },\r\n });\r\n return data;\r\n },\r\n handle: {\r\n helpContext: 'client.domain.hosting.performance',\r\n crumb: ({ matchesContext }) => {\r\n const { domain } = matchesContext.domainRouteData;\r\n\r\n const locale = Locale.getSection('components.routes');\r\n return { title: locale.lmsg('bandwidthLimiting', { domainName: `${domain.name}` }) };\r\n },\r\n key: ({ params }) => params.domainId,\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"BandwidthLimitingPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"performance\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficBandwidth\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxConnection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isQoSStarted\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":375}};\n doc.loc.source = {\"body\":\"query BandwidthLimitingPage($id: ID!) {\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n performance {\\r\\n trafficBandwidth\\r\\n maxConnection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n capability {\\r\\n packages {\\r\\n isQoSStarted\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"BandwidthLimitingPage\"] = oneQuery(doc, \"BandwidthLimitingPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport HOTLINK_PROTECTION_PAGE from 'queries/HotlinkProtectionPage.graphql';\r\n\r\nexport const hotlinkProtectionDomainRoute = {\r\n path: 'hotlink-protection',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/HotlinkProtectionPage\" */'components/pages/HotlinkProtectionPage'),\r\n loader: async ({ params }) => {\r\n const { data } = await apolloClient.query({\r\n query: HOTLINK_PROTECTION_PAGE,\r\n variables: { id: btoa(`Domain:${params.domainId}`) },\r\n });\r\n return data;\r\n },\r\n handle: {\r\n helpContext: 'client.domain.hosting.hotlink-protection',\r\n crumb: ({ matchesContext }) => {\r\n const { domain } = matchesContext.domainRouteData;\r\n\r\n const locale = Locale.getSection('components.routes');\r\n return { title: locale.lmsg('hotlinkProtection', { domainName: `${domain.name}` }) };\r\n },\r\n key: ({ params }) => params.domainId,\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HotlinkProtectionPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hotlinkProtection\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"extensions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"friends\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":318}};\n doc.loc.source = {\"body\":\"query HotlinkProtectionPage($id: ID!) {\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n hotlinkProtection {\\r\\n isEnabled\\r\\n extensions\\r\\n friends\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HotlinkProtectionPage\"] = oneQuery(doc, \"HotlinkProtectionPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport { odbcAddRoute } from 'routes/odbcAddRoute';\r\nimport { odbcEditRoute } from 'routes/odbcEditRoute';\r\nimport apolloClient from '../apolloClient';\r\n\r\nimport ODBC_DOMAIN_LIST from 'queries/OdbcDomainList.graphql';\r\nimport ODBC_DOMAIN_PAGE from 'queries/OdbcDomainPage.graphql';\r\n\r\nexport const odbcDomainRoute = {\r\n path: 'odbc',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/OdbcPage/OdbcDomainPage\" */\r\n 'components/pages/OdbcPage/OdbcDomainPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const input = readGraphQlListInputFromStorage({ key: `OdbcDomainPage${params.domainId}` });\r\n const id = btoa(`Domain:${params.domainId}`);\r\n\r\n await Promise.all([\r\n apolloClient.query({\r\n query: ODBC_DOMAIN_PAGE,\r\n variables: { id },\r\n }),\r\n apolloClient.query({\r\n query: ODBC_DOMAIN_LIST,\r\n variables: { id, input },\r\n }),\r\n ]);\r\n },\r\n handle: {\r\n helpContext: 'odbc_connection_config',\r\n crumb: ({ matchesContext }) => {\r\n if (!matchesContext.domainRouteData) {\r\n return null;\r\n }\r\n const { domain } = matchesContext.domainRouteData;\r\n\r\n const locale = Locale.getSection('components.routes');\r\n return {\r\n title: locale.lmsg('odbcDomain', { domainName: `${domain.name}` }),\r\n };\r\n },\r\n key: ({ params }) => params.domainId,\r\n },\r\n children: [\r\n odbcAddRoute,\r\n odbcEditRoute,\r\n ],\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDomainList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDsnConnectionListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"odbcDsnConnections\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcList\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":338}};\n doc.loc.source = {\"body\":\"#import \\\"./OdbcListFragment.graphql\\\"\\r\\n\\r\\nquery OdbcDomainList(\\r\\n $id: ID!\\r\\n $input: OdbcDsnConnectionListInput\\r\\n) {\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n odbcDsnConnections(\\r\\n input: $input\\r\\n ) {\\r\\n ...OdbcList\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./OdbcListFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcDomainList\"] = oneQuery(doc, \"OdbcDomainList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDomainPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainSubscriptionOdbcLimitFragment\"},\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":250}};\n doc.loc.source = {\"body\":\"#import \\\"queries/DomainSubscriptionOdbcLimitFragment.graphql\\\"\\r\\n\\r\\nquery OdbcDomainPage(\\r\\n $id: ID!\\r\\n) {\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n ...DomainSubscriptionOdbcLimitFragment\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/DomainSubscriptionOdbcLimitFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcDomainPage\"] = oneQuery(doc, \"OdbcDomainPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainSubscriptionOdbcLimitFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limits\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"odbc\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"used\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"remaining\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLimitAvailable\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":247}};\n doc.loc.source = {\"body\":\"fragment DomainSubscriptionOdbcLimitFragment on Domain {\\r\\n subscription {\\r\\n id\\r\\n limits {\\r\\n odbc {\\r\\n used\\r\\n remaining\\r\\n isLimitAvailable\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DomainSubscriptionOdbcLimitFragment\"] = oneQuery(doc, \"DomainSubscriptionOdbcLimitFragment\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport { protectedDirectoryListRoute } from 'routes/protectedDirectoryListRoute';\r\nimport { protectedDirectoryUserListRoute } from 'routes/protectedDirectoryUserListRoute';\r\n\r\nexport const protectedDirectoriesRoute = {\r\n path: 'protected-directories',\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('protectedDirectories'),\r\n }),\r\n returnUrl: ({ params }) => `/cp/domains/${params.domainId}/protected-directories`,\r\n },\r\n children: [\r\n protectedDirectoryListRoute,\r\n protectedDirectoryUserListRoute,\r\n ],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport { protectedDirectoryAddRoute } from 'routes/protectedDirectoryAddRoute';\r\nimport { protectedDirectoryEditRoute } from 'routes/protectedDirectoryEditRoute';\r\nimport apolloClient from '../apolloClient';\r\n\r\nimport PROTECTED_DIRECTORY_LIST from 'queries/ProtectedDirectoryList.graphql';\r\n\r\nexport const protectedDirectoryListRoute = {\r\n path: '',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/ProtectedDirectoryListPage\" */\r\n 'components/pages/ProtectedDirectoryListPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const { data: listData } = await apolloClient.query({\r\n query: PROTECTED_DIRECTORY_LIST,\r\n variables: {\r\n id: btoa(`Domain:${params.domainId}`),\r\n input: readGraphQlListInputFromStorage({ key: `ProtectedDirectoryListPage${params.domainId}` }),\r\n },\r\n });\r\n\r\n if (!listData.domain.hosting) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n handle: {\r\n helpContext: 'client.domain.hosting.protected-directories',\r\n pageTitle: ({ matchesContext }) => {\r\n if (!matchesContext.domainRouteData) {\r\n return null;\r\n }\r\n const { domain } = matchesContext.domainRouteData;\r\n\r\n const locale = Locale.getSection('components.routes');\r\n return locale.lmsg('protectedDirectoryList', { domainName: `${domain.name}` });\r\n },\r\n key: ({ params }) => params.domainId,\r\n },\r\n children: [\r\n protectedDirectoryAddRoute,\r\n protectedDirectoryEditRoute,\r\n ],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport PROTECTED_DIRECTORY_ADD_PAGE from 'queries/ProtectedDirectoryAddPage.graphql';\r\n\r\nexport const protectedDirectoryAddRoute = {\r\n path: 'add',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/ProtectedDirectoryAddPage\" */\r\n 'components/pages/ProtectedDirectoryAddPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const { domainId } = params;\r\n const { data: { domain: { hosting } } } = await apolloClient.query({\r\n query: PROTECTED_DIRECTORY_ADD_PAGE,\r\n variables: { domainId: btoa(`Domain:${domainId}`) },\r\n });\r\n\r\n return {\r\n domainId,\r\n isProtectedDirectoryLocationSupported: hosting?.isProtectedDirectoryLocationSupported || false,\r\n };\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryAddPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isProtectedDirectoryLocationSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":241}};\n doc.loc.source = {\"body\":\"query ProtectedDirectoryAddPage($domainId: ID!) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n isProtectedDirectoryLocationSupported\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryAddPage\"] = oneQuery(doc, \"ProtectedDirectoryAddPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport PROTECTED_DIRECTORY_EDIT_PAGE from 'queries/ProtectedDirectoryEditPage.graphql';\r\n\r\nexport const protectedDirectoryEditRoute = {\r\n path: ':protectedDirectoryId/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/ProtectedDirectoryEditPage\" */\r\n 'components/pages/ProtectedDirectoryEditPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const { domainId, protectedDirectoryId } = params;\r\n const { data: { domain: { hosting }, protectedDirectory } } = await apolloClient.query({\r\n query: PROTECTED_DIRECTORY_EDIT_PAGE,\r\n variables: {\r\n id: btoa(`ProtectedDirectory:${protectedDirectoryId}`),\r\n domainId: btoa(`Domain:${domainId}`),\r\n },\r\n });\r\n\r\n return {\r\n domainId,\r\n protectedDirectoryId,\r\n protectedDirectory,\r\n isProtectedDirectoryLocationSupported: hosting?.isProtectedDirectoryLocationSupported || false,\r\n };\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryEditPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryEditFragment\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isProtectedDirectoryLocationSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":403}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ProtectedDirectoryEditFragment.graphql\\\"\\r\\n\\r\\nquery ProtectedDirectoryEditPage($domainId: ID!, $id: ID!) {\\r\\n protectedDirectory: node(id: $id) {\\r\\n ...ProtectedDirectoryEditFragment\\r\\n }\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n isProtectedDirectoryLocationSupported\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ProtectedDirectoryEditFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryEditPage\"] = oneQuery(doc, \"ProtectedDirectoryEditPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryEditFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectory\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"realm\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isNonSsl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isCgiBin\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":125}};\n doc.loc.source = {\"body\":\"fragment ProtectedDirectoryEditFragment on ProtectedDirectory {\\r\\n id\\r\\n path\\r\\n realm\\r\\n isNonSsl\\r\\n isCgiBin\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryEditFragment\"] = oneQuery(doc, \"ProtectedDirectoryEditFragment\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protectedDirectories\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"realm\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":759}};\n doc.loc.source = {\"body\":\"query ProtectedDirectoryList(\\r\\n $id: ID!\\r\\n $input: ProtectedDirectoryListInput\\r\\n) {\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n protectedDirectories(\\r\\n input: $input\\r\\n ) {\\r\\n nodes {\\r\\n id\\r\\n path\\r\\n realm\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryList\"] = oneQuery(doc, \"ProtectedDirectoryList\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport apolloClient from 'apolloClient';\r\nimport { protectedDirectoryUserAddRoute } from 'routes/protectedDirectoryUserAddRoute';\r\nimport { protectedDirectoryUserPasswordRoute } from 'routes/protectedDirectoryUserPasswordRoute';\r\n\r\nimport PROTECTED_DIRECTORY_USER_LIST from 'queries/ProtectedDirectoryUserList.graphql';\r\nimport PROTECTED_DIRECTORY_PATH from 'queries/ProtectedDirectoryPath.graphql';\r\n\r\nexport const protectedDirectoryUserListRoute = {\r\n path: ':directoryId/users',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/ProtectedDirectoryUserListPage\" */\r\n 'components/pages/ProtectedDirectoryUserListPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const id = btoa(`ProtectedDirectory:${params.directoryId}`);\r\n\r\n const [{ data: directoryData }] = await Promise.all([\r\n apolloClient.query({\r\n query: PROTECTED_DIRECTORY_PATH,\r\n variables: { id },\r\n }),\r\n apolloClient.query({\r\n query: PROTECTED_DIRECTORY_USER_LIST,\r\n variables: {\r\n id,\r\n input: readGraphQlListInputFromStorage({ key: `ProtectedDirectoryUserListPage${params.directoryId}` }),\r\n },\r\n }),\r\n ]);\r\n\r\n return directoryData;\r\n },\r\n handle: {\r\n helpContext: 'client.domain.hosting.protected-directories',\r\n crumb: ({ data }) => {\r\n const { protectedDirectory } = data;\r\n\r\n const locale = Locale.getSection('components.routes');\r\n const title = locale.lmsg('protectedDirectoryUserList', { directory: `/${protectedDirectory.path}` });\r\n\r\n return [{ title }];\r\n },\r\n },\r\n children: [\r\n protectedDirectoryUserAddRoute,\r\n protectedDirectoryUserPasswordRoute,\r\n ],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport PROTECTED_DIRECTORY_PATH from 'queries/ProtectedDirectoryPath.graphql';\r\n\r\nexport const protectedDirectoryUserAddRoute = {\r\n path: 'add',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/ProtectedDirectoryUserAddPage\" */\r\n 'components/pages/ProtectedDirectoryUserAddPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const { data } = await apolloClient.query({\r\n query: PROTECTED_DIRECTORY_PATH,\r\n variables: { id: btoa(`ProtectedDirectory:${params.directoryId}`) },\r\n });\r\n\r\n return data;\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryPath\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectory\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":175}};\n doc.loc.source = {\"body\":\"query ProtectedDirectoryPath($id: ID!) {\\r\\n protectedDirectory: node(id: $id) {\\r\\n ... on ProtectedDirectory {\\r\\n id\\r\\n path\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryPath\"] = oneQuery(doc, \"ProtectedDirectoryPath\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { gql } from '@apollo/client';\r\nimport apolloClient from 'apolloClient';\r\n\r\nexport const protectedDirectoryUserPasswordRoute = {\r\n path: ':userId/password',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/ProtectedDirectoryUserPasswordPage\" */\r\n 'components/pages/ProtectedDirectoryUserPasswordPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const { data } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n protectedDirectoryUser: node(id: $id) {\r\n ... on ProtectedDirectoryUser { id login }\r\n }\r\n }\r\n `,\r\n variables: { id: btoa(`ProtectedDirectoryUser:${params.userId}`) },\r\n });\r\n\r\n return data;\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectory\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"users\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListFragment\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":385}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ProtectedDirectoryUserListFragment.graphql\\\"\\r\\n\\r\\nquery ProtectedDirectoryUserList(\\r\\n $id: ID!,\\r\\n $input: ProtectedDirectoryUserListInput\\r\\n) {\\r\\n protectedDirectory: node(id: $id) {\\r\\n ... on ProtectedDirectory {\\r\\n id\\r\\n users(input: $input) {\\r\\n ...ProtectedDirectoryUserListFragment\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ProtectedDirectoryUserListFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryUserList\"] = oneQuery(doc, \"ProtectedDirectoryUserList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserList\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":267}};\n doc.loc.source = {\"body\":\"fragment ProtectedDirectoryUserListFragment on ProtectedDirectoryUserList {\\r\\n nodes {\\r\\n id\\r\\n login\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryUserListFragment\"] = oneQuery(doc, \"ProtectedDirectoryUserListFragment\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\nimport { redirect } from 'react-router-dom';\r\nimport apolloClient from 'apolloClient';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport { Locale } from 'jsw';\r\nimport { getId } from 'helpers/getId';\r\nimport VirtualDirectorySidebar from 'components/sidebars/VirtualDirectorySidebar';\r\nimport { protectedDirectoryUserAddRoute } from 'routes/protectedDirectoryUserAddRoute';\r\nimport { protectedDirectoryUserPasswordRoute } from 'routes/protectedDirectoryUserPasswordRoute';\r\nimport { protectedDirectoryEditRoute } from 'routes/protectedDirectoryEditRoute';\r\n\r\nimport CREATE_VIRTUAL_DIRECTORY_PAGE from 'queries/CreateVirtualDirectoryPage.graphql';\r\nimport EDIT_VIRTUAL_DIRECTORY_PAGE from 'queries/EditVirtualDirectoryPage.graphql';\r\nimport VIRTUAL_DIRECTORY_PAGE from 'queries/VirtualDirectoryPage.graphql';\r\nimport VIRTUAL_DIRECTORY_BROWSE_PAGE from 'queries/VirtualDirectoryBrowsePage.graphql';\r\nimport VIRTUAL_DIRECTORY_PROTECTION_PAGE from 'queries/VirtualDirectoryProtectionPage.graphql';\r\nimport VIRTUAL_DIRECTORY_PROTECTION_USER_LIST from 'queries/VirtualDirectoryProtectionUserList.graphql';\r\nimport VIRTUAL_DIRECTORY_MIME_TYPE_LIST from 'queries/VirtualDirectoryMimeTypeList.graphql';\r\nimport VIRTUAL_DIRECTORY_ERROR_DOC_LIST from 'queries/VirtualDirectoryErrorDocList.graphql';\r\nimport VIRTUAL_DIRECTORY_CONTENT_LIST from 'queries/VirtualDirectoryContentList.graphql';\r\nimport ASP_DOT_NET_DOMAIN_SETTINGS_PAGE from 'queries/AspDotNetDomainSettingsPage.graphql';\r\nimport VIRTUAL_DIRECTORY_PHP_PAGE from 'queries/VirtualDirectoryPhpPage.graphql';\r\nimport IIS_MANAGER_MIME_CONTENT_TYPES from 'queries/IisManagerMimeContentTypes.graphql';\r\nimport VIRTUAL_DIRECTORY_EDIT_MIME_TYPE_PAGE from 'queries/VirtualDirectoryEditMimeTypePage.graphql';\r\nimport VIRTUAL_DIRECTORY_EDIT_ERROR_DOC_PAGE from 'queries/VirtualDirectoryEditErrorDocPage.graphql';\r\n\r\nconst virtualDirectorySettingRoutes = [\r\n {\r\n path: ':directoryName?/edit-virtual-directory',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/EditVirtualDirectoryPage\" */\r\n 'components/pages/VirtualDirectoryPage/EditVirtualDirectoryPage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId, directoryName } }) => {\r\n const domainNodeId = btoa(`Domain:${domainId}`);\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n const editablePath = directoryName ? `${path.replace(/\\/$/, '')}/${directoryName}` : path;\r\n\r\n const { data: pageData } = await apolloClient.query({\r\n query: EDIT_VIRTUAL_DIRECTORY_PAGE,\r\n variables: { domainNodeId, path: editablePath },\r\n fetchPolicy: 'network-only',\r\n });\r\n\r\n return {\r\n path: editablePath,\r\n isCurrentDirectory: !directoryName,\r\n subscriptionId: getId(pageData.domain.baseDomain?.id ?? pageData.domain.id),\r\n isAspEnabled: pageData.domain.webScriptingSettings.asp,\r\n virtualDirectory: pageData.domain.hosting.virtualDirectory,\r\n };\r\n },\r\n },\r\n {\r\n path: 'asp-dot-net',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/AspDotNetSettingsPage\" */\r\n 'components/pages/VirtualDirectoryPage/AspDotNetSettingsPage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n const { data } = await apolloClient.query({\r\n query: ASP_DOT_NET_DOMAIN_SETTINGS_PAGE,\r\n variables: { id: btoa(`Domain:${domainId}`), webPath: path },\r\n });\r\n\r\n if (!data.domain.webScriptingSettings?.aspDotNet || !data.domain.aspNetSettings?.configs.length) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n },\r\n {\r\n path: 'permissions',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/PermissionsPage\" */\r\n 'components/pages/VirtualDirectoryPage/PermissionsPage'\r\n ),\r\n },\r\n {\r\n path: 'php',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/PhpVersionPage\" */\r\n 'components/pages/VirtualDirectoryPage/PhpVersionPage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n const { data } = await apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_PHP_PAGE,\r\n variables: { domainId: btoa(`Domain:${domainId}`), path },\r\n });\r\n\r\n if (!data.domain.subscription.permissions.managePhpVersion ||\r\n !data.domain.hosting?.virtualDirectory?.isVirtual\r\n ) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n },\r\n];\r\n\r\nexport const virtualDirectoryRoute = {\r\n path: 'virtual-directory',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage\" */\r\n 'components/pages/VirtualDirectoryPage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const id = btoa(`Domain:${domainId}`);\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n const { data } = await apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_PAGE,\r\n variables: { domainId: id, path },\r\n });\r\n\r\n if (!data.domain.hosting) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n handle: {\r\n helpContext: 'client.domain.hosting.web-directories',\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('virtualDirectories'),\r\n }),\r\n pageTitle: ({ matchesContext, location: { search } }) => {\r\n if (!matchesContext.domainRouteData) {\r\n return null;\r\n }\r\n const { domain } = matchesContext.domainRouteData;\r\n const path = new URLSearchParams(search).get('path') || '/';\r\n const locale = Locale.getSection('components.routes');\r\n return locale.lmsg('virtualDirectoryDomain', { path, domainName: `${domain.name}` });\r\n },\r\n key: ({ params }) => {\r\n const path = new URL(window.location.toString()).searchParams.get('path') || '/';\r\n return `${params.domainId}${path}`;\r\n },\r\n secondary: ({ location: { search }, params: { domainId } }) => (\r\n \r\n ),\r\n },\r\n children: [\r\n {\r\n index: true,\r\n loader: ({ request }) => {\r\n const url = new URL(request.url);\r\n url.pathname = `${url.pathname}/browse`;\r\n return redirect(url.toString());\r\n },\r\n },\r\n {\r\n path: 'browse',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/Browse\" */\r\n 'components/pages/VirtualDirectoryPage/Browse'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const id = btoa(`Domain:${domainId}`);\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n await Promise.all([\r\n apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_BROWSE_PAGE,\r\n variables: { domainId: id, path },\r\n }),\r\n apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_CONTENT_LIST,\r\n variables: {\r\n domainId: id,\r\n path,\r\n input: readGraphQlListInputFromStorage({ key: `VirtualDirectoryPage${domainId}` }),\r\n },\r\n }),\r\n ]);\r\n },\r\n children: [\r\n ...virtualDirectorySettingRoutes,\r\n {\r\n path: 'create-directory',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/CreateDirectoryPage\" */\r\n 'components/pages/VirtualDirectoryPage/CreateDirectoryPage'\r\n ),\r\n },\r\n {\r\n path: 'create-virtual-directory',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/CreateVirtualDirectoryPage\" */\r\n 'components/pages/VirtualDirectoryPage/CreateVirtualDirectoryPage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const domainNodeId = btoa(`Domain:${domainId}`);\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n const { data: pageData } = await apolloClient.query({\r\n query: CREATE_VIRTUAL_DIRECTORY_PAGE,\r\n variables: { domainId: domainNodeId, parentPath: path },\r\n fetchPolicy: 'network-only',\r\n });\r\n\r\n return {\r\n subscriptionId: getId(pageData.domain.baseDomain?.id ?? pageData.domain.id),\r\n isAspEnabled: pageData.domain.webScriptingSettings.asp,\r\n parentDirectory: pageData.domain.hosting.parentDirectory,\r\n };\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: 'protection',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/Protection\" */\r\n 'components/pages/VirtualDirectoryPage/Protection'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const id = btoa(`Domain:${domainId}`);\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n const userListKey = `VirtualDirectoryProtectionUserListPage${domainId}${path}`;\r\n\r\n await Promise.all([\r\n apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_PROTECTION_PAGE,\r\n variables: { domainId: id, path },\r\n }),\r\n apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_PROTECTION_USER_LIST,\r\n variables: {\r\n domainId: id,\r\n path,\r\n input: readGraphQlListInputFromStorage({ key: userListKey }),\r\n },\r\n }),\r\n ]);\r\n\r\n return { userListKey };\r\n },\r\n children: [\r\n ...virtualDirectorySettingRoutes,\r\n {\r\n ...protectedDirectoryEditRoute,\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/ProtectionSettingsPage\" */\r\n 'components/pages/VirtualDirectoryPage/ProtectionSettingsPage'\r\n ),\r\n },\r\n {\r\n ...protectedDirectoryUserAddRoute,\r\n path: ':directoryId/add-user',\r\n },\r\n protectedDirectoryUserPasswordRoute,\r\n ],\r\n },\r\n {\r\n path: 'mime-types',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/MimeTypeList\" */\r\n 'components/pages/VirtualDirectoryPage/MimeTypeList'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const id = btoa(`Domain:${domainId}`);\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n const mimeTypeListKey = `VirtualDirectoryMimeTypeList${domainId}${path}`;\r\n\r\n await apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_MIME_TYPE_LIST,\r\n variables: {\r\n domainId: id,\r\n path,\r\n input: readGraphQlListInputFromStorage({ key: mimeTypeListKey }),\r\n },\r\n });\r\n\r\n return { mimeTypeListKey };\r\n },\r\n children: [\r\n ...virtualDirectorySettingRoutes,\r\n {\r\n path: 'create',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/CreateMimeTypePage\" */\r\n 'components/pages/VirtualDirectoryPage/CreateMimeTypePage'\r\n ),\r\n loader: async () => {\r\n await apolloClient.query({ query: IIS_MANAGER_MIME_CONTENT_TYPES });\r\n },\r\n },\r\n {\r\n path: ':extension/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/EditMimeTypePage\" */\r\n 'components/pages/VirtualDirectoryPage/EditMimeTypePage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId, extension } }) => {\r\n const [{ data: editPageData }] = await Promise.all([\r\n apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_EDIT_MIME_TYPE_PAGE,\r\n variables: {\r\n domainId: btoa(`Domain:${domainId}`),\r\n path: new URL(url).searchParams.get('path') || '/',\r\n extension,\r\n },\r\n }),\r\n apolloClient.query({ query: IIS_MANAGER_MIME_CONTENT_TYPES }),\r\n ]);\r\n\r\n return {\r\n mimeType: editPageData.domain.hosting.virtualDirectory.mimeType,\r\n };\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: 'error-docs',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/ErrorDocList\" */\r\n 'components/pages/VirtualDirectoryPage/ErrorDocList'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n const errorDocListKey = `VirtualDirectoryErrorDocList${domainId}${path}`;\r\n\r\n await apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_ERROR_DOC_LIST,\r\n variables: {\r\n domainId: btoa(`Domain:${domainId}`),\r\n path,\r\n input: readGraphQlListInputFromStorage({ key: errorDocListKey }),\r\n },\r\n });\r\n\r\n return { errorDocListKey };\r\n },\r\n children: [\r\n ...virtualDirectorySettingRoutes,\r\n {\r\n path: ':code/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/EditErrorDocPage\" */\r\n 'components/pages/VirtualDirectoryPage/EditErrorDocPage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId, code } }) => {\r\n const { data: editPageData } = await apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_EDIT_ERROR_DOC_PAGE,\r\n variables: {\r\n domainId: btoa(`Domain:${domainId}`),\r\n path: new URL(url).searchParams.get('path') || '/',\r\n code,\r\n },\r\n });\r\n\r\n return {\r\n errorDoc: editPageData.domain.hosting.virtualDirectory.errorDoc,\r\n };\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { ItemList, Item, Icon } from '@plesk/ui-library';\r\nimport SidePanel from './SidePanel';\r\nimport Link from 'components/common/Link';\r\nimport { buildUrl } from 'helpers/buildUrl';\r\nimport { Locale } from 'jsw';\r\n\r\nimport VIRTUAL_DIRECTORY_PAGE from 'queries/VirtualDirectoryPage.graphql';\r\nimport { useQuery } from '@apollo/client';\r\n\r\nconst Translate = Locale.getTranslate('components.pages.VirtualDirectory');\r\n\r\nconst VirtualDirectorySidebar = ({ path, domainId }) => {\r\n const location = useLocation();\r\n const { data: {\r\n domain: {\r\n webScriptingSettings: { aspDotNet, php },\r\n hosting: { virtualDirectory: { isVirtual, canManagePermissions } },\r\n subscription: { permissions: { managePhpVersion } },\r\n },\r\n capability: { packages: { isASPdotNetInstalled, isPhpInstalled } },\r\n } } = useQuery(\r\n VIRTUAL_DIRECTORY_PAGE,\r\n { variables: { domainId: btoa(`Domain:${domainId}`), path } },\r\n );\r\n\r\n const urlPrefix = location.pathname;\r\n\r\n const buttonProperties = isVirtual;\r\n const buttonPermissions = canManagePermissions;\r\n const buttonAspDotNet = aspDotNet && isASPdotNetInstalled;\r\n const buttonPhp = isVirtual && isPhpInstalled && php && managePhpVersion;\r\n\r\n const showPanel = buttonProperties || buttonPermissions || buttonAspDotNet || buttonPhp;\r\n\r\n if (!showPanel) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {buttonProperties && (\r\n }\r\n component={Link}\r\n to={buildUrl(`${urlPrefix}/edit-virtual-directory`, { path })}\r\n preventScrollReset\r\n tooltip={}\r\n >\r\n \r\n \r\n )}\r\n {buttonPermissions && (\r\n }\r\n component={Link}\r\n to={buildUrl(`${urlPrefix}/permissions`, { path })}\r\n preventScrollReset\r\n tooltip={}\r\n >\r\n \r\n \r\n )}\r\n {buttonAspDotNet && (\r\n }\r\n component={Link}\r\n to={buildUrl(`${urlPrefix}/asp-dot-net`, { path })}\r\n preventScrollReset\r\n tooltip={}\r\n >\r\n \r\n \r\n )}\r\n {buttonPhp && (\r\n }\r\n component={Link}\r\n to={buildUrl(`${urlPrefix}/php`, { path })}\r\n preventScrollReset\r\n tooltip={}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nVirtualDirectorySidebar.propTypes = {\r\n path: PropTypes.string.isRequired,\r\n domainId: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default VirtualDirectorySidebar;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { useLocalStorage } from 'common/hooks';\r\nimport { Panel, Heading } from '@plesk/ui-library';\r\n\r\nconst SidePanel = ({\r\n baseClassName = 'side-panel',\r\n className = undefined,\r\n id = undefined,\r\n title = undefined,\r\n children,\r\n ...props\r\n}) => {\r\n const [isHidden, setHidden] = useLocalStorage(`${id}-hidden`);\r\n\r\n return (\r\n {title} : null}\r\n collapsible={!!id}\r\n collapsed={title ? isHidden === 'true' : false}\r\n onToggle={() => setHidden(isHidden === 'true' ? 'false' : 'true')}\r\n {...props}\r\n >\r\n {children}\r\n \r\n );\r\n};\r\n\r\nSidePanel.propTypes = {\r\n id: PropTypes.string,\r\n title: PropTypes.any,\r\n children: PropTypes.any.isRequired,\r\n className: PropTypes.string,\r\n baseClassName: PropTypes.string,\r\n};\r\n\r\nexport default SidePanel;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const buildUrl = (url, params = {}) => {\r\n const searchParams = new URLSearchParams();\r\n Object.entries(params)\r\n .filter(([, value]) => value !== null)\r\n .forEach(([key, value]) => searchParams.append(key, `${value}`));\r\n const searchString = searchParams.toString();\r\n return `${url}${searchString ? `?${searchString}` : ''}`;\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspDotNet\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"php\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDocs\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dirName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtual\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"doesExist\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isReadable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManagePermissions\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"managePhpVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageProtectedDirectories\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isASPdotNetInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPhpInstalled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":939}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryPage(\\r\\n $domainId: ID!,\\r\\n $path: String!\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n name\\r\\n webScriptingSettings {\\r\\n aspDotNet\\r\\n php\\r\\n errorDocs\\r\\n }\\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n baseName\\r\\n dirName\\r\\n isVirtual\\r\\n doesExist\\r\\n isReadable\\r\\n canManagePermissions\\r\\n }\\r\\n }\\r\\n subscription {\\r\\n permissions {\\r\\n managePhpVersion\\r\\n manageProtectedDirectories\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n capability {\\r\\n packages {\\r\\n isASPdotNetInstalled\\r\\n isPhpInstalled\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryPage\"] = oneQuery(doc, \"VirtualDirectoryPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateVirtualDirectoryPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"parentPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"asp\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"parentDirectory\"},\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"parentPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryParentContentFragment\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspBufferingLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspMaxRequestEntityAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableServerDebug\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableClientDebug\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":821}};\n doc.loc.source = {\"body\":\"#import \\\"queries/VirtualDirectoryParentContentFragment.graphql\\\"\\r\\n\\r\\nquery CreateVirtualDirectoryPage(\\r\\n $domainId: ID!,\\r\\n $parentPath: String!,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n baseDomain {\\r\\n id\\r\\n }\\r\\n webScriptingSettings {\\r\\n asp\\r\\n }\\r\\n hosting {\\r\\n parentDirectory: virtualDirectory (path: $parentPath) {\\r\\n ...VirtualDirectoryParentContentFragment\\r\\n properties {\\r\\n aspBufferingLimit\\r\\n aspMaxRequestEntityAllowed\\r\\n aspEnableServerDebug\\r\\n aspEnableClientDebug\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/VirtualDirectoryParentContentFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CreateVirtualDirectoryPage\"] = oneQuery(doc, \"CreateVirtualDirectoryPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryParentContentFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectory\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":168}};\n doc.loc.source = {\"body\":\"fragment VirtualDirectoryParentContentFragment on VirtualDirectory {\\r\\n key\\r\\n content {\\r\\n nodes {\\r\\n name\\r\\n type\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryParentContentFragment\"] = oneQuery(doc, \"VirtualDirectoryParentContentFragment\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"EditVirtualDirectoryPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainNodeId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainNodeId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"asp\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parent\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryParentContentFragment\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRoot\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEditable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessSource\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessRead\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessWrite\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enableDirBrowsing\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dontLog\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"appCreate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"scriptExecute\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableParentPaths\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspExecuteInMTA\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authAnonymous\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authNTLM\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"requireSSL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspBufferingLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspBufferingLimitInherited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspBufferingLimitDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspMaxRequestEntityAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspMaxRequestEntityAllowedInherited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspMaxRequestEntityAllowedDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableServerDebug\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableServerDebugInherited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableServerDebugDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableClientDebug\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableClientDebugInherited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableClientDebugDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enableDefaultDoc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultDocs\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":2011}};\n doc.loc.source = {\"body\":\"#import \\\"queries/VirtualDirectoryParentContentFragment.graphql\\\"\\r\\n\\r\\nquery EditVirtualDirectoryPage(\\r\\n $domainNodeId: ID!,\\r\\n $path: String!,\\r\\n) {\\r\\n domain: node(id: $domainNodeId) {\\r\\n ... on Domain {\\r\\n id\\r\\n baseDomain {\\r\\n id\\r\\n }\\r\\n webScriptingSettings {\\r\\n asp\\r\\n }\\r\\n hosting {\\r\\n virtualDirectory (path: $path) {\\r\\n key\\r\\n parent {\\r\\n key\\r\\n ...VirtualDirectoryParentContentFragment\\r\\n }\\r\\n properties {\\r\\n isRoot\\r\\n isEditable\\r\\n name\\r\\n path\\r\\n accessSource\\r\\n accessRead\\r\\n accessWrite\\r\\n enableDirBrowsing\\r\\n dontLog\\r\\n appCreate\\r\\n scriptExecute\\r\\n aspEnableParentPaths\\r\\n aspExecuteInMTA\\r\\n authAnonymous\\r\\n authNTLM\\r\\n requireSSL\\r\\n aspBufferingLimit\\r\\n aspBufferingLimitInherited\\r\\n aspBufferingLimitDefault\\r\\n aspMaxRequestEntityAllowed\\r\\n aspMaxRequestEntityAllowedInherited\\r\\n aspMaxRequestEntityAllowedDefault\\r\\n aspEnableServerDebug\\r\\n aspEnableServerDebugInherited\\r\\n aspEnableServerDebugDefault\\r\\n aspEnableClientDebug\\r\\n aspEnableClientDebugInherited\\r\\n aspEnableClientDebugDefault\\r\\n enableDefaultDoc\\r\\n defaultDocs\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/VirtualDirectoryParentContentFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"EditVirtualDirectoryPage\"] = oneQuery(doc, \"EditVirtualDirectoryPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryBrowsePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"doesExist\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtual\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWritable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAccessible\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageProtectedDirectories\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":596}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryBrowsePage(\\r\\n $domainId: ID!,\\r\\n $path: String!\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n name\\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n doesExist\\r\\n isVirtual\\r\\n isWritable\\r\\n isAccessible\\r\\n }\\r\\n }\\r\\n subscription {\\r\\n permissions {\\r\\n manageProtectedDirectories\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryBrowsePage\"] = oneQuery(doc, \"VirtualDirectoryBrowsePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryProtectionPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webDirName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isValidForProtection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":510}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryProtectionPage(\\r\\n $domainId: ID!,\\r\\n $path: String!\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n webDirName\\r\\n protectedDirectory {\\r\\n id\\r\\n path\\r\\n }\\r\\n isValidForProtection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryProtectionPage\"] = oneQuery(doc, \"VirtualDirectoryProtectionPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryProtectionUserList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"users\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListFragment\"},\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":665}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ProtectedDirectoryUserListFragment.graphql\\\"\\r\\n\\r\\nquery VirtualDirectoryProtectionUserList(\\r\\n $domainId: ID!,\\r\\n $path: String!,\\r\\n $input: ProtectedDirectoryUserListInput,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id \\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n protectedDirectory {\\r\\n id\\r\\n users(input: $input) {\\r\\n ...ProtectedDirectoryUserListFragment\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ProtectedDirectoryUserListFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryProtectionUserList\"] = oneQuery(doc, \"VirtualDirectoryProtectionUserList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryMimeTypeList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryMimeTypeListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mimeTypes\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":889}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryMimeTypeList(\\r\\n $domainId: ID!,\\r\\n $path: String!,\\r\\n $input: VirtualDirectoryMimeTypeListInput,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id \\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n mimeTypes(input: $input) {\\r\\n nodes {\\r\\n extension\\r\\n content\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryMimeTypeList\"] = oneQuery(doc, \"VirtualDirectoryMimeTypeList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryErrorDocList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryErrorDocListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDocs\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"location\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":953}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryErrorDocList(\\r\\n $domainId: ID!,\\r\\n $path: String!,\\r\\n $input: VirtualDirectoryErrorDocListInput,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id \\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n errorDocs(input: $input) {\\r\\n nodes {\\r\\n code\\r\\n name\\r\\n type\\r\\n location\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryErrorDocList\"] = oneQuery(doc, \"VirtualDirectoryErrorDocList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryContentList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryContentListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isProtected\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isReserved\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManagePermissions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"doesExist\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dirName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1157}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryContentList(\\r\\n $domainId: ID!,\\r\\n $path: String!,\\r\\n $input: VirtualDirectoryContentListInput\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n content(input: $input) {\\r\\n nodes {\\r\\n name\\r\\n type\\r\\n fileType\\r\\n isProtected\\r\\n isReserved\\r\\n canManagePermissions\\r\\n doesExist\\r\\n baseName\\r\\n dirName\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryContentList\"] = oneQuery(doc, \"VirtualDirectoryContentList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryPhpPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtual\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phpVersion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullVersion\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availablePhpVersions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullVersion\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"managePhpVersion\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":732}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryPhpPage(\\r\\n $domainId: ID!,\\r\\n $path: String!\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n isVirtual\\r\\n phpVersion {\\r\\n version\\r\\n fullVersion\\r\\n }\\r\\n availablePhpVersions {\\r\\n version\\r\\n fullVersion\\r\\n }\\r\\n }\\r\\n }\\r\\n subscription {\\r\\n permissions {\\r\\n managePhpVersion\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryPhpPage\"] = oneQuery(doc, \"VirtualDirectoryPhpPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"IisManagerMimeContentTypes\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"iisManager\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mimeContentTypes\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":90}};\n doc.loc.source = {\"body\":\"query IisManagerMimeContentTypes {\\r\\n iisManager {\\r\\n mimeContentTypes\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IisManagerMimeContentTypes\"] = oneQuery(doc, \"IisManagerMimeContentTypes\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryEditMimeTypePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mimeType\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":488}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryEditMimeTypePage(\\r\\n $domainId: ID!,\\r\\n $path: String!,\\r\\n $extension: String!,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n mimeType(extension: $extension) {\\r\\n extension\\r\\n content\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryEditMimeTypePage\"] = oneQuery(doc, \"VirtualDirectoryEditMimeTypePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryEditErrorDocPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDoc\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"location\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":531}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryEditErrorDocPage(\\r\\n $domainId: ID!,\\r\\n $path: String!,\\r\\n $code: String!,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id \\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n errorDoc(code: $code) {\\r\\n code\\r\\n name\\r\\n type\\r\\n location\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryEditErrorDocPage\"] = oneQuery(doc, \"VirtualDirectoryEditErrorDocPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\nimport TRAFFIC_USAGE_BY_DOMAIN_PAGE from 'queries/TrafficUsageByDomainPage.graphql';\r\nimport DOMAIN_TRAFFIC_USAGE from 'queries/DomainTrafficUsage.graphql';\r\n\r\nexport const trafficUsageByDomainRoute = ({ path }) => ({\r\n path,\r\n handle: {\r\n crumb: ({ data }) => ({\r\n title: Locale.getSection('components.routes').lmsg(\r\n 'trafficUsageByDomain',\r\n { domainName: `${data.domain.name}` },\r\n ),\r\n }),\r\n },\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/TrafficUsageByDomainPage\" */\r\n 'components/pages/TrafficUsageByDomainPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const [{ data: pageData }] = await Promise.all([\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_BY_DOMAIN_PAGE,\r\n variables: { domainId: btoa(`Domain:${params.domainId}`) },\r\n }),\r\n apolloClient.query({\r\n query: DOMAIN_TRAFFIC_USAGE,\r\n variables: { domainId: btoa(`Domain:${params.domainId}`) },\r\n }),\r\n ]);\r\n\r\n return {\r\n domain: pageData.domain,\r\n intervals: pageData.domain.statistics.trafficUsageIntervals,\r\n };\r\n },\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByDomainPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageIntervals\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedTotalUsage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":397}};\n doc.loc.source = {\"body\":\"query TrafficUsageByDomainPage($domainId: ID!) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n name(idn: false)\\r\\n statistics {\\r\\n trafficUsageIntervals {\\r\\n key\\r\\n month\\r\\n year\\r\\n formattedTotalUsage\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByDomainPage\"] = oneQuery(doc, \"TrafficUsageByDomainPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainTrafficUsage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsage\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitUsagePercent\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usageByServices\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serviceName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"incoming\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"incomingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoing\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"percentOfAll\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limits\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"traffic\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnlimited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedValue\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":957}};\n doc.loc.source = {\"body\":\"query DomainTrafficUsage(\\r\\n $domainId: ID!,\\r\\n $intervalKey: String,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n statistics {\\r\\n trafficUsage(intervalKey: $intervalKey) {\\r\\n totalUsageFormatted\\r\\n limitUsagePercent\\r\\n usageByServices {\\r\\n serviceName\\r\\n usage\\r\\n usageFormatted\\r\\n incoming\\r\\n incomingFormatted\\r\\n outgoing\\r\\n outgoingFormatted\\r\\n percentOfAll\\r\\n }\\r\\n }\\r\\n }\\r\\n subscription {\\r\\n limits {\\r\\n traffic {\\r\\n isUnlimited\\r\\n formattedValue\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DomainTrafficUsage\"] = oneQuery(doc, \"DomainTrafficUsage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":242}};\n doc.loc.source = {\"body\":\"query DomainPage(\\r\\n $id: ID!\\r\\n) {\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n name(idn: false)\\r\\n baseDomain {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DomainPage\"] = oneQuery(doc, \"DomainPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport TRAFFIC_USAGE_INTERVALS from 'queries/TrafficUsageIntervals.graphql';\r\nimport TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST from 'queries/TrafficUsageByViewerClientsList.graphql';\r\nimport TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS from 'queries/TotalTrafficUsageByViewerClients.graphql';\r\nimport { trafficUsageByResellerRoute } from 'routes/trafficUsageByResellerRoute';\r\n\r\nexport const trafficUsageByViewerResellersChildrenRoute = ({ path = 'traffic-usage-resellers' } = {}) => ({\r\n path,\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByResellers'),\r\n }),\r\n },\r\n children: [\r\n trafficUsageByResellerRoute(\r\n ':resellerId',\r\n { clientIdParamName: 'resellerId' },\r\n ),\r\n ],\r\n});\r\n\r\nexport const trafficUsageByViewerResellersRoute = ({ path = 'traffic-usage-resellers', ignoreTopLevelTitle = false } = {}) => ({\r\n path,\r\n handle: {\r\n crumb: () => ignoreTopLevelTitle ? [] : ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByResellers'),\r\n }),\r\n helpContext: 'reseller.traffic',\r\n },\r\n children: [\r\n {\r\n index: true,\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/TrafficUsageByClientsPage\" */\r\n 'components/pages/TrafficUsageByClientsPage'\r\n ),\r\n loader: async () => {\r\n const trafficUsageListKey = 'TrafficUsageByViewerResellersList';\r\n const clientType = 'reseller';\r\n\r\n const [{ data: intervalsData }] = await Promise.all([\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_INTERVALS,\r\n }),\r\n apolloClient.query({\r\n query: TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS,\r\n variables: { clientType },\r\n }),\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST,\r\n variables: {\r\n input: {\r\n ...readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\r\n clientTypes: [clientType],\r\n },\r\n },\r\n }),\r\n ]);\r\n\r\n const { trafficUsageIntervals } = intervalsData.viewer.client.statistics;\r\n\r\n return {\r\n trafficUsageIntervals,\r\n trafficUsageListKey,\r\n clientType,\r\n getClientLink: clientId => `./${clientId}`,\r\n };\r\n },\r\n },\r\n ],\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageIntervals\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageIntervals\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedTotalUsage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":335}};\n doc.loc.source = {\"body\":\"query TrafficUsageIntervals {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n statistics {\\r\\n trafficUsageIntervals {\\r\\n key\\r\\n month\\r\\n year\\r\\n formattedTotalUsage\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageIntervals\"] = oneQuery(doc, \"TrafficUsageIntervals\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByViewerClientsList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageByClientsListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageByClients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitRemainingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":878}};\n doc.loc.source = {\"body\":\"query TrafficUsageByViewerClientsList(\\r\\n $input: ClientTrafficUsageByClientsListInput\\r\\n) {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n statistics {\\r\\n trafficUsageByClients(input: $input) {\\r\\n nodes {\\r\\n clientId\\r\\n clientName\\r\\n totalUsageFormatted\\r\\n limitFormatted\\r\\n limitRemainingFormatted\\r\\n limitUsagePercent\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByViewerClientsList\"] = oneQuery(doc, \"TrafficUsageByViewerClientsList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TotalTrafficUsageByViewerClients\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientType\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalClientsTraffic\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientType\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientType\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usageFormatted\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":432}};\n doc.loc.source = {\"body\":\"query TotalTrafficUsageByViewerClients(\\r\\n $clientType: String,\\r\\n $intervalKey: String,\\r\\n) {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n statistics {\\r\\n totalClientsTraffic(\\r\\n clientType: $clientType,\\r\\n intervalKey: $intervalKey,\\r\\n ) {\\r\\n usageFormatted\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TotalTrafficUsageByViewerClients\"] = oneQuery(doc, \"TotalTrafficUsageByViewerClients\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport TRAFFIC_USAGE_INTERVALS from 'queries/TrafficUsageIntervals.graphql';\r\nimport TRAFFIC_USAGE_BY_RESELLER_CLIENTS_LIST from 'queries/TrafficUsageByResellerClientsList.graphql';\r\nimport TOTAL_TRAFFIC_USAGE_BY_RESELLER from 'queries/TotalTrafficUsageByReseller.graphql';\r\nimport { gql } from '@apollo/client';\r\nimport { trafficUsageByCustomerDomainsRoute } from 'routes/trafficUsageByCustomerDomainsRoute';\r\nimport { trafficUsageByClientDomainsRoute } from 'routes/trafficUsageByClientDomainsRoute';\r\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\r\n\r\nexport const trafficUsageByResellerRoute = (\r\n path,\r\n { clientIdParamName },\r\n) => ({\r\n path,\r\n handle: {\r\n crumb: ({ data }) => ({ title: data.client.name }),\r\n pageTitle: ({ data }) => Locale.getSection('components.routes').lmsg(\r\n 'trafficUsageByReseller',\r\n { resellerName: data.client.name },\r\n ),\r\n },\r\n loader: async ({ params }) => {\r\n const clientId = params[clientIdParamName];\r\n const clientNodeId = btoa(`Client:${clientId}`);\r\n\r\n const { data: { client } } = await apolloClient.query({\r\n query: gql`\r\n query($clientId: ID!) {\r\n client: node(id: $clientId) {\r\n ... on Client {\r\n id\r\n name\r\n }\r\n }\r\n }\r\n `,\r\n variables: { clientId: clientNodeId },\r\n });\r\n\r\n return { client };\r\n },\r\n children: [\r\n {\r\n index: true,\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/TrafficUsageByResellerPage\" */\r\n 'components/pages/TrafficUsageByResellerPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const clientId = params[clientIdParamName];\r\n const clientNodeId = btoa(`Client:${clientId}`);\r\n const trafficUsageListKey = `TrafficUsageByResellerCustomersList${clientId}`;\r\n\r\n const [{ data: intervalsData }] = await Promise.all([\r\n apolloClient.query({ query: TRAFFIC_USAGE_INTERVALS }),\r\n apolloClient.query({\r\n query: TOTAL_TRAFFIC_USAGE_BY_RESELLER,\r\n variables: { clientNodeId },\r\n }),\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_BY_RESELLER_CLIENTS_LIST,\r\n variables: {\r\n clientNodeId,\r\n input: {\r\n ...readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\r\n clientTypes: ['client'],\r\n },\r\n },\r\n }),\r\n ]);\r\n\r\n const { trafficUsageIntervals } = intervalsData.viewer.client.statistics;\r\n\r\n return {\r\n trafficUsageIntervals,\r\n clientNodeId,\r\n trafficUsageListKey,\r\n };\r\n },\r\n },\r\n trafficUsageByCustomerDomainsRoute('customers/:customerId/domains'),\r\n {\r\n path: 'domains',\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByDomains'),\r\n }),\r\n helpContext: 'client.domain.traffic',\r\n },\r\n children: [\r\n trafficUsageByClientDomainsRoute({\r\n clientIdParamName,\r\n clientType: 'reseller',\r\n }),\r\n trafficUsageByDomainRoute({ path: ':domainId' }),\r\n ],\r\n },\r\n ],\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByResellerClientsList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientNodeId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageByClientsListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientNodeId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageByClients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitRemainingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":923}};\n doc.loc.source = {\"body\":\"query TrafficUsageByResellerClientsList(\\r\\n $clientNodeId: ID!,\\r\\n $input: ClientTrafficUsageByClientsListInput,\\r\\n) {\\r\\n client: node(id: $clientNodeId) {\\r\\n ... on Client {\\r\\n id\\r\\n statistics {\\r\\n trafficUsageByClients(input: $input) {\\r\\n nodes {\\r\\n clientId\\r\\n clientName\\r\\n totalUsageFormatted\\r\\n limitFormatted\\r\\n limitRemainingFormatted\\r\\n limitUsagePercent\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByResellerClientsList\"] = oneQuery(doc, \"TrafficUsageByResellerClientsList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TotalTrafficUsageByReseller\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientNodeId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientNodeId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalTrafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"ownOnly\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalClientsTraffic\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usageFormatted\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":503}};\n doc.loc.source = {\"body\":\"query TotalTrafficUsageByReseller(\\r\\n $clientNodeId: ID!,\\r\\n $intervalKey: String\\r\\n) {\\r\\n client: node(id: $clientNodeId) {\\r\\n ... on Client {\\r\\n id\\r\\n statistics {\\r\\n totalTrafficUsageByDomains(intervalKey: $intervalKey, ownOnly: true) {\\r\\n totalUsageFormatted\\r\\n }\\r\\n totalClientsTraffic(intervalKey: $intervalKey) {\\r\\n usageFormatted\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TotalTrafficUsageByReseller\"] = oneQuery(doc, \"TotalTrafficUsageByReseller\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport { gql } from '@apollo/client';\r\nimport apolloClient from 'apolloClient';\r\nimport { trafficUsageByClientDomainsRoute } from 'routes/trafficUsageByClientDomainsRoute';\r\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\r\n\r\nexport const trafficUsageByCustomerDomainsRoute = path => ({\r\n path,\r\n handle: {\r\n crumb: ({ data }) => ({ title: data.client.name }),\r\n pageTitle: ({ data }) => Locale.getSection('components.routes').lmsg(\r\n 'trafficUsageByClientDomains',\r\n { clientName: data.client.name },\r\n ),\r\n helpContext: 'client.domain.traffic',\r\n },\r\n loader: async ({ params }) => {\r\n const { customerId } = params;\r\n const clientNodeId = btoa(`Client:${customerId}`);\r\n\r\n const { data: { client } } = await apolloClient.query({\r\n query: gql`\r\n query($clientId: ID!) {\r\n client: node(id: $clientId) {\r\n ... on Client {\r\n id\r\n name\r\n }\r\n }\r\n }\r\n `,\r\n variables: { clientId: clientNodeId },\r\n });\r\n\r\n return { client };\r\n },\r\n children: [\r\n trafficUsageByClientDomainsRoute({\r\n clientIdParamName: 'customerId',\r\n clientType: 'customer',\r\n }),\r\n trafficUsageByDomainRoute({ path: ':domainId' }),\r\n ],\r\n});\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from 'apolloClient';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport CLIENT_TRAFFIC_USAGE_INTERVALS from 'queries/ClientTrafficUsageIntervals.graphql';\r\nimport TRAFFIC_USAGE_BY_CLIENT_DOMAINS_LIST from 'queries/TrafficUsageByClientDomainsList.graphql';\r\nimport TOTAL_TRAFFIC_USAGE_BY_CLIENT_DOMAINS from 'queries/TotalTrafficUsageByClientDomains.graphql';\r\n\r\nexport const trafficUsageByClientDomainsRoute = ({\r\n clientIdParamName,\r\n clientType,\r\n}) => ({\r\n index: true,\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/TrafficUsageByDomainsPage\" */\r\n 'components/pages/TrafficUsageByDomainsPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const clientId = params[clientIdParamName];\r\n const trafficUsageListKey = `TrafficUsageByClientDomainsList${clientId}`;\r\n const clientNodeId = btoa(`Client:${clientId}`);\r\n\r\n const [{ data: intervalsData }] = await Promise.all([\r\n apolloClient.query({\r\n query: CLIENT_TRAFFIC_USAGE_INTERVALS,\r\n variables: { clientId: clientNodeId },\r\n }),\r\n apolloClient.query({\r\n query: TOTAL_TRAFFIC_USAGE_BY_CLIENT_DOMAINS,\r\n variables: { clientId: clientNodeId },\r\n }),\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_BY_CLIENT_DOMAINS_LIST,\r\n variables: {\r\n clientId: clientNodeId,\r\n input: readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\r\n },\r\n }),\r\n ]);\r\n\r\n const { trafficUsageIntervals } = intervalsData.client.statistics;\r\n\r\n return {\r\n trafficUsageIntervals,\r\n listQueryParams: {\r\n key: trafficUsageListKey,\r\n query: TRAFFIC_USAGE_BY_CLIENT_DOMAINS_LIST,\r\n extractList: data => data.client.statistics.trafficUsageByDomains,\r\n variables: { clientId: clientNodeId },\r\n },\r\n totalUsageQueryParams: {\r\n query: TOTAL_TRAFFIC_USAGE_BY_CLIENT_DOMAINS,\r\n variables: { clientId: clientNodeId },\r\n extractTrafficData: data => data.client.statistics.totalTrafficUsageByDomains,\r\n },\r\n showFilters: clientType !== 'customer',\r\n showClientNameColumn: clientType !== 'customer',\r\n parentClientType: clientType,\r\n };\r\n },\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageIntervals\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageIntervals\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedTotalUsage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":378}};\n doc.loc.source = {\"body\":\"query ClientTrafficUsageIntervals(\\r\\n $clientId: ID!\\r\\n) {\\r\\n client: node(id: $clientId) {\\r\\n ... on Client {\\r\\n id\\r\\n statistics {\\r\\n trafficUsageIntervals {\\r\\n key\\r\\n month\\r\\n year\\r\\n formattedTotalUsage\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ClientTrafficUsageIntervals\"] = oneQuery(doc, \"ClientTrafficUsageIntervals\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByClientDomainsList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageByDomainsListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitRemainingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":984}};\n doc.loc.source = {\"body\":\"query TrafficUsageByClientDomainsList(\\r\\n $clientId: ID!,\\r\\n $input: ClientTrafficUsageByDomainsListInput\\r\\n) {\\r\\n client: node(id: $clientId) {\\r\\n ... on Client {\\r\\n id\\r\\n statistics {\\r\\n trafficUsageByDomains(input: $input) {\\r\\n nodes {\\r\\n domainId\\r\\n domainName\\r\\n clientName\\r\\n totalUsageFormatted\\r\\n subscriptionLimitFormatted\\r\\n subscriptionLimitRemainingFormatted\\r\\n subscriptionLimitUsagePercent\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByClientDomainsList\"] = oneQuery(doc, \"TrafficUsageByClientDomainsList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TotalTrafficUsageByClientDomains\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalTrafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTotalTrafficUsageByDomainsFragment\"},\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":458}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ClientTotalTrafficUsageByDomainsFragment.graphql\\\"\\r\\n\\r\\nquery TotalTrafficUsageByClientDomains(\\r\\n $clientId: ID!,\\r\\n $intervalKey: String\\r\\n) {\\r\\n client: node(id: $clientId) {\\r\\n ... on Client {\\r\\n id\\r\\n statistics {\\r\\n totalTrafficUsageByDomains(intervalKey: $intervalKey) {\\r\\n ...ClientTotalTrafficUsageByDomainsFragment\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ClientTotalTrafficUsageByDomainsFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TotalTrafficUsageByClientDomains\"] = oneQuery(doc, \"TotalTrafficUsageByClientDomains\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTotalTrafficUsageByDomainsFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTotalTrafficUsageByDomains\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnlimited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":177}};\n doc.loc.source = {\"body\":\"fragment ClientTotalTrafficUsageByDomainsFragment on ClientTotalTrafficUsageByDomains {\\r\\n totalUsageFormatted\\r\\n isUnlimited\\r\\n limitFormatted\\r\\n limitUsagePercent\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ClientTotalTrafficUsageByDomainsFragment\"] = oneQuery(doc, \"ClientTotalTrafficUsageByDomainsFragment\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport { trafficUsageByCustomerDomainsRoute } from 'routes/trafficUsageByCustomerDomainsRoute';\r\nimport TRAFFIC_USAGE_INTERVALS from 'queries/TrafficUsageIntervals.graphql';\r\nimport TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST from 'queries/TrafficUsageByViewerClientsList.graphql';\r\nimport TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS from 'queries/TotalTrafficUsageByViewerClients.graphql';\r\n\r\nexport const trafficUsageByViewerCustomersChildrenRoute = ({ path = 'traffic-usage-customers' } = {}) => ({\r\n path,\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByCustomers'),\r\n }),\r\n },\r\n children: [\r\n trafficUsageByCustomerDomainsRoute(':customerId/domains'),\r\n ],\r\n});\r\nexport const trafficUsageByViewerCustomersRoute = ({ path = 'traffic-usage-customers', helpContext, ignoreTopLevelTitle = false } = {}) => ({\r\n path,\r\n handle: {\r\n crumb: () => ignoreTopLevelTitle ? [] : ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByCustomers'),\r\n }),\r\n helpContext,\r\n },\r\n children: [\r\n {\r\n index: true,\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/TrafficUsageByClientsPage\" */\r\n 'components/pages/TrafficUsageByClientsPage'\r\n ),\r\n loader: async () => {\r\n const trafficUsageListKey = 'TrafficUsageByViewerCustomersList';\r\n const clientType = 'client';\r\n\r\n const [{ data: intervalsData }] = await Promise.all([\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_INTERVALS,\r\n }),\r\n apolloClient.query({\r\n query: TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS,\r\n variables: { clientType },\r\n }),\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST,\r\n variables: {\r\n input: {\r\n ...readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\r\n clientTypes: [clientType],\r\n },\r\n },\r\n }),\r\n ]);\r\n\r\n const { trafficUsageIntervals } = intervalsData.viewer.client.statistics;\r\n\r\n return {\r\n trafficUsageIntervals,\r\n trafficUsageListKey,\r\n clientType,\r\n getClientLink: clientId => `${clientId}/domains`,\r\n };\r\n },\r\n },\r\n ],\r\n});\r\n\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\r\nimport TRAFFIC_USAGE_INTERVALS from 'queries/TrafficUsageIntervals.graphql';\r\nimport TRAFFIC_USAGE_BY_VIEWER_DOMAINS_LIST from 'queries/TrafficUsageByViewerDomainsList.graphql';\r\nimport TOTAL_TRAFFIC_USAGE_BY_VIEWER_DOMAINS from 'queries/TotalTrafficUsageByViewerDomains.graphql';\r\n\r\n\r\nexport const trafficUsageByViewerDomainsChildrenRoute = ({ path = 'traffic-usage/domains' } = {}) => ({\r\n path,\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByDomains'),\r\n }),\r\n },\r\n children: [\r\n trafficUsageByDomainRoute({ path: ':domainId' }),\r\n ],\r\n});\r\n\r\nexport const trafficUsageByViewerDomainsRoute = ({ path = 'traffic-usage/domains', ignoreTopLevelTitle = false } = {}) => ({\r\n path,\r\n handle: {\r\n crumb: () => ignoreTopLevelTitle ? [] : ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByDomains'),\r\n }),\r\n helpContext: 'client.domain.traffic',\r\n },\r\n children: [\r\n {\r\n index: true,\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/TrafficUsageByDomainsPage\" */\r\n 'components/pages/TrafficUsageByDomainsPage'\r\n ),\r\n loader: async () => {\r\n const trafficUsageListKey = 'TrafficUsageByViewerDomainsList';\r\n\r\n const [{ data: intervalsData }] = await Promise.all([\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_INTERVALS,\r\n }),\r\n apolloClient.query({\r\n query: TOTAL_TRAFFIC_USAGE_BY_VIEWER_DOMAINS,\r\n }),\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_BY_VIEWER_DOMAINS_LIST,\r\n variables: {\r\n input: readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\r\n },\r\n }),\r\n ]);\r\n\r\n const { trafficUsageIntervals } = intervalsData.viewer.client.statistics;\r\n\r\n return {\r\n trafficUsageIntervals,\r\n listQueryParams: {\r\n key: trafficUsageListKey,\r\n query: TRAFFIC_USAGE_BY_VIEWER_DOMAINS_LIST,\r\n extractList: data => data.viewer.client.statistics.trafficUsageByDomains,\r\n },\r\n totalUsageQueryParams: {\r\n query: TOTAL_TRAFFIC_USAGE_BY_VIEWER_DOMAINS,\r\n extractTrafficData: data => data.viewer.client.statistics.totalTrafficUsageByDomains,\r\n },\r\n };\r\n },\r\n },\r\n ],\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByViewerDomainsList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageByDomainsListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitRemainingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":950}};\n doc.loc.source = {\"body\":\"query TrafficUsageByViewerDomainsList(\\r\\n $input: ClientTrafficUsageByDomainsListInput\\r\\n) {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n statistics {\\r\\n trafficUsageByDomains(input: $input) {\\r\\n nodes {\\r\\n domainId\\r\\n domainName\\r\\n clientName\\r\\n totalUsageFormatted\\r\\n subscriptionLimitFormatted\\r\\n subscriptionLimitRemainingFormatted\\r\\n subscriptionLimitUsagePercent\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByViewerDomainsList\"] = oneQuery(doc, \"TrafficUsageByViewerDomainsList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TotalTrafficUsageByViewerDomains\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalTrafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTotalTrafficUsageByDomainsFragment\"},\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":424}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ClientTotalTrafficUsageByDomainsFragment.graphql\\\"\\r\\n\\r\\nquery TotalTrafficUsageByViewerDomains(\\r\\n $intervalKey: String\\r\\n) {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n statistics {\\r\\n totalTrafficUsageByDomains(intervalKey: $intervalKey) {\\r\\n ...ClientTotalTrafficUsageByDomainsFragment\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ClientTotalTrafficUsageByDomainsFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TotalTrafficUsageByViewerDomains\"] = oneQuery(doc, \"TotalTrafficUsageByViewerDomains\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from '../apolloClient';\r\nimport { gql } from '@apollo/client';\r\nimport { addToast } from 'helpers/toasts';\r\nimport pageData from 'helpers/pageData';\r\nimport homeQueries from 'components/pages/HomePage/queries';\r\nimport TitleAddon from 'components/pages/HomePage/TitleAddon';\r\nimport { emptyFn, redirect as jswRedirect } from 'jsw';\r\n\r\nimport HOME_PAGE from 'queries/AdminHomePage.graphql';\r\n\r\nconst redirect = url => {\r\n jswRedirect(url);\r\n return new Promise(emptyFn);\r\n};\r\nconst errors = response => (response.reason?.graphQLErrors ?? []).map(({ message, extensions }) => extensions?.debugMessage || message);\r\n\r\nexport const homeRoute = {\r\n path: 'home',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/HomePage\" */'components/pages/HomePage'),\r\n loader: async () => {\r\n const { data: { viewer: { type } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n }\r\n }\r\n `,\r\n });\r\n\r\n if (type !== 'ADMIN') {\r\n return redirect('/admin/home/');\r\n }\r\n\r\n const { pageSidebar } = pageData();\r\n if (pageSidebar?.isPowerUserPanel) {\r\n return redirect('/smb/');\r\n }\r\n\r\n const response = await Promise.allSettled([\r\n ...Object.values(homeQueries).map(query => apolloClient.query({ query })),\r\n apolloClient.query({ query: HOME_PAGE }),\r\n ]);\r\n\r\n const data = Object.keys(homeQueries).reduce((acc, block, i) => ({\r\n ...acc,\r\n [block]: {\r\n data: response[i].value?.data,\r\n errors: errors(response[i]),\r\n },\r\n }), {});\r\n\r\n const layoutResponse = response.at(-1);\r\n errors(layoutResponse).forEach(message => {\r\n addToast({ intent: 'danger', message });\r\n });\r\n return { data };\r\n },\r\n handle: {\r\n helpContext: 'home.admin',\r\n titleRightAddon: ,\r\n pageContentHeader: { className: 'home-page-heading' },\r\n },\r\n children: [{\r\n path: 'customize',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/HomeCustomizationPage\" */'components/pages/HomePage/Customization'),\r\n loader: () => apolloClient.query({ query: require('components/pages/HomePage/queries/Customization.graphql') }),\r\n }],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport * as constants from '../constants';\r\nimport SERVER_INFO_QUERY from 'queries/AdminHomeServerInfo.graphql';\r\nimport UPDATES_QUERY from 'queries/AdminHomeUpdates.graphql';\r\nimport OVERUSED_SUBSCRIPTIONS_QUERY from 'queries/AdminHomeOverusedSubscriptions.graphql';\r\nimport MY_SUBSCRIPTIONS_QUERY from 'queries/AdminHomeMySubscriptions.graphql';\r\nimport EXTENSIONS_QUERY from 'queries/AdminHomeExtensions.graphql';\r\nimport CHANGE_LOG_QUERY from 'queries/AdminHomeChangeLog.graphql';\r\n\r\nexport default {\r\n [constants.SERVER_INFO]: SERVER_INFO_QUERY,\r\n [constants.UPDATES]: UPDATES_QUERY,\r\n [constants.OVERUSED_SUBSCRIPTIONS]: OVERUSED_SUBSCRIPTIONS_QUERY,\r\n [constants.MY_SUBSCRIPTIONS]: MY_SUBSCRIPTIONS_QUERY,\r\n [constants.EXTENSIONS]: EXTENSIONS_QUERY,\r\n [constants.CHANGE_LOG]: CHANGE_LOG_QUERY,\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const SERVER_INFO = 'serverInfo';\r\nexport const UPDATES = 'updates';\r\nexport const OVERUSED_SUBSCRIPTIONS = 'overusedSubscriptions';\r\nexport const MY_SUBSCRIPTIONS = 'mySubscriptions';\r\nexport const IP_BAN = 'ipBan';\r\nexport const BACKUP = 'backup';\r\nexport const EXTENSIONS = 'ext';\r\nexport const MAIL_QUEUE = 'mailQueue';\r\nexport const PROMO = 'promo';\r\nexport const CHANGE_LOG = 'changeLog';\r\nexport const CUSTOM_BUTTONS = 'customButtons';\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeServerInfo\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultIpAddress\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullHostName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"information\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sysUptime\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerInfo\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":389}};\n doc.loc.source = {\"body\":\"query AdminHomeServerInfo {\\r\\n server {\\r\\n defaultIpAddress {\\r\\n ipAddress\\r\\n publicIpAddress\\r\\n }\\r\\n settings {\\r\\n fullHostName\\r\\n }\\r\\n information {\\r\\n sysUptime\\r\\n }\\r\\n }\\r\\n os {\\r\\n name\\r\\n }\\r\\n viewer {\\r\\n login\\r\\n permissions {\\r\\n manageServerInfo\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeServerInfo\"] = oneQuery(doc, \"AdminHomeServerInfo\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeUpdates\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productVersion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"patch\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productUpdates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availablePatch\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastUpdateDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastCheckDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAutoupdateEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"installingUpdatesTaskId\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pum\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"installingUpdatesTaskId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updates\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}}]}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableVersion\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"editionName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showControls\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"visualNotifications\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPumAllowed\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerUpdates\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1053}};\n doc.loc.source = {\"body\":\"query AdminHomeUpdates {\\r\\n server {\\r\\n productVersion {\\r\\n name\\r\\n version\\r\\n patch\\r\\n }\\r\\n productUpdates {\\r\\n availablePatch\\r\\n availableVersion\\r\\n lastUpdateDate\\r\\n lastCheckDate\\r\\n isAutoupdateEnabled\\r\\n installingUpdatesTaskId\\r\\n }\\r\\n pum {\\r\\n installingUpdatesTaskId\\r\\n updates(\\r\\n input: { pagination: { page: 1, itemsPerPage: 1 } }\\r\\n ) {\\r\\n nodes {\\r\\n name\\r\\n availableVersion\\r\\n }\\r\\n pageInfo {\\r\\n total\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n editionName\\r\\n }\\r\\n config {\\r\\n updates {\\r\\n showControls\\r\\n visualNotifications\\r\\n }\\r\\n }\\r\\n mode {\\r\\n isPumAllowed\\r\\n }\\r\\n viewer {\\r\\n login\\r\\n permissions {\\r\\n manageServerUpdates\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeUpdates\"] = oneQuery(doc, \"AdminHomeUpdates\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeOverusedSubscriptions\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"3\"}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"ASC\"}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"searchFilters\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"overuse\"},\"value\":{\"kind\":\"StringValue\",\"value\":\"true\",\"block\":false}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"own\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Subscription\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mainDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limits\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"all\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"overused\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedValue\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedUsed\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1078}};\n doc.loc.source = {\"body\":\"query AdminHomeOverusedSubscriptions {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n subscriptions(\\r\\n input: {\\r\\n pagination: { page: 1, itemsPerPage: 3 }\\r\\n orderBy: { displayName: ASC }\\r\\n searchFilters: { overuse: \\\"true\\\" }\\r\\n own: false,\\r\\n }\\r\\n ) {\\r\\n pageInfo {\\r\\n total\\r\\n }\\r\\n nodes {\\r\\n id\\r\\n ... on Subscription {\\r\\n status\\r\\n mainDomain {\\r\\n id\\r\\n name\\r\\n }\\r\\n limits {\\r\\n all(overused: true) {\\r\\n name\\r\\n formattedValue\\r\\n formattedUsed\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeOverusedSubscriptions\"] = oneQuery(doc, \"AdminHomeOverusedSubscriptions\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeMySubscriptions\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createDomains\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"5\"}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"lastVisitTime\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"DESC\"}}]}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Subscription\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mainDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":697}};\n doc.loc.source = {\"body\":\"query AdminHomeMySubscriptions {\\r\\n viewer {\\r\\n login\\r\\n permissions {\\r\\n createDomains\\r\\n }\\r\\n client {\\r\\n id\\r\\n subscriptions(\\r\\n input: {\\r\\n pagination: { page: 1, itemsPerPage: 5 }\\r\\n orderBy: { lastVisitTime: DESC }\\r\\n }\\r\\n ) {\\r\\n nodes {\\r\\n id\\r\\n ... on Subscription {\\r\\n status\\r\\n mainDomain {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeMySubscriptions\"] = oneQuery(doc, \"AdminHomeMySubscriptions\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeExtensions\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"extensions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"footer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"async\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"skeletonSize\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":305}};\n doc.loc.source = {\"body\":\"query AdminHomeExtensions {\\r\\n viewer {\\r\\n login\\r\\n home {\\r\\n extensions {\\r\\n name\\r\\n title\\r\\n icon\\r\\n content\\r\\n footer\\r\\n async\\r\\n skeletonSize\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeExtensions\"] = oneQuery(doc, \"AdminHomeExtensions\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeChangeLog\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productUpdates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"changeLogUrl\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":115}};\n doc.loc.source = {\"body\":\"query AdminHomeChangeLog {\\r\\n server {\\r\\n productUpdates {\\r\\n changeLogUrl\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeChangeLog\"] = oneQuery(doc, \"AdminHomeChangeLog\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Button } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport Link from 'components/common/Link';\r\nimport { useQuery } from '@apollo/client';\r\nimport isEmptyLayout from './common/isEmptyLayout';\r\n\r\nimport HOME_PAGE_QUERY from 'queries/AdminHomePage.graphql';\r\n\r\nconst Translate = Locale.getTranslate('components.buttons');\r\n\r\nconst TitleAddon = () => {\r\n const response = useQuery(HOME_PAGE_QUERY);\r\n\r\n if (response.data?.viewer?.home?.locked || isEmptyLayout(response)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TitleAddon;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport default response => {\r\n const home = response?.data?.viewer?.home ?? {};\r\n const { layout, systemMessages } = home;\r\n return !(systemMessages ?? []).length && (layout ?? []).every(column => column.length === 0);\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomePage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"layout\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"locked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"feedbackURL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"systemMessages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isHideable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"component\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"params\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":346}};\n doc.loc.source = {\"body\":\"query AdminHomePage {\\r\\n viewer {\\r\\n login\\r\\n home {\\r\\n layout\\r\\n locked\\r\\n feedbackURL\\r\\n systemMessages {\\r\\n type\\r\\n key\\r\\n content\\r\\n isHideable\\r\\n component\\r\\n params\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomePage\"] = oneQuery(doc, \"AdminHomePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HomeCustomization\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sections\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blocks\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":307}};\n doc.loc.source = {\"body\":\"query HomeCustomization {\\r\\n viewer {\\r\\n login\\r\\n home {\\r\\n sections {\\r\\n name\\r\\n blocks {\\r\\n name\\r\\n enabled\\r\\n title\\r\\n icon\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HomeCustomization\"] = oneQuery(doc, \"HomeCustomization\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\nimport { redirect } from 'react-router-dom';\r\nimport { summaryReportRoute, summaryReportChildrenRoute } from './summaryReportRoute';\r\nimport { resourceUsageByDomainRoute } from './resourceUsageByDomainRoute';\r\nimport { trafficUsageByViewerCustomersRoute, trafficUsageByViewerCustomersChildrenRoute } from 'routes/trafficUsageByViewerCustomersRoute';\r\nimport { trafficUsageByViewerResellersRoute, trafficUsageByViewerResellersChildrenRoute } from 'routes/trafficUsageByViewerResellersRoute';\r\nimport { trafficUsageByViewerDomainsRoute, trafficUsageByViewerDomainsChildrenRoute } from 'routes/trafficUsageByViewerDomainsRoute';\r\nexport const infoAndStatisticsRoute = {\r\n path: 'info-and-statistics',\r\n loader: async () => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/InfoAndStatisticsPage.graphql'),\r\n });\r\n\r\n return data;\r\n },\r\n handle: {\r\n crumb: ({ data: { viewer: { type } } }) => ({\r\n title: Locale.getSection('components.routes').lmsg(type === 'ADMIN' ? 'infoAndStatisticsAdmin' : 'infoAndStatisticsReseller'),\r\n }),\r\n },\r\n children: [{\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/InfoAndStatisticsPage\" */\r\n 'components/pages/InfoAndStatisticsPage'\r\n ),\r\n children: [\r\n {\r\n index: true,\r\n loader: async () => {\r\n const { data: { viewer: { permissions: { manageServerInfo } } } } = await apolloClient.query({\r\n query: require('queries/InfoAndStatisticsPage.graphql'),\r\n });\r\n\r\n if (manageServerInfo) {\r\n return redirect('overview');\r\n }\r\n return redirect('domains');\r\n },\r\n },\r\n {\r\n path: 'overview',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerInformationPage\" */'components/pages/ServerInformationPage'),\r\n loader: async () => {\r\n const { data: { server: { information } } } = await apolloClient.query({\r\n query: require('queries/ServerInformationPage.graphql'),\r\n });\r\n\r\n if (!information) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n handle: {\r\n helpContext: 'server.statistics',\r\n },\r\n },\r\n {\r\n path: 'traffic-usage',\r\n loader: async () => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/ViewerType.graphql'),\r\n });\r\n return data;\r\n },\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/InfoAndStatisticsPage/TrafficUsageLayoutPage\" */\r\n 'components/pages/InfoAndStatisticsPage/TrafficUsageLayoutPage'\r\n ),\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('./domains'),\r\n },\r\n trafficUsageByViewerDomainsRoute({ path: 'domains', ignoreTopLevelTitle: true }),\r\n trafficUsageByViewerCustomersRoute({ path: 'customers', ignoreTopLevelTitle: true }),\r\n trafficUsageByViewerResellersRoute({ path: 'resellers', ignoreTopLevelTitle: true }),\r\n ],\r\n },\r\n resourceUsageByDomainRoute({ path: 'domains', ignoreTopLevelTitle: true }),\r\n summaryReportRoute({ ignoreTopLevelTitle: true }),\r\n ],\r\n },\r\n summaryReportChildrenRoute,\r\n trafficUsageByViewerDomainsChildrenRoute({ path: 'traffic-usage/domains' }),\r\n trafficUsageByViewerCustomersChildrenRoute({ path: 'traffic-usage/customers' }),\r\n trafficUsageByViewerResellersChildrenRoute({ path: 'traffic-usage/resellers' }),\r\n ],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from '../apolloClient';\r\nimport { readGraphQlListInputFromStorage } from '../components/common/GraphQlList';\r\nimport { Locale } from 'jsw';\r\n\r\nexport const resourceUsageByDomainRoute = ({ path = 'resource-usage', ignoreTopLevelTitle = false } = {}) => ({\r\n path,\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/DomainsResourceUsagePage\" */'components/pages/DomainsResourceUsagePage'),\r\n loader: async () => {\r\n const res = await apolloClient.query({\r\n query: require('queries/DomainsResourceUsage.graphql'),\r\n variables: {\r\n input: readGraphQlListInputFromStorage({ key: 'ResourceUsagePage' }),\r\n },\r\n });\r\n\r\n return res;\r\n },\r\n handle: {\r\n crumb: () => ignoreTopLevelTitle ? [] : ({\r\n title: Locale.getSection('components.routes').lmsg('resourceUsageByDomains'),\r\n }),\r\n helpContext: 'client.domain-summary-report',\r\n },\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainsResourceUsage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ResourceUsageListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resourceUsage\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logsUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"backupsUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configsUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"anonFtpUsage\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":856}};\n doc.loc.source = {\"body\":\"query DomainsResourceUsage($input: ResourceUsageListInput) {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n client {\\r\\n id\\r\\n email\\r\\n resourceUsage(input: $input) {\\r\\n nodes {\\r\\n clientName\\r\\n domainName\\r\\n webUsage\\r\\n mailUsage\\r\\n databaseUsage\\r\\n logsUsage\\r\\n backupsUsage\\r\\n configsUsage\\r\\n anonFtpUsage\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n pageCount\\r\\n total\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DomainsResourceUsage\"] = oneQuery(doc, \"DomainsResourceUsage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerInfo\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":126}};\n doc.loc.source = {\"body\":\"query {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n permissions {\\r\\n manageServerInfo\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerInformationPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"information\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cpu\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cpuCores\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sysUptime\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"loadAverage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"last1min\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"last5min\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"last15min\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"memory\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"used\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"available\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"buffer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cached\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shared\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"free\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hardware\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"swap\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"used\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"free\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sysDiskSpace\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"directory\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"used\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"available\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protectedDirectories\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"active\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"inactive\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"problems\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productVersion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"build\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"osVersion\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":1126}};\n doc.loc.source = {\"body\":\"query ServerInformationPage {\\r\\n server {\\r\\n information {\\r\\n cpu\\r\\n cpuCores\\r\\n sysUptime\\r\\n loadAverage {\\r\\n last1min\\r\\n last5min\\r\\n last15min\\r\\n }\\r\\n memory {\\r\\n total\\r\\n used\\r\\n available\\r\\n buffer\\r\\n cached\\r\\n shared\\r\\n free\\r\\n hardware\\r\\n }\\r\\n swap {\\r\\n total\\r\\n used\\r\\n free\\r\\n }\\r\\n sysDiskSpace {\\r\\n directory\\r\\n total\\r\\n used\\r\\n available\\r\\n protectedDirectories\\r\\n }\\r\\n domains {\\r\\n active\\r\\n inactive\\r\\n problems\\r\\n }\\r\\n }\\r\\n productVersion {\\r\\n name\\r\\n version\\r\\n build\\r\\n os\\r\\n osVersion\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n name\\r\\n }\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerInformationPage\"] = oneQuery(doc, \"ServerInformationPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ViewerType\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":73}};\n doc.loc.source = {\"body\":\"query ViewerType {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ViewerType\"] = oneQuery(doc, \"ViewerType\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressDomainsPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddressId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddressId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddress\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":438}};\n doc.loc.source = {\"body\":\"query IpAddressDomainsPage($clientId: ID, $ipAddressId: ID!) {\\r\\n viewer {\\r\\n type\\r\\n login\\r\\n }\\r\\n ipAddress: node(id: $ipAddressId) {\\r\\n ... on IpAddress {\\r\\n id\\r\\n type\\r\\n ipAddress\\r\\n defaultDomain {\\r\\n id\\r\\n }\\r\\n domains(filter: { clientId: $clientId }) {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IpAddressDomainsPage\"] = oneQuery(doc, \"IpAddressDomainsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ChangeSubscriptionsOwner\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domains\"},\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"owner\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"vendor\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isCustom\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6Supported\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":846}};\n doc.loc.source = {\"body\":\"query ChangeSubscriptionsOwner($ids: [ID!]!) {\\r\\n domains: nodes(ids: $ids) {\\r\\n id\\r\\n ... on Domain {\\r\\n name\\r\\n owner {\\r\\n id\\r\\n name\\r\\n vendor {\\r\\n id\\r\\n }\\r\\n }\\r\\n baseDomain {\\r\\n id\\r\\n }\\r\\n ipAddresses {\\r\\n id\\r\\n ipAddress\\r\\n publicIpAddress\\r\\n isIPv6\\r\\n }\\r\\n subscription {\\r\\n id\\r\\n isCustom\\r\\n domains {\\r\\n id\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n server {\\r\\n settings {\\r\\n isIPv6Supported\\r\\n }\\r\\n }\\r\\n viewer {\\r\\n type\\r\\n login\\r\\n client {\\r\\n id\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ChangeSubscriptionsOwner\"] = oneQuery(doc, \"ChangeSubscriptionsOwner\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualHostTemplatePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualHostTemplate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportedArchiveTypes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"files\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sizeInBytes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"modified\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"group\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":422}};\n doc.loc.source = {\"body\":\"query VirtualHostTemplatePage($path: String) {\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n viewer {\\r\\n login\\r\\n virtualHostTemplate {\\r\\n supportedArchiveTypes\\r\\n files(path: $path) {\\r\\n name\\r\\n sizeInBytes\\r\\n modified\\r\\n permissions\\r\\n type\\r\\n user\\r\\n group\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualHostTemplatePage\"] = oneQuery(doc, \"VirtualHostTemplatePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"LoginPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resolvableHostname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mobileApplicationPromotion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"background\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"file\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"color\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fit\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"gdpr\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cookieSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"loginFormEntrypointEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"howToLoginArticle\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"locales\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRtl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cloudType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isFirstLogin\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"loginContentInclude\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"headContent\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"bodyContent\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":678}};\n doc.loc.source = {\"body\":\"query LoginPage {\\r\\n viewer {\\r\\n login\\r\\n resolvableHostname\\r\\n mobileApplicationPromotion {\\r\\n name\\r\\n icon\\r\\n url\\r\\n }\\r\\n background {\\r\\n file\\r\\n color\\r\\n fit\\r\\n }\\r\\n }\\r\\n config {\\r\\n gdpr {\\r\\n cookieSettings {\\r\\n loginFormEntrypointEnabled\\r\\n }\\r\\n }\\r\\n login {\\r\\n howToLoginArticle\\r\\n }\\r\\n }\\r\\n locales {\\r\\n code\\r\\n name\\r\\n isRtl\\r\\n }\\r\\n serverInfo {\\r\\n cloudType\\r\\n isFirstLogin\\r\\n }\\r\\n loginContentInclude {\\r\\n headContent\\r\\n bodyContent\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"LoginPage\"] = oneQuery(doc, \"LoginPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsRecordsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dns\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateNotSynchronized\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"soaTemplateNotSynchronized\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isExternalDnsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"records\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"val\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ttl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayHost\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayVal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"opt\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":493}};\n doc.loc.source = {\"body\":\"query DnsRecordsPage {\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n dns {\\r\\n template {\\r\\n isEnabled\\r\\n templateNotSynchronized\\r\\n soaTemplateNotSynchronized\\r\\n isExternalDnsEnabled\\r\\n records {\\r\\n id\\r\\n type\\r\\n host\\r\\n val\\r\\n ttl\\r\\n displayHost\\r\\n displayVal\\r\\n domainName\\r\\n opt\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DnsRecordsPage\"] = oneQuery(doc, \"DnsRecordsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsRecordEditQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dns\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportedRecordTypes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsRecordTemplate\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayVal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayHost\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ttl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"opt\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":422}};\n doc.loc.source = {\"body\":\"query DnsRecordEditQuery($id: ID!) {\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n dns {\\r\\n supportedRecordTypes\\r\\n template {\\r\\n isEnabled\\r\\n }\\r\\n }\\r\\n node(id: $id) {\\r\\n id\\r\\n ... on DnsRecordTemplate {\\r\\n type\\r\\n host\\r\\n id\\r\\n displayVal\\r\\n displayHost\\r\\n domainName\\r\\n ttl\\r\\n opt\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DnsRecordEditQuery\"] = oneQuery(doc, \"DnsRecordEditQuery\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsRecordQuery\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dns\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportedRecordTypes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":162}};\n doc.loc.source = {\"body\":\"query DnsRecordQuery {\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n dns {\\r\\n supportedRecordTypes\\r\\n template {\\r\\n isEnabled\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DnsRecordQuery\"] = oneQuery(doc, \"DnsRecordQuery\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsSoaRecordsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dns\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"soaRecord\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ttl\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refresh\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"retry\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"expire\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minimum\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serialNumberFormat\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rnameDomain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rnameExternal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rnameType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rnameEnforce\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isExternalDnsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"records\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"EnumValue\",\"value\":\"NS\"}]}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayVal\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":931}};\n doc.loc.source = {\"body\":\"query DnsSoaRecordsPage {\\r\\n dns {\\r\\n template {\\r\\n soaRecord {\\r\\n mname\\r\\n ttl {\\r\\n value\\r\\n unit\\r\\n }\\r\\n refresh {\\r\\n value\\r\\n unit\\r\\n }\\r\\n retry {\\r\\n value\\r\\n unit\\r\\n }\\r\\n expire {\\r\\n value\\r\\n unit\\r\\n }\\r\\n minimum {\\r\\n value\\r\\n unit\\r\\n }\\r\\n serialNumberFormat\\r\\n rnameDomain\\r\\n rnameExternal\\r\\n rnameType\\r\\n rnameEnforce\\r\\n }\\r\\n isEnabled\\r\\n isExternalDnsEnabled\\r\\n records(filter: { type: [NS] } ) {\\r\\n displayVal\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DnsSoaRecordsPage\"] = oneQuery(doc, \"DnsSoaRecordsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"EditInterfaceViewPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerUi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerLanguages\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isViewSwitcherAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPowerUserPanel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSimplePanel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSimplePanelAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSimplePanelLocked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMailBounceHidden\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMailServiceSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":488}};\n doc.loc.source = {\"body\":\"query EditInterfaceViewPage {\\r\\n viewer {\\r\\n login\\r\\n permissions {\\r\\n manageServerUi\\r\\n manageServerLanguages\\r\\n }\\r\\n client {\\r\\n id\\r\\n clients {\\r\\n id\\r\\n }\\r\\n }\\r\\n }\\r\\n mode {\\r\\n isViewSwitcherAllowed\\r\\n isPowerUserPanel\\r\\n isSimplePanel\\r\\n isSimplePanelAllowed\\r\\n isSimplePanelLocked\\r\\n isMailBounceHidden\\r\\n isMailServiceSupported\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"EditInterfaceViewPage\"] = oneQuery(doc, \"EditInterfaceViewPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"NotificationUiSettings\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"notification\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"panel\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"storagePeriod\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"context\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToAdmin\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":299}};\n doc.loc.source = {\"body\":\"query NotificationUiSettings {\\r\\n notification {\\r\\n panel {\\r\\n settings {\\r\\n storagePeriod\\r\\n }\\r\\n templates {\\r\\n code\\r\\n context\\r\\n title\\r\\n sendToAdmin\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"NotificationUiSettings\"] = oneQuery(doc, \"NotificationUiSettings\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"BrandingPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"branding\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fake\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customFavicon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"background\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"file\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"color\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fit\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":343}};\n doc.loc.source = {\"body\":\"query BrandingPage {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n branding {\\r\\n customTitle\\r\\n logo {\\r\\n url\\r\\n fake\\r\\n }\\r\\n customFavicon\\r\\n background {\\r\\n file\\r\\n color\\r\\n fit\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"BrandingPage\"] = oneQuery(doc, \"BrandingPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServersPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseServers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fork\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastError\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUpgradeSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLTSVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLocal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDefaultServer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUsedForPsaDb\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWebadminInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDynamicPort\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databasesCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableReleases\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyRemoteDb\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":571}};\n doc.loc.source = {\"body\":\"query DatabaseServersPage {\\r\\n databaseServers {\\r\\n id\\r\\n name\\r\\n type\\r\\n fork\\r\\n host\\r\\n port\\r\\n lastError\\r\\n serverVersion\\r\\n isUpgradeSupported\\r\\n isLTSVersion\\r\\n isLocal\\r\\n isDefaultServer\\r\\n isUsedForPsaDb\\r\\n isWebadminInstalled\\r\\n isDynamicPort\\r\\n databasesCount\\r\\n availableReleases {\\r\\n id\\r\\n }\\r\\n }\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n keyRemoteDb\\r\\n }\\r\\n mode {\\r\\n isDemo\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServersPage\"] = oneQuery(doc, \"DatabaseServersPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerUpgradePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fork\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"detectDatabaseServer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableReleases\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"features\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseNotesLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"endOfLifeDate\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":534}};\n doc.loc.source = {\"body\":\"query DatabaseServerUpgradePage($id: ID!) {\\r\\n databaseServer: node(id: $id) {\\r\\n id\\r\\n ... on DatabaseServer {\\r\\n name\\r\\n type\\r\\n host\\r\\n port\\r\\n serverVersion\\r\\n fork\\r\\n detectDatabaseServer\\r\\n availableReleases {\\r\\n id\\r\\n name\\r\\n version\\r\\n features\\r\\n releaseNotesLink\\r\\n releaseDate\\r\\n endOfLifeDate\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerUpgradePage\"] = oneQuery(doc, \"DatabaseServerUpgradePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerCreatePage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowedByKeyDatabaseServerTypes\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":99}};\n doc.loc.source = {\"body\":\"query DatabaseServerCreatePage {\\r\\n server {\\r\\n allowedByKeyDatabaseServerTypes\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerCreatePage\"] = oneQuery(doc, \"DatabaseServerCreatePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerPropertiesPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDefaultServer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUsedForPsaDb\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdminCredentialsChangeable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"adminLogin\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"externalConnections\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databasesCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"backupSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tempDir\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"networkTempDir\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"networkUser\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"networkPassword\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":634}};\n doc.loc.source = {\"body\":\"query DatabaseServerPropertiesPage($id: ID!) {\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n databaseServer: node(id: $id) {\\r\\n id\\r\\n ... on DatabaseServer {\\r\\n name\\r\\n type\\r\\n host\\r\\n port\\r\\n serverVersion\\r\\n isDefaultServer\\r\\n isUsedForPsaDb\\r\\n isAdminCredentialsChangeable\\r\\n adminLogin\\r\\n externalConnections\\r\\n databasesCount\\r\\n backupSettings {\\r\\n tempDir\\r\\n networkTempDir\\r\\n networkUser\\r\\n networkPassword\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerPropertiesPage\"] = oneQuery(doc, \"DatabaseServerPropertiesPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerDatabasesPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isClassicPanel\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databasesCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databases\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"owner\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":604}};\n doc.loc.source = {\"body\":\"query DatabaseServerDatabasesPage($id: ID!) {\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n mode {\\r\\n isClassicPanel\\r\\n }\\r\\n databaseServer: node(id: $id) {\\r\\n id\\r\\n ... on DatabaseServer {\\r\\n name\\r\\n databasesCount\\r\\n databases {\\r\\n id\\r\\n name\\r\\n domain {\\r\\n id\\r\\n name(idn: false)\\r\\n owner {\\r\\n id\\r\\n name\\r\\n type\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerDatabasesPage\"] = oneQuery(doc, \"DatabaseServerDatabasesPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerChangePasswordPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databasesCount\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":237}};\n doc.loc.source = {\"body\":\"query DatabaseServerChangePasswordPage($id: ID!) {\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n databaseServer: node(id: $id) {\\r\\n id\\r\\n ... on DatabaseServer {\\r\\n name\\r\\n databasesCount\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerChangePasswordPage\"] = oneQuery(doc, \"DatabaseServerChangePasswordPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"WebsitesDiagnosticPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"websitesDiagnostic\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"siteUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"websitesDiagnosticChecks\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"date\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"depth\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"problems\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"date\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRegularCheckEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPromoShown\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"documentationLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isNewDomainsChecked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastCheckDuration\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checkedDomains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"skippedDomains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1011}};\n doc.loc.source = {\"body\":\"query WebsitesDiagnosticPage {\\r\\n server {\\r\\n websitesDiagnostic {\\r\\n domains {\\r\\n id\\r\\n siteUrl\\r\\n name(idn: false)\\r\\n baseDomain {\\r\\n id\\r\\n }\\r\\n websitesDiagnosticChecks {\\r\\n type\\r\\n date\\r\\n depth\\r\\n problems {\\r\\n name\\r\\n code\\r\\n }\\r\\n }\\r\\n }\\r\\n settings {\\r\\n date\\r\\n isRegularCheckEnabled\\r\\n isPromoShown\\r\\n documentationLink\\r\\n isNewDomainsChecked\\r\\n lastCheckDuration\\r\\n checkedDomains {\\r\\n id\\r\\n name(idn: false)\\r\\n }\\r\\n skippedDomains {\\r\\n id\\r\\n name(idn: false)\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"WebsitesDiagnosticPage\"] = oneQuery(doc, \"WebsitesDiagnosticPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SystemTimePage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtuozzo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"systemTime\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"day\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minutes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"seconds\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hours\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timezone\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timezones\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"daylightEnabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDaylightSavingChangeEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSynchronizeEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSynchronizeSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"synchronizedWith\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":479}};\n doc.loc.source = {\"body\":\"query SystemTimePage {\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n serverInfo {\\r\\n isVirtuozzo\\r\\n }\\r\\n systemTime {\\r\\n day,\\r\\n month,\\r\\n year,\\r\\n minutes,\\r\\n seconds,\\r\\n hours,\\r\\n timezone\\r\\n timezones {\\r\\n name,\\r\\n value,\\r\\n daylightEnabled\\r\\n }\\r\\n isDaylightSavingChangeEnabled,\\r\\n isSynchronizeEnabled,\\r\\n isSynchronizeSupported,\\r\\n synchronizedWith\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SystemTimePage\"] = oneQuery(doc, \"SystemTimePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSettingsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMailUiEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServerName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imapServerName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxMessageSize\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxConnections\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxConnectionsPerIp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMessageSubmissionEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"messageSubmissionIp\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingEmailMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingEmailModeIps\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEmailSubaddressingEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMboxQuotaWarningEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isFixSenderEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isListSecureLinksEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasLocalhostRelayingAddressesIpV4\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasLocalhostRelayingAddressesIpV6\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"autoReplyHeaders\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isShortPop3NameEnabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"autodiscover\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDnsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customServer\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"relay\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPopAuthEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lockTime\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpAuthEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"noRelayNetworks\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOpenRelayAllowed\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingMessages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isCountRecipientsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailboxLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSendmailEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reportPeriod\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"notificationPeriod\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowedReportPeriods\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowedNotificationPeriods\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamFilter\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDmarcEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSigningOutgoingMailEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVerifyingIncomingMailEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRblEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rblServer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSpfEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isErrorIgnored\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"behavior\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"localRules\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"guessRules\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"explanationText\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMaxLetterSizeChangeable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMessageSubmissionDedicatedIPSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMessageSubmissionAllIPSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayLockTimeSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeOpenSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeClosedSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeAuthSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeAuthPop3Supported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeAuthSmtpSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeAuthBothSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shortPop3NamesCompatibility\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRBLInstalled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":2652}};\n doc.loc.source = {\"body\":\"query ServerMailSettingsPage {\\r\\n serverMail {\\r\\n isMailUiEnabled\\r\\n settings {\\r\\n mailServerName\\r\\n imapServerName\\r\\n maxMessageSize\\r\\n maxConnections\\r\\n maxConnectionsPerIp\\r\\n isMessageSubmissionEnabled\\r\\n messageSubmissionIp {\\r\\n ipAddress\\r\\n }\\r\\n outgoingEmailMode\\r\\n outgoingEmailModeIps {\\r\\n ipAddress\\r\\n isIPv6\\r\\n }\\r\\n isEmailSubaddressingEnabled\\r\\n isMboxQuotaWarningEnabled\\r\\n isFixSenderEnabled\\r\\n isListSecureLinksEnabled\\r\\n hasLocalhostRelayingAddressesIpV4\\r\\n hasLocalhostRelayingAddressesIpV6\\r\\n autoReplyHeaders {\\r\\n name\\r\\n value\\r\\n }\\r\\n isShortPop3NameEnabled\\r\\n }\\r\\n autodiscover {\\r\\n isEnabled\\r\\n isDnsEnabled\\r\\n customServer\\r\\n }\\r\\n relay {\\r\\n type\\r\\n isPopAuthEnabled\\r\\n lockTime\\r\\n isSmtpAuthEnabled\\r\\n noRelayNetworks\\r\\n isOpenRelayAllowed\\r\\n }\\r\\n outgoingMessages {\\r\\n isEnabled\\r\\n isCountRecipientsEnabled\\r\\n mailboxLimit\\r\\n domainLimit\\r\\n subscriptionLimit\\r\\n isSendmailEnabled\\r\\n reportPeriod\\r\\n notificationPeriod\\r\\n allowedReportPeriods\\r\\n allowedNotificationPeriods\\r\\n }\\r\\n spamFilter {\\r\\n isDmarcEnabled\\r\\n isSigningOutgoingMailEnabled\\r\\n isVerifyingIncomingMailEnabled\\r\\n isRblEnabled\\r\\n rblServer\\r\\n isSpfEnabled\\r\\n isErrorIgnored\\r\\n behavior\\r\\n localRules\\r\\n guessRules\\r\\n explanationText\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n capability {\\r\\n mailServer {\\r\\n isMaxLetterSizeChangeable\\r\\n isMessageSubmissionDedicatedIPSupported\\r\\n isMessageSubmissionAllIPSupported\\r\\n isRelayLockTimeSupported\\r\\n isRelayTypeOpenSupported\\r\\n isRelayTypeClosedSupported\\r\\n isRelayTypeAuthSupported\\r\\n isRelayTypeAuthPop3Supported\\r\\n isRelayTypeAuthSmtpSupported\\r\\n isRelayTypeAuthBothSupported\\r\\n shortPop3NamesCompatibility\\r\\n }\\r\\n packages {\\r\\n isRBLInstalled\\r\\n }\\r\\n }\\r\\n server {\\r\\n ipAddresses {\\r\\n nodes {\\r\\n id\\r\\n ipAddress\\r\\n isIPv6\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSettingsPage\"] = oneQuery(doc, \"ServerMailSettingsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailTabs\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerMail\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerVirusProtection\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerSpamFilter\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerMailAutodiscover\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerMailBlackWhiteLists\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDomainsBlacklistSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpWhiteListSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmarthostAvailable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLocal\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAntiVirusInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSpamAssassinInstalled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyDrWeb\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyQmailQueue\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":707}};\n doc.loc.source = {\"body\":\"query ServerMailTabs {\\r\\n viewer {\\r\\n login\\r\\n permissions {\\r\\n manageServerMail\\r\\n manageServerVirusProtection\\r\\n manageServerSpamFilter\\r\\n manageServerMailAutodiscover\\r\\n manageServerMailBlackWhiteLists\\r\\n }\\r\\n }\\r\\n capability {\\r\\n mailServer {\\r\\n isDomainsBlacklistSupported\\r\\n isSmtpWhiteListSupported\\r\\n isSmarthostAvailable\\r\\n isLocal\\r\\n }\\r\\n packages {\\r\\n isAntiVirusInstalled\\r\\n isSpamAssassinInstalled\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n keyDrWeb\\r\\n keyQmailQueue\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailTabs\"] = oneQuery(doc, \"ServerMailTabs\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailBlackListPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blackList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"action\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamAssassin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":284}};\n doc.loc.source = {\"body\":\"query ServerMailBlackListPage {\\r\\n serverMail {\\r\\n blackList {\\r\\n id\\r\\n name\\r\\n action\\r\\n }\\r\\n spamAssassin {\\r\\n settings {\\r\\n isEnabled\\r\\n }\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailBlackListPage\"] = oneQuery(doc, \"ServerMailBlackListPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailWhiteListPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"whiteList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingMessages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"relay\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"noRelayNetworks\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpWhiteListSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpWhiteListWithWildcardSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpWhiteListWithCIDRSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":474}};\n doc.loc.source = {\"body\":\"query ServerMailWhiteListPage {\\r\\n serverMail {\\r\\n whiteList {\\r\\n id\\r\\n name\\r\\n }\\r\\n outgoingMessages {\\r\\n isEnabled\\r\\n }\\r\\n relay {\\r\\n noRelayNetworks\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n capability {\\r\\n mailServer {\\r\\n isSmtpWhiteListSupported\\r\\n isSmtpWhiteListWithWildcardSupported\\r\\n isSmtpWhiteListWithCIDRSupported\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailWhiteListPage\"] = oneQuery(doc, \"ServerMailWhiteListPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailAntivirusPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"antivirus\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isActive\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"antivirusPolicy\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"policy\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAppliedToIncoming\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAppliedToOutgoing\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":274}};\n doc.loc.source = {\"body\":\"query ServerMailAntivirusPage {\\r\\n serverMail {\\r\\n antivirus {\\r\\n key\\r\\n name\\r\\n isActive\\r\\n }\\r\\n antivirusPolicy {\\r\\n policy\\r\\n isAppliedToIncoming\\r\\n isAppliedToOutgoing\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailAntivirusPage\"] = oneQuery(doc, \"ServerMailAntivirusPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSpamFilterPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamAssassin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUserSettingsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUserSettingsAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"requiredHits\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxMailLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxThreadsLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tag\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alarmMessage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"languages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isTrusted\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"locales\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isTrusted\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isGreylistingProtectionEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxChildren\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxChildrenLimit\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUserSettingsSupported\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":885}};\n doc.loc.source = {\"body\":\"query ServerMailSpamFilterPage {\\r\\n serverMail {\\r\\n spamAssassin {\\r\\n settings {\\r\\n isEnabled\\r\\n isUserSettingsEnabled\\r\\n isUserSettingsAllowed\\r\\n requiredHits\\r\\n maxMailLimit\\r\\n maxThreadsLimit\\r\\n tag\\r\\n alarmMessage\\r\\n languages {\\r\\n key\\r\\n name\\r\\n isTrusted\\r\\n }\\r\\n locales {\\r\\n key\\r\\n name\\r\\n isTrusted\\r\\n }\\r\\n isGreylistingProtectionEnabled\\r\\n maxChildren\\r\\n maxChildrenLimit\\r\\n }\\r\\n }\\r\\n }\\r\\n capability {\\r\\n mailServer {\\r\\n isUserSettingsSupported\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSpamFilterPage\"] = oneQuery(doc, \"ServerMailSpamFilterPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSpamStatistics\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"PaginationInput\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"EmailStatisticsRecipientsSortingInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"emailStatistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamSummary\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clean\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"infected\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protected\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"skipped\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamRecipients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rows\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ratio\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalRows\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":569}};\n doc.loc.source = {\"body\":\"query ServerMailSpamStatistics(\\r\\n $from: String!\\r\\n $to: String!\\r\\n $pagination: PaginationInput!\\r\\n $orderBy: EmailStatisticsRecipientsSortingInput!\\r\\n) {\\r\\n emailStatistics {\\r\\n spamSummary(from: $from, to: $to) {\\r\\n clean\\r\\n infected\\r\\n protected\\r\\n skipped\\r\\n }\\r\\n spamRecipients(from: $from, to: $to, pagination: $pagination, orderBy: $orderBy) {\\r\\n rows {\\r\\n email\\r\\n count\\r\\n ratio\\r\\n }\\r\\n totalRows\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSpamStatistics\"] = oneQuery(doc, \"ServerMailSpamStatistics\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSmarthostPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"smarthost\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"smarthostEncryptionOptions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isServerEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAuthenticationRequired\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"username\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"encryption\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":318}};\n doc.loc.source = {\"body\":\"query ServerMailSmarthostPage {\\r\\n serverMail {\\r\\n smarthost {\\r\\n smarthostEncryptionOptions\\r\\n isServerEnabled\\r\\n host\\r\\n port\\r\\n isAuthenticationRequired\\r\\n username\\r\\n encryption\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSmarthostPage\"] = oneQuery(doc, \"ServerMailSmarthostPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PrimaryKeyInfoPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"potentialProblems\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revertKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseLocked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"license\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"disableOnExpiration\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":424}};\n doc.loc.source = {\"body\":\"query PrimaryKeyInfoPage {\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n potentialProblems\\r\\n properties {\\r\\n name\\r\\n description\\r\\n value\\r\\n }\\r\\n revertKey {\\r\\n pleskKeyId\\r\\n }\\r\\n }\\r\\n mode {\\r\\n isLicenseLocked\\r\\n isLicenseDefault\\r\\n isDemo\\r\\n }\\r\\n config {\\r\\n license {\\r\\n disableOnExpiration\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PrimaryKeyInfoPage\"] = oneQuery(doc, \"PrimaryKeyInfoPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MasterKeyProcessingState\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"masterKeyProcessingState\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"product\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportUrl\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":142}};\n doc.loc.source = {\"body\":\"query MasterKeyProcessingState {\\r\\n masterKeyProcessingState\\r\\n config {\\r\\n product {\\r\\n supportUrl\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MasterKeyProcessingState\"] = oneQuery(doc, \"MasterKeyProcessingState\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PrimaryKeyUploadPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseLocked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPowerUserPanel\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"license\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileUpload\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":178}};\n doc.loc.source = {\"body\":\"query PrimaryKeyUploadPage {\\r\\n mode {\\r\\n isLicenseLocked\\r\\n isPowerUserPanel\\r\\n }\\r\\n config {\\r\\n license {\\r\\n fileUpload\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PrimaryKeyUploadPage\"] = oneQuery(doc, \"PrimaryKeyUploadPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PrimaryKeyRevertPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revertKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":249}};\n doc.loc.source = {\"body\":\"query PrimaryKeyRevertPage {\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n revertKey {\\r\\n pleskKeyId\\r\\n properties {\\r\\n name\\r\\n description\\r\\n value\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PrimaryKeyRevertPage\"] = oneQuery(doc, \"PrimaryKeyRevertPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdditionalKeysPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseLocked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"additionalKeys\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyApp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":188}};\n doc.loc.source = {\"body\":\"query AdditionalKeysPage {\\r\\n mode {\\r\\n isLicenseLocked\\r\\n isDemo\\r\\n }\\r\\n additionalKeys {\\r\\n keyNumber\\r\\n keyName\\r\\n keyApp\\r\\n errors\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdditionalKeysPage\"] = oneQuery(doc, \"AdditionalKeysPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdditionalKeyUploadPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"license\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileUpload\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":111}};\n doc.loc.source = {\"body\":\"query AdditionalKeyUploadPage {\\r\\n config {\\r\\n license {\\r\\n fileUpload\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdditionalKeyUploadPage\"] = oneQuery(doc, \"AdditionalKeyUploadPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdditionalKeyInfoPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"additionalKey\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revertKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":301}};\n doc.loc.source = {\"body\":\"query AdditionalKeyInfoPage($id: ID!) {\\r\\n additionalKey(id: $id) {\\r\\n keyNumber\\r\\n properties {\\r\\n name\\r\\n description\\r\\n value\\r\\n }\\r\\n revertKey {\\r\\n keyNumber\\r\\n }\\r\\n errors\\r\\n }\\r\\n mode {\\r\\n isDemo\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdditionalKeyInfoPage\"] = oneQuery(doc, \"AdditionalKeyInfoPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdditionalKeyRevertPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"additionalKey\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revertKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":272}};\n doc.loc.source = {\"body\":\"query AdditionalKeyRevertPage($id: ID!) {\\r\\n additionalKey(id: $id) {\\r\\n keyNumber\\r\\n revertKey {\\r\\n keyNumber\\r\\n properties {\\r\\n name\\r\\n description\\r\\n value\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdditionalKeyRevertPage\"] = oneQuery(doc, \"AdditionalKeyRevertPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"FirewallGeneralPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"firewall\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"interfaces\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isConnected\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":269}};\n doc.loc.source = {\"body\":\"query FirewallGeneralPage {\\r\\n server {\\r\\n firewall {\\r\\n isEnabled\\r\\n interfaces {\\r\\n key\\r\\n name\\r\\n type\\r\\n isEnabled\\r\\n isConnected\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"FirewallGeneralPage\"] = oneQuery(doc, \"FirewallGeneralPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"FirewallIcmpPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"firewall\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icmpRules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":169}};\n doc.loc.source = {\"body\":\"query FirewallIcmpPage {\\r\\n server {\\r\\n firewall {\\r\\n icmpRules {\\r\\n key\\r\\n isEnabled\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"FirewallIcmpPage\"] = oneQuery(doc, \"FirewallIcmpPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"FirewallRulesPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"firewall\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"action\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protocol\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profiles\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"remoteAddresses\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isReadonly\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":347}};\n doc.loc.source = {\"body\":\"query FirewallRulesPage {\\r\\n server {\\r\\n firewall {\\r\\n rules {\\r\\n key\\r\\n name\\r\\n action\\r\\n port\\r\\n protocol\\r\\n profiles\\r\\n remoteAddresses\\r\\n isEnabled\\r\\n isReadonly\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"FirewallRulesPage\"] = oneQuery(doc, \"FirewallRulesPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerComponentsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"components\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"error\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"depends\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dependsType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"providesType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isConfigurable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configured\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowedByLicense\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parameters\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"required\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enum\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"disabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"disableReason\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hideGenerateButton\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"componentTypeInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"required\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"default\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packagesCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"categoryInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isConfigurable\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":971}};\n doc.loc.source = {\"body\":\"query ServerComponentsPage {\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n server {\\r\\n components {\\r\\n name\\r\\n version\\r\\n state\\r\\n status\\r\\n error\\r\\n depends\\r\\n dependsType\\r\\n providesType\\r\\n description\\r\\n isInstalled\\r\\n isConfigurable\\r\\n configured\\r\\n allowedByLicense\\r\\n parameters {\\r\\n name\\r\\n type\\r\\n label\\r\\n required\\r\\n description\\r\\n value\\r\\n enum\\r\\n disabled\\r\\n disableReason\\r\\n hideGenerateButton\\r\\n }\\r\\n componentTypeInfo {\\r\\n name\\r\\n required\\r\\n default\\r\\n packagesCount\\r\\n }\\r\\n categoryInfo {\\r\\n name\\r\\n isConfigurable\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerComponentsPage\"] = oneQuery(doc, \"ServerComponentsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressTypeEnum\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressListSort\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"firewall\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"}}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"searchFilters\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"interface\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mask\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBlacklisted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMissing\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionsCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellersCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftpOverSSL\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasPublicIp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canReloadPublic\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPowerUserPanel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageResellers\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtuozzo\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":1235}};\n doc.loc.source = {\"body\":\"query IpAddressPage(\\r\\n $type: IpAddressTypeEnum,\\r\\n $search: String,\\r\\n $page: Int,\\r\\n $itemsPerPage: Int,\\r\\n $orderBy: IpAddressListSort\\r\\n) {\\r\\n server {\\r\\n firewall {\\r\\n isEnabled\\r\\n }\\r\\n ipAddresses(\\r\\n input: {\\r\\n pagination: { page: $page, itemsPerPage: $itemsPerPage },\\r\\n searchFilters: { type: $type, ipAddress: $search },\\r\\n orderBy: $orderBy\\r\\n }\\r\\n ) {\\r\\n nodes {\\r\\n id\\r\\n ipAddress\\r\\n publicIpAddress\\r\\n interface\\r\\n mask\\r\\n type\\r\\n isBlacklisted\\r\\n isMain\\r\\n isBroken\\r\\n isMissing\\r\\n subscriptionsCount\\r\\n resellersCount\\r\\n ftpOverSSL\\r\\n }\\r\\n pageInfo {\\r\\n total\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n hasPublicIp\\r\\n canReloadPublic\\r\\n }\\r\\n }\\r\\n mode {\\r\\n isDemo\\r\\n isPowerUserPanel\\r\\n canManageResellers\\r\\n }\\r\\n serverInfo {\\r\\n isVirtuozzo\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IpAddressPage\"] = oneQuery(doc, \"IpAddressPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressUsage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddress\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"RESELLER\"}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"unassignedResellers\"},\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"RESELLER\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":421}};\n doc.loc.source = {\"body\":\"query IpAddressUsage($id: ID!){\\r\\n ipAddress:node(id: $id) {\\r\\n ... on IpAddress {\\r\\n id\\r\\n type\\r\\n ipAddress\\r\\n clients(filter:{type: RESELLER}) {\\r\\n id\\r\\n name\\r\\n }\\r\\n unassignedResellers: clients(filter:{ type: RESELLER, unassigned: true }) {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IpAddressUsage\"] = oneQuery(doc, \"IpAddressUsage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UnassignedIpAddressResellers\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddress\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"unassignedResellers\"},\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"RESELLER\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":348}};\n doc.loc.source = {\"body\":\"query UnassignedIpAddressResellers($id: ID!){\\r\\n ipAddress:node(id: $id) {\\r\\n ... on IpAddress {\\r\\n id\\r\\n type\\r\\n ipAddress\\r\\n type\\r\\n unassignedResellers: clients(filter:{ type: RESELLER, unassigned: true }) {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"UnassignedIpAddressResellers\"] = oneQuery(doc, \"UnassignedIpAddressResellers\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientIpAddress\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"availableIpAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allocatedType\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftpOverSSL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"certificate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPoolEditable\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftp\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isExplicitSSL\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1054}};\n doc.loc.source = {\"body\":\"query ClientIpAddress($clientId: ID!) {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n client {\\r\\n id\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n client: node(id: $clientId) {\\r\\n ... on Client {\\r\\n id\\r\\n login\\r\\n availableIpAddress: ipAddresses(filter: { unassigned: true }) {\\r\\n id\\r\\n }\\r\\n ipAddresses {\\r\\n id\\r\\n ipAddress\\r\\n isBroken\\r\\n type(clientId: $clientId)\\r\\n allocatedType(clientId: $clientId)\\r\\n ftpOverSSL\\r\\n certificate {\\r\\n id\\r\\n name\\r\\n ownerName\\r\\n }\\r\\n domains(filter: { clientId: $clientId }) {\\r\\n id\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n server {\\r\\n ipAddresses {\\r\\n isPoolEditable(clientId: $clientId)\\r\\n }\\r\\n }\\r\\n capability {\\r\\n ftp {\\r\\n isExplicitSSL\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ClientIpAddress\"] = oneQuery(doc, \"ClientIpAddress\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientIpAddressForm\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddressId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftp\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isExplicitSSL\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddressId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddress\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"interface\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allocatedType\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"typeChangeableInClientPool\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftpOverSSL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"certificate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerName\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"certificates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerName\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1056}};\n doc.loc.source = {\"body\":\"query ClientIpAddressForm($ipAddressId: ID!, $clientId: ID!) {\\r\\n capability {\\r\\n ftp {\\r\\n isExplicitSSL\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n ipAddress: node(id: $ipAddressId) {\\r\\n ... on IpAddress {\\r\\n id\\r\\n ipAddress\\r\\n interface\\r\\n type(clientId: $clientId)\\r\\n allocatedType(clientId: $clientId)\\r\\n typeChangeableInClientPool(clientId: $clientId)\\r\\n isBroken\\r\\n ftpOverSSL\\r\\n domains(filter:{ clientId: $clientId }) {\\r\\n id\\r\\n name\\r\\n }\\r\\n defaultDomain {\\r\\n id\\r\\n name\\r\\n }\\r\\n certificate {\\r\\n id\\r\\n name\\r\\n ownerName\\r\\n }\\r\\n }\\r\\n }\\r\\n client: node(id: $clientId) {\\r\\n ...on Client {\\r\\n id\\r\\n type\\r\\n certificates {\\r\\n id\\r\\n name\\r\\n ownerName\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ClientIpAddressForm\"] = oneQuery(doc, \"ClientIpAddressForm\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AssignClientIpAddress\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"availableIpAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":302}};\n doc.loc.source = {\"body\":\"query AssignClientIpAddress($clientId: ID!) {\\r\\n client: node(id: $clientId) {\\r\\n ... on Client {\\r\\n id\\r\\n login\\r\\n availableIpAddress: ipAddresses(filter: { unassigned: true }) {\\r\\n id\\r\\n ipAddress\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AssignClientIpAddress\"] = oneQuery(doc, \"AssignClientIpAddress\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PhpExtensionsPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phpHandler\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cliPath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phpExtensions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"affectedHandlers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"php\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pecl\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minVersion\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":450}};\n doc.loc.source = {\"body\":\"query PhpExtensionsPage($id: ID!) {\\r\\n phpHandler(id: $id) {\\r\\n id\\r\\n name\\r\\n version\\r\\n cliPath\\r\\n phpExtensions {\\r\\n name\\r\\n enabled\\r\\n }\\r\\n affectedHandlers {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n config {\\r\\n php {\\r\\n pecl {\\r\\n enabled\\r\\n minVersion\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PhpExtensionsPage\"] = oneQuery(doc, \"PhpExtensionsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TsSessionPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tsSessions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"info\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":150}};\n doc.loc.source = {\"body\":\"query TsSessionPage($ids: [ID!]!) {\\r\\n tsSessions(ids: $ids) {\\r\\n id\\r\\n info {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TsSessionPage\"] = oneQuery(doc, \"TsSessionPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TsSessions\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tsSessions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":125}};\n doc.loc.source = {\"body\":\"query TsSessions($ids: [ID!]) {\\r\\n tsSessions(ids: $ids) {\\r\\n name\\r\\n state\\r\\n user\\r\\n id\\r\\n }\\r\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TsSessions\"] = oneQuery(doc, \"TsSessions\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AspDotNetServerSettings\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspNetSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"connStrings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customErrMode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"culture\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"debugMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authMode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customErrors\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canDelete\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"values\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"redirectUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statusCode\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reqEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sessTimeout\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tempDirectory\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trustLevelAllowOverride\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uiCulture\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defLanguage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trustLevel\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1837}};\n doc.loc.source = {\"body\":\"query AspDotNetServerSettings {\\r\\n server {\\r\\n aspNetSettings {\\r\\n configs {\\r\\n version\\r\\n connStrings {\\r\\n name\\r\\n value\\r\\n }\\r\\n\\r\\n customErrMode {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n culture {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n\\r\\n debugMode\\r\\n authMode {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n customErrors {\\r\\n canDelete\\r\\n values {\\r\\n redirectUrl\\r\\n statusCode\\r\\n }\\r\\n }\\r\\n fileEnc\\r\\n reqEnc\\r\\n resEnc\\r\\n sessTimeout\\r\\n tempDirectory\\r\\n trustLevelAllowOverride\\r\\n uiCulture {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n\\r\\n defLanguage {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n trustLevel {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AspDotNetServerSettings\"] = oneQuery(doc, \"AspDotNetServerSettings\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerAboutPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"editionName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productVersion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"patch\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"product\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"siteUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blogUrl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"feedback\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forumUrl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"facebook\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskPage\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"twitter\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskPage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":463}};\n doc.loc.source = {\"body\":\"query ServerAboutPage {\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n editionName\\r\\n }\\r\\n server {\\r\\n productVersion {\\r\\n name\\r\\n version\\r\\n patch\\r\\n }\\r\\n }\\r\\n config {\\r\\n product {\\r\\n siteUrl\\r\\n blogUrl\\r\\n }\\r\\n feedback {\\r\\n forumUrl\\r\\n }\\r\\n facebook {\\r\\n pleskPage\\r\\n }\\r\\n twitter {\\r\\n pleskPage\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerAboutPage\"] = oneQuery(doc, \"ServerAboutPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MassMailPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"MassEmailTemplateListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"massEmail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templates\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fromEmail\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToAdmins\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToResellersMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToClientsMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subject\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"created\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":673}};\n doc.loc.source = {\"body\":\"query MassMailPage($input: MassEmailTemplateListInput) {\\r\\n massEmail {\\r\\n templates(input: $input) {\\r\\n nodes {\\r\\n templateId\\r\\n name\\r\\n fromEmail\\r\\n sendToAdmins\\r\\n sendToResellers\\r\\n sendToResellersMode\\r\\n sendToClients\\r\\n sendToClientsMode\\r\\n subject\\r\\n created\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MassMailPage\"] = oneQuery(doc, \"MassMailPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateMassMailTemplatePage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":245}};\n doc.loc.source = {\"body\":\"query CreateMassMailTemplatePage {\\r\\n viewer {\\r\\n login\\r\\n customers {\\r\\n id\\r\\n name\\r\\n email\\r\\n }\\r\\n resellers {\\r\\n id\\r\\n name\\r\\n email\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CreateMassMailTemplatePage\"] = oneQuery(doc, \"CreateMassMailTemplatePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SendMassMailPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"massEmail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":377}};\n doc.loc.source = {\"body\":\"query SendMassMailPage {\\r\\n massEmail {\\r\\n templates {\\r\\n nodes {\\r\\n templateId\\r\\n name\\r\\n }\\r\\n }\\r\\n }\\r\\n viewer {\\r\\n login\\r\\n customers {\\r\\n id\\r\\n name\\r\\n email\\r\\n }\\r\\n resellers {\\r\\n id\\r\\n name\\r\\n email\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SendMassMailPage\"] = oneQuery(doc, \"SendMassMailPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"EditMassMailTemplatePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"numericId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"massEmail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fromEmail\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToAdmins\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToResellersMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToClientsMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subject\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateResellers\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"templateId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"numericId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"contacts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateClients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"templateId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"numericId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"contacts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":805}};\n doc.loc.source = {\"body\":\"query EditMassMailTemplatePage($id: ID!, $numericId: Int!) {\\r\\n viewer {\\r\\n login\\r\\n customers {\\r\\n id\\r\\n name\\r\\n email\\r\\n }\\r\\n resellers {\\r\\n id\\r\\n name\\r\\n email\\r\\n }\\r\\n }\\r\\n massEmail {\\r\\n template(id: $id) {\\r\\n name\\r\\n fromEmail\\r\\n sendToAdmins\\r\\n sendToResellers\\r\\n sendToResellersMode\\r\\n sendToClients\\r\\n sendToClientsMode\\r\\n subject\\r\\n body\\r\\n }\\r\\n templateResellers(templateId: $numericId) {\\r\\n contacts {\\r\\n id\\r\\n }\\r\\n }\\r\\n templateClients(templateId: $numericId) {\\r\\n contacts {\\r\\n id\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"EditMassMailTemplatePage\"] = oneQuery(doc, \"EditMassMailTemplatePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ActionLogPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdminAlias\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"actionLog\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"objects\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"actions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rotate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"records\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"period\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minDate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":492}};\n doc.loc.source = {\"body\":\"query ActionLogPage {\\r\\n viewer {\\r\\n isAdminAlias\\r\\n login\\r\\n }\\r\\n actionLog {\\r\\n objects {\\r\\n name\\r\\n displayName\\r\\n enabled\\r\\n actions {\\r\\n displayName\\r\\n enabled\\r\\n }\\r\\n }\\r\\n rotate {\\r\\n type\\r\\n records\\r\\n period {\\r\\n value\\r\\n unit\\r\\n }\\r\\n }\\r\\n minDate {\\r\\n year\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ActionLogPage\"] = oneQuery(doc, \"ActionLogPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerSettingsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidSysUserRename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"disableIpLogging\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidCreateDnsSubZone\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidSubscriptionRename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullHostName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeAdminDumps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeDomainDumps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeLogs\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeMailboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeMssqlDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includePgsqlDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeMysqlDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeRemoteDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logrotateAnonymizeIps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logrotateForce\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logrotatePeriod\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preferredDomain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sizeCountType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficAccounting\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficStatisticsPeriod\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webDeployIncludePassword\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPumAllowed\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":893}};\n doc.loc.source = {\"body\":\"query ServerSettingsPage {\\r\\n server {\\r\\n settings {\\r\\n forbidSysUserRename\\r\\n disableIpLogging\\r\\n forbidCreateDnsSubZone\\r\\n forbidSubscriptionRename\\r\\n fullHostName\\r\\n includeAdminDumps\\r\\n includeDatabases\\r\\n includeDomainDumps\\r\\n includeLogs\\r\\n includeMailLists\\r\\n includeMailboxes\\r\\n includeMssqlDatabases\\r\\n includePgsqlDatabases\\r\\n includeMysqlDatabases\\r\\n includeRemoteDatabases\\r\\n logrotateAnonymizeIps\\r\\n logrotateForce\\r\\n logrotatePeriod\\r\\n preferredDomain\\r\\n sizeCountType\\r\\n trafficAccounting\\r\\n trafficStatisticsPeriod\\r\\n webDeployIncludePassword\\r\\n }\\r\\n }\\r\\n mode {\\r\\n isPumAllowed\\r\\n }\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerSettingsPage\"] = oneQuery(doc, \"ServerSettingsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailTabs\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerSpamFilter\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerMailBlackWhiteLists\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSpamAssassinInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isGreyListingInstalled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":307}};\n doc.loc.source = {\"body\":\"query ServerMailTabs {\\r\\n viewer {\\r\\n login\\r\\n permissions {\\r\\n manageServerSpamFilter\\r\\n manageServerMailBlackWhiteLists\\r\\n }\\r\\n }\\r\\n capability {\\r\\n packages {\\r\\n isSpamAssassinInstalled\\r\\n isGreyListingInstalled\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailTabs\"] = oneQuery(doc, \"ServerMailTabs\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSpamFilterBlackListPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamAssassin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blackList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"level\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":235}};\n doc.loc.source = {\"body\":\"query ServerMailSpamFilterBlackListPage {\\r\\n serverMail {\\r\\n spamAssassin {\\r\\n blackList {\\r\\n id\\r\\n name\\r\\n level\\r\\n status\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSpamFilterBlackListPage\"] = oneQuery(doc, \"ServerMailSpamFilterBlackListPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSpamFilterWhiteListPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamAssassin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"whiteList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"level\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":235}};\n doc.loc.source = {\"body\":\"query ServerMailSpamFilterWhiteListPage {\\r\\n serverMail {\\r\\n spamAssassin {\\r\\n whiteList {\\r\\n id\\r\\n name\\r\\n level\\r\\n status\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSpamFilterWhiteListPage\"] = oneQuery(doc, \"ServerMailSpamFilterWhiteListPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable camelcase */\r\n\r\nimport { useState, useMemo, useEffect, useInsertionEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useQuery } from '@apollo/client';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { FormFieldText, FormFieldPassword, Action, StatusMessage, Link } from '@plesk/ui-library';\r\nimport { Locale, render } from 'jsw';\r\nimport JswComponent from '../../jsw/JswComponent';\r\nimport RouteLink from 'components/common/Link';\r\nimport Form from 'components/Form';\r\nimport { withLoginLayout } from '../../layouts/LoginLayout';\r\nimport LoginMobileApplicationPromotion from './LoginMobileApplicationPromotion';\r\nimport SuggestResolvableHostname from './SuggestResolvableHostname';\r\nimport LocaleSwitcher from 'components/common/LocaleSwitcher';\r\nimport { usePageData } from 'helpers/pageData';\r\n\r\nconst Translate = Locale.getTranslate('components.forms.login');\r\n\r\nimport LOGIN_PAGE_QUERY from 'queries/LoginPage.graphql';\r\n\r\nconst LoginPage = ({ values: defaultValues = undefined }) => {\r\n const navigate = useNavigate();\r\n const { status } = usePageData();\r\n const { data: {\r\n config,\r\n serverInfo: { isFirstLogin, cloudType },\r\n loginContentInclude: { headContent, bodyContent },\r\n } } = useQuery(LOGIN_PAGE_QUERY);\r\n const values = useMemo(() => ({\r\n login_name: '',\r\n passwd: '',\r\n locale_id: 'default',\r\n ...defaultValues,\r\n }), [defaultValues]);\r\n const [errors, setErrors] = useState({});\r\n\r\n useInsertionEffect(() => {\r\n if (!headContent) {\r\n return;\r\n }\r\n\r\n const addedElements = [];\r\n const first = document.head.childNodes.length;\r\n render(document.head, headContent);\r\n const last = document.head.childNodes.length;\r\n\r\n for (let i = first; i < last; i++) {\r\n addedElements.push(document.head.childNodes[i]);\r\n }\r\n\r\n return () => {\r\n addedElements.forEach(el => {\r\n document.head.removeChild(el);\r\n });\r\n };\r\n }, [headContent]);\r\n\r\n useEffect(() => {\r\n document.querySelector('input[name=\"locale_id\"]').value = values?.locale_id ?? 'default';\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const handleSubmit = values => {\r\n const errors = {};\r\n if (values.login_name === '') {\r\n errors.login_name = {\r\n empty: ,\r\n };\r\n }\r\n if (values.passwd === '') {\r\n errors.passwd = {\r\n empty: ,\r\n };\r\n }\r\n setErrors(errors);\r\n\r\n if (!Object.keys(errors).length) {\r\n return {\r\n ...values,\r\n locale_id: document.querySelector('input[name=\"locale_id\"]').value,\r\n };\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {(isFirstLogin && cloudType === 'DO') ? (\r\n \r\n \r\n \r\n \r\n ) }\r\n }\r\n />\r\n \r\n ) : (isFirstLogin && cloudType === 'AMI_LIGHTSAIL') ? (\r\n \r\n \r\n \r\n \r\n ) }\r\n }\r\n />\r\n \r\n ) : null }\r\n ,\r\n fill: true,\r\n className: 'login-page__login-button',\r\n 'data-action': 'log-in',\r\n }}\r\n onSubmit={handleSubmit}\r\n vertical\r\n values={values}\r\n errors={errors}\r\n className=\"login-page__form\"\r\n >\r\n
              \r\n }\r\n autoFocus\r\n size=\"fill\"\r\n />\r\n }\r\n hideGenerateButton\r\n hidePasswordMeter\r\n size=\"fill\"\r\n />\r\n \r\n
              \r\n \r\n
              \r\n {config?.login?.howToLoginArticle ? (\r\n \r\n \r\n \r\n ) : null}\r\n {\r\n e.preventDefault();\r\n const locale = document.querySelector('input[name=\"locale_id\"]').value;\r\n const url = e.target.closest('a').getAttribute('href');\r\n navigate(`${url}${locale && locale !== 'default' ? `?locale=${encodeURIComponent(locale)}` : ''}`);\r\n }}\r\n data-action=\"reset-password\"\r\n >\r\n \r\n \r\n {config?.gdpr?.cookieSettings?.loginFormEntrypointEnabled && (\r\n \r\n \r\n \r\n )}\r\n
              \r\n {bodyContent ? (\r\n {bodyContent}\r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nLoginPage.propTypes = {\r\n values: PropTypes.shape({\r\n login_name: PropTypes.string,\r\n passwd: PropTypes.string,\r\n locale_id: PropTypes.string,\r\n }),\r\n};\r\n\r\nexport default withLoginLayout(LoginPage, ({ values }) => {\r\n const { data: {\r\n locales,\r\n viewer: { resolvableHostname, mobileApplicationPromotion, background },\r\n loginContentInclude: { bodyContent },\r\n } } = useQuery(LOGIN_PAGE_QUERY);\r\n\r\n return {\r\n actions: locales.length > 1 ? (\r\n {\r\n document.querySelector('input[name=\"locale_id\"]').value = value;\r\n document.documentElement.lang = value.split('-')[0];\r\n\r\n const locale = locales.find(({ code }) => code === value);\r\n if (bodyContent || locale?.isRtl !== (document.documentElement.dir === 'rtl')) {\r\n document.getElementById('form-login').submit();\r\n } else {\r\n Locale.loadSections(Object.keys(Locale.sections), value);\r\n }\r\n }}\r\n />\r\n ) : undefined,\r\n contentAddon: [\r\n resolvableHostname ? (\r\n \r\n ) : null,\r\n mobileApplicationPromotion ? (\r\n \r\n ) : null,\r\n ],\r\n background,\r\n };\r\n});\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Form as BaseForm, setIn, getIn, StatusMessage } from '@plesk/ui-library';\r\nimport { forwardRef, useState, useEffect, useMemo, useImperativeHandle, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { redirect, redirectPost, api, showInternalError, escapeHtml, render } from 'jsw';\r\nimport { toFormData } from 'helpers/form';\r\nimport JswComponent from './jsw/JswComponent';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { isClientSideRedirectAllowed } from 'routes';\r\n\r\nconst clearMessages = root => {\r\n root.querySelectorAll('.field-errors').forEach(errors => {\r\n errors.style.display = 'none';\r\n errors.closest('.form-row')?.classList.remove('error');\r\n errors.querySelectorAll('.error-hint').forEach(error => {\r\n error.parentNode.removeChild(error);\r\n });\r\n });\r\n};\r\n\r\nconst processFieldMessage = (root, prefix, name, message) => {\r\n let fieldErrors;\r\n const formElement = root.querySelector(`#${prefix.join('-')}`);\r\n fieldErrors = formElement ? formElement.parentNode.querySelector('.field-errors') : null;\r\n if (!fieldErrors) {\r\n fieldErrors = formElement ? formElement.closest('.form-row').querySelector('.field-errors') : null;\r\n }\r\n if (!fieldErrors) {\r\n fieldErrors = root.querySelector(`#${prefix.join('-')}-form-row`).querySelectorAll('.field-errors');\r\n fieldErrors = fieldErrors[fieldErrors.length - 1];\r\n }\r\n\r\n fieldErrors.closest('.form-row').classList.add('error');\r\n render(fieldErrors, `${escapeHtml(message)}`);\r\n fieldErrors.style.display = '';\r\n};\r\n\r\nconst processFieldMessages = (root, messages, prefix) => {\r\n if (Array.isArray(messages)) {\r\n messages.forEach(message => {\r\n if (typeof message === 'string') {\r\n processFieldMessage(root, prefix, 'error', message);\r\n } else {\r\n prefix.push(name);\r\n processFieldMessages(root, message, prefix);\r\n prefix.pop();\r\n }\r\n });\r\n } else {\r\n Object.entries(messages).forEach(([key, value]) => {\r\n if (typeof value === 'string') {\r\n processFieldMessage(root, prefix, key, value);\r\n } else {\r\n prefix.push(key);\r\n processFieldMessages(root, value, prefix);\r\n prefix.pop();\r\n }\r\n });\r\n }\r\n};\r\n\r\nconst findSubFormFields = (formId, subFormPrefix, callback) => {\r\n if (subFormPrefix.length === 0 || typeof callback !== 'function') {\r\n return;\r\n }\r\n const formData = new FormData([...document.forms].find(({ id }) => id === formId));\r\n for (const entry of formData.entries()) {\r\n const [key, value] = entry;\r\n if (subFormPrefix.some(prefix => key.startsWith(prefix))) {\r\n callback(key, value);\r\n }\r\n }\r\n};\r\n\r\nconst getSubFormPrefixes = (formPrefix, embeddedForms) => (embeddedForms || []).reduce((acc, { name }) => [\r\n ...acc,\r\n `${formPrefix}[${name}]`,\r\n name,\r\n], []);\r\n\r\nconst setElementValue = (name, value) => {\r\n const elements = document.getElementsByName(name);\r\n elements.forEach(element => {\r\n if (element.type === 'checkbox' || element.type === 'radio') {\r\n element.checked = element.value === value;\r\n } else if (element.type === 'hidden' &&\r\n Array.prototype.filter.call(elements, ({ type }) => type === 'checkbox').length > 0) {\r\n // set only checkbox state\r\n } else {\r\n element.value = value;\r\n }\r\n });\r\n};\r\n\r\nconst Form = forwardRef(({\r\n children = null,\r\n id = undefined,\r\n action = undefined,\r\n mutation = undefined,\r\n values = undefined,\r\n onFieldChange = undefined,\r\n onSubmit = undefined,\r\n onError = undefined,\r\n onSuccess = undefined,\r\n onLongTask = undefined,\r\n embeddedForms = undefined,\r\n formPrefix = '',\r\n embeddedFormsRender = undefined,\r\n statusMessages: messages = undefined,\r\n errors: defaultErrors = undefined,\r\n ...props\r\n}, ref) => {\r\n const navigate = useNavigate();\r\n const innerRef = useRef(null);\r\n const statusRef = useRef(null);\r\n const [errors, setErrors] = useState({});\r\n const [statusMessages, setStatusMessages] = useState(messages ?? []);\r\n const [state, setState] = useState(null);\r\n\r\n const formErrors = useMemo(() => ({ ...errors, ...(defaultErrors || {}) }), [errors, defaultErrors]);\r\n\r\n useEffect(() => {\r\n (embeddedForms || []).forEach(({ name }) => {\r\n const form = document.getElementById(`embedded-form-${name}`);\r\n clearMessages(form);\r\n\r\n const subFormErrors = (formPrefix ? errors[formPrefix] || {} : errors)[name] || {};\r\n processFieldMessages(form, subFormErrors, formPrefix ? [formPrefix, name] : [name]);\r\n });\r\n }, [errors, embeddedForms, formPrefix]);\r\n\r\n useEffect(() => {\r\n findSubFormFields(id, getSubFormPrefixes(formPrefix, embeddedForms), (key, value) => {\r\n const previousValue = getIn(values, key, value);\r\n setElementValue(key, previousValue);\r\n });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [embeddedForms]);\r\n\r\n useImperativeHandle(ref, () => ({\r\n handleEmbeddedFormValues() {\r\n findSubFormFields(id, getSubFormPrefixes(formPrefix, embeddedForms), onFieldChange);\r\n },\r\n submit() {\r\n innerRef.current.submit();\r\n },\r\n }), [id, onFieldChange, embeddedForms, formPrefix, innerRef]);\r\n\r\n useEffect(() => {\r\n if (statusMessages.length) {\r\n statusRef.current.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n }, [statusMessages]);\r\n\r\n const handleSubmit = async (values, isApply) => {\r\n findSubFormFields(id, getSubFormPrefixes(formPrefix, embeddedForms), (key, value) => {\r\n values = setIn(values, key, value);\r\n });\r\n if (typeof onSubmit === 'function') {\r\n // eslint-disable-next-line require-atomic-updates\r\n values = await onSubmit(values, isApply);\r\n }\r\n if (!values) {\r\n return;\r\n }\r\n\r\n setStatusMessages([]);\r\n setErrors({});\r\n\r\n const formState = isApply ? 'apply' : 'submit';\r\n setState(formState);\r\n\r\n if (mutation) {\r\n try {\r\n const { data } = await mutation({ variables: { input: values } });\r\n if (typeof onSuccess === 'function') {\r\n onSuccess(data, isApply);\r\n }\r\n } catch (error) {\r\n const { graphQLErrors } = error;\r\n\r\n if (!graphQLErrors?.length) {\r\n setStatusMessages([{ status: 'error', content: error.message }]);\r\n return;\r\n }\r\n\r\n if (graphQLErrors[0].extensions?.category === 'validate') {\r\n const errors = graphQLErrors[0].extensions.messages;\r\n setErrors(errors);\r\n if (typeof onError === 'function') {\r\n onError(errors);\r\n }\r\n } else {\r\n setStatusMessages([{\r\n status: 'error',\r\n content: graphQLErrors[0].extensions?.debugMessage || graphQLErrors[0].message,\r\n }]);\r\n }\r\n } finally {\r\n setState(null);\r\n }\r\n return;\r\n }\r\n\r\n try {\r\n handleSubmitSuccess(await api.post(action || window.location.href, toFormData(values)), formState);\r\n } catch (e) {\r\n setState(null);\r\n showInternalError(e);\r\n }\r\n };\r\n\r\n const handleSubmitSuccess = (response, formState) => {\r\n if (response.componentType === 'Jsw.Task.ProgressBar.Item' && typeof onLongTask === 'function') {\r\n onLongTask(response);\r\n return;\r\n }\r\n const isApply = formState === 'apply';\r\n\r\n const { status, redirect: url, forceRedirect = false, postData, target, formMessages, statusMessages = [] } = response;\r\n if (url) {\r\n if (typeof onSuccess === 'function') {\r\n onSuccess();\r\n }\r\n\r\n if (isApply) {\r\n const { pathname } = window.location;\r\n if (isClientSideRedirectAllowed(pathname)) {\r\n navigate(pathname, { replace: true });\r\n setState(null);\r\n } else {\r\n document.location.reload();\r\n }\r\n } else if (postData) {\r\n redirectPost(url, postData, target);\r\n } else {\r\n (isClientSideRedirectAllowed(url) && !forceRedirect) ? navigate(url) : redirect(url, null, target);\r\n }\r\n } else {\r\n setState(null);\r\n setStatusMessages(statusMessages);\r\n setErrors(formMessages);\r\n if (!formMessages && status !== 'error' && typeof onSuccess === 'function') {\r\n onSuccess(response, isApply);\r\n }\r\n if (formMessages && typeof onError === 'function') {\r\n onError(formMessages, setErrors);\r\n }\r\n }\r\n };\r\n\r\n const renderStatusMessages = () => {\r\n if (!statusMessages.length) {\r\n return null;\r\n }\r\n return (\r\n \r\n {statusMessages.map(({ status, content, title }) => (\r\n \r\n {title ? <>{title}{':'}{' '} : null}\r\n \r\n \r\n ))}\r\n \r\n );\r\n };\r\n\r\n const renderEmbeddedForms = () => (embeddedForms || []).map(({ name, content }) => (\r\n \r\n {content}\r\n \r\n ));\r\n\r\n return (\r\n \r\n {renderStatusMessages()}\r\n {children}\r\n {embeddedFormsRender ? embeddedFormsRender(renderEmbeddedForms()) : renderEmbeddedForms()}\r\n \r\n );\r\n});\r\n\r\n/* eslint-disable react/require-default-props */\r\nForm.propTypes = {\r\n children: PropTypes.node,\r\n id: PropTypes.string,\r\n action: PropTypes.string,\r\n mutation: PropTypes.func,\r\n values: PropTypes.object,\r\n onFieldChange: PropTypes.func,\r\n onSubmit: PropTypes.func,\r\n onError: PropTypes.func,\r\n onSuccess: PropTypes.func,\r\n onLongTask: PropTypes.func,\r\n embeddedForms: PropTypes.array,\r\n formPrefix: PropTypes.string,\r\n embeddedFormsRender: PropTypes.func,\r\n errors: PropTypes.object,\r\n statusMessages: PropTypes.array,\r\n};\r\n\r\nForm.displayName = 'Form';\r\n\r\nexport default Form;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useLayoutEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Brand from './Brand';\r\nimport CookiePolicy from './CookiePolicy';\r\nimport LayoutBackground from './LayoutBackground';\r\n\r\nconst LoginLayout = ({\r\n children = undefined,\r\n actions = undefined,\r\n ...props\r\n}) => {\r\n useLayoutEffect(() => {\r\n document.body.classList.add('sid-login');\r\n return () => {\r\n document.body.classList.remove('sid-login');\r\n };\r\n }, []);\r\n\r\n return (\r\n
              \r\n \r\n \r\n
              \r\n \r\n
              \r\n {actions ? (\r\n
              \r\n {actions}\r\n
              \r\n ) : null}\r\n
              \r\n )}\r\n {...props}\r\n >\r\n
              \r\n {children}\r\n
              \r\n \r\n
              \r\n );\r\n};\r\n\r\nLoginLayout.propTypes = {\r\n children: PropTypes.any,\r\n actions: PropTypes.any,\r\n customBackground: PropTypes.shape({\r\n file: PropTypes.string,\r\n color: PropTypes.string.isRequired,\r\n fit: PropTypes.string.isRequired,\r\n }),\r\n};\r\n\r\nexport const withLoginLayout = (Component, extraProps) => {\r\n const Wrapper = wrapperProps => {\r\n const {\r\n contentAddon,\r\n actions,\r\n background,\r\n ...props\r\n } = {\r\n ...wrapperProps,\r\n ...(typeof extraProps === 'function' ? extraProps(wrapperProps) : extraProps),\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n Wrapper.displayName = `withLoginLayout(${Component.displayName || Component.name || 'Component'})`;\r\n Wrapper.WrappedComponent = Component;\r\n\r\n return Wrapper;\r\n};\r\n\r\nexport default LoginLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport classNames from 'classnames';\r\nimport { Layout } from '@plesk/ui-library';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst LayoutBackground = ({\r\n customBackground = {\r\n file: undefined,\r\n color: '#4B4B4B',\r\n fit: 'fill',\r\n },\r\n header = undefined,\r\n className = '',\r\n ...props\r\n}) => (\r\n \r\n);\r\n\r\nLayoutBackground.propTypes = {\r\n customBackground: PropTypes.shape({\r\n file: PropTypes.string,\r\n color: PropTypes.string.isRequired,\r\n fit: PropTypes.string.isRequired,\r\n }),\r\n className: PropTypes.string,\r\n header: PropTypes.node,\r\n};\r\n\r\nexport default LayoutBackground;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Heading, Alert, Media, MediaSection, Icon, Button } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport Cookie from 'common/cookie';\r\n\r\nconst Translate = Locale.getTranslate('components.forms.login');\r\n\r\nconst MOBILE_APPLICATION_PROMOTION_COOKIE_NAME = 'mobile-application-promotion-hidden';\r\n\r\nconst LoginMobileApplicationPromotion = ({\r\n baseClassName = 'login-mobile-application-promotion',\r\n className = undefined,\r\n name,\r\n url,\r\n icon = undefined,\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(Boolean(Cookie.get(MOBILE_APPLICATION_PROMOTION_COOKIE_NAME) !== '1'));\r\n\r\n const handleHide = () => {\r\n setIsVisible(false);\r\n Cookie.setPermanent(MOBILE_APPLICATION_PROMOTION_COOKIE_NAME, '1', '/');\r\n };\r\n\r\n if (!isVisible) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {name}}\r\n image={}\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\nLoginMobileApplicationPromotion.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n icon: PropTypes.string,\r\n className: PropTypes.string,\r\n baseClassName: PropTypes.string,\r\n};\r\n\r\nexport default LoginMobileApplicationPromotion;\r\n","module.exports = Jsw.skinUrl + \"/icons/64/plesk/plesk.png?aee4fcbe66c643d3dde4f3de15aa8f4e\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport classNames from 'classnames';\r\nimport { Alert, Link } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Translate = Locale.getTranslate('components.forms.login');\r\n\r\nconst SuggestResolvableHostname = ({\r\n baseClassName = 'login-ssl-warnings',\r\n className = undefined,\r\n link,\r\n}) => {\r\n const match = link.match(/^https?:\\/\\/[^\\/?#]*/);\r\n const host = match[0];\r\n\r\n return (\r\n \r\n {host},\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nSuggestResolvableHostname.propTypes = {\r\n className: PropTypes.string,\r\n baseClassName: PropTypes.string,\r\n link: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default SuggestResolvableHostname;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport classNames from 'classnames';\r\nimport { useMemo, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, Dropdown, Menu, MenuItem } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\n\r\nimport './LocaleSwitcher.less';\r\n\r\nconst Translate = Locale.getTranslate('components.common.LocaleSwitcher');\r\n\r\nconst LocaleSwitcher = ({ locales, value: defaultValue, onChange, appearance = 'default' }) => {\r\n const [value, setValue] = useState(defaultValue);\r\n\r\n const sortedLocales = useMemo(() => locales.slice().sort((a, b) => {\r\n if (b.code === 'en-US' || a.name > b.name) {\r\n return 1;\r\n }\r\n if (a.code === 'en-US' || b.name > a.name) {\r\n return -1;\r\n }\r\n return 0;\r\n }), [locales]);\r\n\r\n const handleChange = value => {\r\n setValue(value);\r\n onChange(value);\r\n };\r\n\r\n return (\r\n \r\n handleChange('default')}\r\n >\r\n \r\n \r\n {sortedLocales.map(({ code, name, isRtl }) => (\r\n handleChange(code)}\r\n dir={isRtl ? 'rtl' : 'ltr'}\r\n >\r\n {name}\r\n \r\n ))}\r\n \r\n )}\r\n >\r\n }\r\n icon=\"globe\"\r\n ghost\r\n caret\r\n />\r\n \r\n );\r\n};\r\n\r\nLocaleSwitcher.propTypes = {\r\n appearance: PropTypes.oneOf(['default', 'dark']),\r\n locales: PropTypes.arrayOf(PropTypes.shape({\r\n code: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n isRtl: PropTypes.bool.isRequired,\r\n })).isRequired,\r\n value: PropTypes.string.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default LocaleSwitcher;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback, useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { FormFieldText, FormFieldRadioButtons, Heading } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport { addToast } from 'helpers/toasts';\r\nimport Form from 'components/Form';\r\nimport Link from 'components/common/Link';\r\nimport { withLoginLayout } from '../layouts/LoginLayout';\r\n\r\nconst Translate = Locale.getTranslate('components.forms.get-password');\r\n\r\nimport GET_PASSWORD_PAGE_QUERY from 'queries/GetPasswordPage.graphql';\r\nimport { useQuery } from '@apollo/client';\r\n\r\nconst GetPasswordPage = ({ values: defaultValues = undefined }) => {\r\n const navigate = useNavigate();\r\n const values = useMemo(() => ({\r\n resetBy: 'email',\r\n email: '',\r\n login: '',\r\n ...defaultValues,\r\n }), [defaultValues]);\r\n\r\n const handleSuccess = useCallback(() => {\r\n addToast({\r\n intent: 'success',\r\n message: ,\r\n });\r\n navigate('/login_up.php');\r\n }, [navigate]);\r\n\r\n return (\r\n <>\r\n \r\n

              \r\n ,\r\n 'data-action': 'send',\r\n }}\r\n cancelButton={{\r\n component: Link,\r\n to: '/login_up.php',\r\n children: ,\r\n 'data-action': 'cancel',\r\n }}\r\n vertical\r\n >\r\n ,\r\n indentFields: [\r\n ,\r\n ],\r\n },\r\n {\r\n value: 'login',\r\n label: ,\r\n indentFields: [\r\n ,\r\n ],\r\n },\r\n ]}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nGetPasswordPage.propTypes = {\r\n values: PropTypes.shape({\r\n resetBy: PropTypes.string,\r\n email: PropTypes.string,\r\n login: PropTypes.string,\r\n }),\r\n};\r\n\r\nexport default withLoginLayout(GetPasswordPage, () => {\r\n const {\r\n data: {\r\n viewer: { background },\r\n },\r\n } = useQuery(GET_PASSWORD_PAGE_QUERY);\r\n\r\n return { background };\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetPasswordPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"background\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"file\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"color\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fit\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":136}};\n doc.loc.source = {\"body\":\"query GetPasswordPage {\\r\\n viewer {\\r\\n background {\\r\\n file\\r\\n color\\r\\n fit\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"GetPasswordPage\"] = oneQuery(doc, \"GetPasswordPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback, useState } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { FormFieldPassword } from '@plesk/ui-library';\r\nimport { Locale, api } from 'jsw';\r\nimport estimatePassword from 'helpers/estimatePassword';\r\nimport { addToast } from 'helpers/toasts';\r\nimport Form from 'components/Form';\r\nimport Link from 'components/common/Link';\r\nimport { withLoginLayout } from '../layouts/LoginLayout';\r\n\r\nconst Translate = Locale.getTranslate('components.forms.restore-password');\r\n\r\nimport GET_PASSWORD_PAGE_QUERY from 'queries/GetPasswordPage.graphql';\r\nimport { useQuery } from '@apollo/client';\r\n\r\nconst RestorePasswordPage = () => {\r\n const navigate = useNavigate();\r\n const [errors, setErrors] = useState({});\r\n\r\n const handleSubmit = values => {\r\n const errors = {};\r\n if (!values.password) {\r\n errors.password = {\r\n isEmpty: ,\r\n };\r\n }\r\n\r\n setErrors(errors);\r\n if (!Object.keys(errors).length) {\r\n return values;\r\n }\r\n };\r\n\r\n const handleSuccess = useCallback(() => {\r\n addToast({\r\n intent: 'success',\r\n message: ,\r\n });\r\n navigate('/login_up.php');\r\n }, [navigate]);\r\n\r\n const handleEstimatePassword = useCallback(password => estimatePassword(password, password => api.post('?estimate', { password })), []);\r\n\r\n return (\r\n ,\r\n }}\r\n applyButton={false}\r\n cancelButton={{\r\n children: ,\r\n component: Link,\r\n to: '/login_up.php',\r\n }}\r\n errors={errors}\r\n vertical\r\n >\r\n

              \r\n }\r\n name=\"password\"\r\n size=\"fill\"\r\n autoComplete=\"new-password\"\r\n passwordMeterProps={{\r\n onEstimate: handleEstimatePassword,\r\n placement: 'top-right',\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default withLoginLayout(RestorePasswordPage, () => {\r\n const {\r\n data: {\r\n viewer: { background },\r\n },\r\n } = useQuery(GET_PASSWORD_PAGE_QUERY);\r\n\r\n return { background };\r\n});\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { LocaleProvider as BaseLocaleProvider } from '@plesk/ui-library';\r\nimport { Locale, Observer } from 'jsw';\r\nimport { useEventListener } from 'common/hooks';\r\n\r\nconst mergeMessages = (oldMessages, messages, prefix) => {\r\n const prefixedMessages = Object.entries(messages)\r\n .reduce((res, [key, value]) => {\r\n res[`${prefix}.${key}`] = value;\r\n return res;\r\n }, {});\r\n\r\n return {\r\n ...oldMessages,\r\n ...prefixedMessages,\r\n };\r\n};\r\n\r\nconst LocaleProvider = ({ children = undefined }) => {\r\n const [messages, setMessages] = useState(Object.entries(Locale.sections)\r\n .reduce((oldMessages, [sectionName, section]) => mergeMessages(oldMessages, section.messages, sectionName), {}));\r\n\r\n const handleAddedLocaleSection = useCallback(({ name, messages }) => {\r\n setMessages(oldMessages => mergeMessages(oldMessages, messages, name));\r\n }, []);\r\n\r\n const handleAddedLocaleSections = useCallback(({ sections }) => {\r\n setMessages(oldMessages => Object.entries(sections).reduce((acc, [name, messages]) => mergeMessages(acc, messages, name), oldMessages));\r\n }, []);\r\n\r\n useEventListener('plesk:addedLocaleSection', handleAddedLocaleSection, Observer);\r\n useEventListener('plesk:addedLocaleSections', handleAddedLocaleSections, Observer);\r\n\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nLocaleProvider.propTypes = {\r\n children: PropTypes.any,\r\n};\r\n\r\nexport default LocaleProvider;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component, Popover, StatusMessage, Text } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { captureException } from '@sentry/browser';\r\n\r\nclass ErrorBoundary extends Component {\r\n state = {\r\n error: null,\r\n errorInfo: null,\r\n };\r\n\r\n componentDidCatch(error, errorInfo) {\r\n this.setState({\r\n error,\r\n errorInfo,\r\n });\r\n captureException(error);\r\n }\r\n\r\n render() {\r\n if (this.state.errorInfo) {\r\n return (\r\n {'Internal error'}}\r\n intent=\"danger\"\r\n placement=\"bottom-start\"\r\n wide\r\n >\r\n \r\n {this.state.error && this.state.error.toString()}\r\n {this.state.errorInfo.componentStack}\r\n \r\n \r\n );\r\n }\r\n\r\n return this.props.children;\r\n }\r\n}\r\n\r\nErrorBoundary.propTypes = {\r\n children: PropTypes.any,\r\n};\r\n\r\nErrorBoundary.defaultProps = {\r\n children: undefined,\r\n};\r\n\r\nexport default ErrorBoundary;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nconst entries = {\r\n 'app/editlist': () => import(/* webpackChunkName: \"app/editlist\" */'./editlist'),\r\n 'app/rating': () => import(/* webpackChunkName: \"app/rating\" */'./rating'),\r\n 'app/aha': () => import(/* webpackChunkName: \"app/aha\" */'./aha'),\r\n 'app/eula': () => import(/* webpackChunkName: \"app/eula\" */'./eula'),\r\n 'app/app-image/gallery': () => import(/* webpackChunkName: \"app/app-image/gallery\" */'./app-image/gallery'),\r\n 'app/backup/list': () => import(/* webpackChunkName: \"app/backup/list\" */'./backup/list'),\r\n 'app/backup/restore': () => import(/* webpackChunkName: \"app/backup/restore\" */'./backup/restore'),\r\n 'app/backup/upload-files': () => import(/* webpackChunkName: \"app/backup/upload-files\" */'./backup/upload-files'),\r\n 'app/backup/web-content-dynamic': () => import(/* webpackChunkName: \"app/backup/web-content-dynamic\" */'./backup/web-content-dynamic'),\r\n 'app/database/assign-to-subscription': () => import(/* webpackChunkName: \"app/database/assign-to-subscription\" */'views/smb/database/list/AssignToSubscription'),\r\n 'app/dns-helper': () => import(/* webpackChunkName: \"app/dns-helper\" */'./dns-helper'),\r\n 'app/dns-helper/dns-settings': () => import(/* webpackChunkName: \"app/dns-helper/dns-settings\" */'./dns-helper/dns-settings'),\r\n 'app/email-address/aliases-dynamic': () => import(/* webpackChunkName: \"app/email-address/aliases-dynamic\" */'./email-address/aliases-dynamic'),\r\n 'app/email-address/client-configuration-link': () => import(/* webpackChunkName: \"app/email-address/client-configuration-link\" */'./email-address/client-configuration-link'),\r\n 'app/email-address/form-ajax': () => import(/* webpackChunkName: \"app/email-address/form-ajax\" */'./email-address/form-ajax'),\r\n 'app/email-address/postbox': () => import(/* webpackChunkName: \"app/email-address/postbox\" */'./email-address/postbox'),\r\n 'app/email-address/responder-attachments-dynamic': () => import(\r\n /* webpackChunkName: \"app/email-address/responder-attachments-dynamic\" */\r\n './email-address/responder-attachments-dynamic'\r\n ),\r\n 'app/file-manager/explorer': () => import(/* webpackChunkName: \"app/file-manager/explorer\" */'./file-manager/explorer'),\r\n 'app/file-manager/file-name-popup-form': () => import(/* webpackChunkName: \"app/file-manager/file-name-popup-form\" */'./file-manager/file-name-popup-form'),\r\n 'app/mail-settings/confirmation-remove-popup-form': () => import(\r\n /* webpackChunkName: \"app/mail-settings/confirmation-remove-popup-form\" */\r\n './mail-settings/confirmation-remove-popup-form'\r\n ),\r\n 'app/hosting-settings/conflicts-checker': () => import(/* webpackChunkName: \"app/hosting-settings/conflicts-checker\" */'./hosting-settings/conflicts-checker'),\r\n 'app/log-browser/browser': () => import(/* webpackChunkName: \"app/log-browser/browser\" */'./log-browser/browser'),\r\n 'app/log-browser/files': () => import(/* webpackChunkName: \"app/log-browser/files\" */'./log-browser/files'),\r\n 'app/login/recovery-password': () => import(/* webpackChunkName: \"app/login/recovery-password\" */'./login/recovery-password'),\r\n 'app/newsletter-subscription': () => import(/* webpackChunkName: \"app/newsletter-subscription\" */'./newsletter-subscription'),\r\n 'app/progress-dialog': () => import(/* webpackChunkName: \"app/progress-dialog\" */'./progress-dialog'),\r\n 'app/profile/announcement-settings': () => import(/* webpackChunkName: \"app/profile/announcement-settings\" */'./profile/announcement-settings'),\r\n 'app/pum': () => import(/* webpackChunkName: \"app/pum\" */'./pum'),\r\n 'app/server-mail-antivirus-promo': () => import(/* webpackChunkName: \"app/server-mail-antivirus-promo\" */'./server-mail-antivirus-promo'),\r\n 'app/show-output-popup': () => import(/* webpackChunkName: \"app/show-output-popup\" */'./show-output-popup'),\r\n 'app/task-progress-bar': () => import(/* webpackChunkName: \"app/task-progress-bar\" */'./task-progress-bar'),\r\n 'app/user/login-string': () => import(/* webpackChunkName: \"app/user/login-string\" */'./user/login-string'),\r\n 'app/change-customers-owner': () => import(/* webpackChunkName: \"app/change-customers-owner\" */'./change-customers-owner'),\r\n 'app/convert-customers-to-resellers': () => import(/* webpackChunkName: \"app/convert-customers-to-resellers\" */'./convert-customers-to-resellers'),\r\n 'app/convert-resellers-to-customers': () => import(/* webpackChunkName: \"app/convert-resellers-to-customers\" */'./convert-resellers-to-customers'),\r\n 'app/service-sidebar': () => import(/* webpackChunkName: \"app/service-sidebar\" */'components/sidebars/ServiceSidebar'),\r\n 'app/ssl-certificate/list': () => import(/* webpackChunkName: \"app/ssl-certificate/list\" */'./ssl-certificate/list'),\r\n 'app/app/progress': () => import(/* webpackChunkName: \"app/app/progress\" */'./app/progress'),\r\n 'app/app/installed': () => import(/* webpackChunkName: \"app/app/installed\" */'./app/installed'),\r\n 'app/app/apscatalog': () => import(/* webpackChunkName: \"app/app/apscatalog\" */'./app/apscatalog'),\r\n 'app/web-app-firewall/submit-handler': () => import(/* webpackChunkName: \"app/web-app-firewall/submit-handler\" */'./web-app-firewall/submit-handler'),\r\n 'app/helper/mail-settings-dkim-hint': () => import(/* webpackChunkName: \"app/helper/mail-settings-dkim-hint\" */'./helper/mail-settings-dkim-hint'),\r\n};\r\n\r\nexport default async (path, callback) => {\r\n if (!entries[path]) {\r\n throw new Error(`Unknown required module ${path}.`);\r\n }\r\n\r\n try {\r\n const { default: module } = await entries[path]();\r\n callback?.(module);\r\n return module;\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n return new Promise(() => {});\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { init, configureScope, Replay } from '@sentry/browser';\r\nimport { BrowserTracing } from '@sentry/tracing';\r\nimport { withoutGraphQLFetch } from 'apollo-link-sentry';\r\n\r\nexport default ({ sentry }) => {\r\n if (!sentry) {\r\n return;\r\n }\r\n\r\n if (window.navigator.userAgent.match(/jsdom/)) {\r\n return;\r\n }\r\n\r\n const { user = null, tags = {}, environment, ...options } = sentry;\r\n const isDev = environment === 'development';\r\n\r\n init({\r\n integrations: [\r\n new Replay({\r\n maskAllText: !isDev,\r\n maskAllInputs: !isDev,\r\n }),\r\n new BrowserTracing({\r\n beforeNavigate: context => ({\r\n ...context,\r\n name: location.pathname\r\n .replace(/\\/[a-f0-9]{8}-[a-f0-9]{4}-[0-5][a-f0-9]{3}-[089ab][a-f0-9]{3}-[a-f0-9]{12}/ig, '/')\r\n .replace(/\\/[a-f0-9]{32}/g, '/')\r\n .replace(/\\/\\d+/g, '/')\r\n .replace(/\\/type\\/(domain|alias)/, '/type/'),\r\n }),\r\n }),\r\n ],\r\n beforeSend: (event, hint) => {\r\n const err = hint.originalException;\r\n if (err && err.stack) {\r\n // mozilla and safari debuggers\r\n const catchDebugger = /global code@|@debugger/.test(err.stack);\r\n const stack = err.stack.split('\\n');\r\n // chrome anonymous stack\r\n const anonymousCall = stack.length === 2 && /:1:(\\d+)$/.test(stack.at(-1));\r\n if (catchDebugger || anonymousCall) {\r\n return null;\r\n }\r\n }\r\n return event;\r\n },\r\n beforeBreadcrumb: withoutGraphQLFetch(breadcrumb => {\r\n if (breadcrumb.category === 'xhr' || breadcrumb.category === 'fetch') {\r\n const url = breadcrumb.data?.url ?? '';\r\n\r\n if (url.includes('firehose.us-west-2.amazonaws.com')) {\r\n return null;\r\n }\r\n\r\n if (url.includes('/cp/locale')) {\r\n const sections = new URLSearchParams(url.split('?')[1]).getAll('sections[]');\r\n\r\n return {\r\n type: 'http',\r\n category: 'plesk.locale',\r\n data: {\r\n sections,\r\n },\r\n };\r\n }\r\n }\r\n\r\n return breadcrumb;\r\n }),\r\n ignoreErrors: [\r\n 'ResizeObserver loop',\r\n 'ApiFetchError:',\r\n 'whmcs_user_id is not defined',\r\n '__renderMessageNode is not defined',\r\n 'Module build failed',\r\n 'jQuery is not defined',\r\n 'safari-extension://',\r\n 'moz-extension://',\r\n 'chrome-extension://',\r\n 'Object Not Found Matching Id:',\r\n // TODO PPP-60163: Error: Script error for ...\r\n 'Script error for',\r\n // TODO EXTPLESK-4373: [Acronis Backup] TypeError: Cannot read properties of null (reading 'readAttribute')\r\n 'loadAndDisplayNotifications',\r\n ],\r\n denyUrls: [\r\n // Chrome extensions\r\n /extensions\\//i,\r\n /^chrome:\\/\\//i,\r\n // TODO EXTPLESK-1671: [Help Center] Not compatible with Plesk 18.0\r\n '/modules/help-center/global.js',\r\n // TODO EXTPLESK-2342 [Speed Kit] Sentry pollution when Plesk session is expired\r\n '/modules/baqend/script.js',\r\n // TODO EXTPLESK-2242: Legacy Addendio - WordPress Plugins and Themes generates errors on login page\r\n '/modules/addendio-wordpress/global.js',\r\n // TODO EXTPLESK-2938: [ImunifyAV] TypeError: Cannot read property 'update'/'show' of null\r\n '/modules/revisium-antivirus/js/ra_domain.js',\r\n // TODO EXTWPTOOLK-10233: TypeError: null is not an object (evaluating 'body.select')\r\n '/modules/wp-toolkit/js/domain-page.js',\r\n ],\r\n sampleRate: isDev ? 1 : 0.05,\r\n replaysSessionSampleRate: 0,\r\n replaysOnErrorSampleRate: isDev ? 1 : 0,\r\n tracesSampleRate: isDev ? 0.001 : 0,\r\n environment,\r\n ...options,\r\n });\r\n configureScope(scope => {\r\n scope.setUser(user);\r\n for (const tag in tags) {\r\n scope.setTag(tag, tags[tag]);\r\n }\r\n });\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport * as AdminPanel from './admin-panel';\r\nimport * as Smb from './smb';\r\nimport * as common from './common';\r\nimport * as chk from './chk';\r\nimport Tooltip from './Tooltip';\r\nimport onReady from '../jsw/onReady';\r\n\r\nwindow.AdminPanel = AdminPanel;\r\nwindow.Smb = Smb;\r\n\r\nObject.keys(common).forEach(fn => {\r\n window[fn] = common[fn];\r\n});\r\n\r\nObject.keys(chk).forEach(fn => {\r\n window[fn] = chk[fn];\r\n});\r\n\r\nonReady(() => {\r\n window.tooltip = new Tooltip(document);\r\n});\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/no-multi-comp */\r\n\r\nimport { Component, Panel as BasePanel, ListContainer, SmallButton } from 'jsw';\r\n\r\nclass UpdateAvailableNotification extends Component {\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n const id = this._getConfigParam('type');\r\n\r\n const buttonNow = this._getConfigParam('nowElement');\r\n const buttonShow = this._getConfigParam('showElement');\r\n const linkLater = this._getConfigParam('laterElement');\r\n\r\n this._updateComponentElement((\r\n '
              ' +\r\n '
              ' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '
              ' +\r\n `${this._getConfigParam('message', '')}` +\r\n '' +\r\n `` +\r\n `` +\r\n `${linkLater.text}` +\r\n '
              ' +\r\n '
              ' +\r\n '
              '\r\n ));\r\n\r\n this._componentElement.querySelector(`#control-${id}-now`).addEventListener('click', event => {\r\n buttonNow.handler();\r\n event.preventDefault();\r\n });\r\n\r\n this._componentElement.querySelector(`#control-${id}-show`).addEventListener('click', event => {\r\n buttonShow.handler();\r\n event.preventDefault();\r\n });\r\n\r\n this._componentElement.querySelector(`#control-${id}-later`).addEventListener('click', event => {\r\n linkLater.handler();\r\n event.preventDefault();\r\n });\r\n }\r\n}\r\n\r\n\r\nclass UpgradeAvailableNotification extends Component {\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n const id = this._getConfigParam('type');\r\n\r\n const buttonShow = this._getConfigParam('showElement');\r\n const linkLater = this._getConfigParam('laterElement');\r\n\r\n this._updateComponentElement((\r\n '
              ' +\r\n '
              ' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '
              ' +\r\n `${this._getConfigParam('message', '')}` +\r\n '' +\r\n `` +\r\n `${linkLater.text}` +\r\n '
              ' +\r\n '
              ' +\r\n '
              '\r\n ));\r\n\r\n this._componentElement.querySelector(`#control-${id}-show`).addEventListener('click', event => {\r\n buttonShow.handler();\r\n event.preventDefault();\r\n });\r\n\r\n this._componentElement.querySelector(`#control-${id}-later`).addEventListener('click', event => {\r\n linkLater.handler();\r\n event.preventDefault();\r\n });\r\n }\r\n}\r\n\r\nclass Panel extends BasePanel {\r\n _addTooltips() {\r\n // disable tooltip for description option\r\n }\r\n\r\n _getSubTitleHtml() {\r\n const descriptionText = this._getConfigParam('description');\r\n if (!descriptionText) {\r\n return '';\r\n }\r\n\r\n return (\r\n '
              ' +\r\n `
              ${descriptionText}
              ` +\r\n '
              '\r\n );\r\n }\r\n}\r\n\r\nclass PanelItemsGroup extends ListContainer {\r\n}\r\n\r\nclass PanelItem extends SmallButton {\r\n}\r\n\r\nexport const home = {\r\n UpdateAvailableNotification,\r\n UpgradeAvailableNotification,\r\n Panel,\r\n PanelItemsGroup,\r\n PanelItem,\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { createElement as ce, getComponent, api, escapeHtml, prepareUrl, BigButton, StatusMessage, Popup } from 'jsw';\r\n\r\n/* SMB specific JavaScript classes */\r\n\r\nexport const ApsLicense = {\r\n buy(action) {\r\n window.open(action);\r\n return false;\r\n },\r\n\r\n initForm() {\r\n document.getElementById('apsLicense-uploadType-text').addEventListener('click', this.onChangeUploadType.bind(this));\r\n document.getElementById('apsLicense-uploadType-file').addEventListener('click', this.onChangeUploadType.bind(this));\r\n },\r\n\r\n onChangeUploadType() {\r\n if (document.getElementById('apsLicense-uploadType-text').checked) {\r\n document.getElementById('apsLicense-uploadText').disabled = false;\r\n document.getElementById('uploadFile').disabled = true;\r\n } else {\r\n document.getElementById('apsLicense-uploadText').disabled = true;\r\n document.getElementById('uploadFile').disabled = false;\r\n }\r\n },\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const ToolButton = BigButton;\r\n\r\nexport class ApplicationUpdate extends StatusMessage {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n ...config,\r\n type: 'warning',\r\n });\r\n this._data = this._getConfigParam('data', []);\r\n this._limit = this._getConfigParam('limit', 5);\r\n }\r\n\r\n _renderMessage() {\r\n const message = [super._renderMessage()];\r\n message.push(ce('br'));\r\n this._data.forEach(app => {\r\n message.push(\r\n ce('div.b-subitem',\r\n `${app.name} `,\r\n ce('span.hint', `(${this._renderHint(app)})`),\r\n ' ',\r\n ce('a.toggler.js-install', this.lmsg('install')),\r\n '  ',\r\n ce('a.toggler.js-changelog', this.lmsg('changelog')),\r\n ce('input', { type: 'hidden', value: JSON.stringify(app) }),\r\n ),\r\n );\r\n });\r\n if (this._data.length > this._limit) {\r\n message.push(ce('a.toggler.js-view-more', this.lmsg('viewMore', { number: this._data.length - this._limit })));\r\n }\r\n return message;\r\n }\r\n\r\n _renderHint(app) {\r\n if (app.instances.length === 1) {\r\n return app.instances[0].name;\r\n }\r\n return this.lmsg('instances', { total: app.instances.length });\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n this._componentElement.querySelectorAll('.b-subitem').forEach(item => {\r\n item.querySelector('.js-install').addEventListener('click', event => {\r\n this._onInstallEvent(event);\r\n });\r\n item.querySelector('.js-changelog').addEventListener('click', event => {\r\n this._onChangelogEvent(event);\r\n });\r\n });\r\n\r\n if (this._data.length > this._limit) {\r\n [...this._componentElement.querySelectorAll('.b-subitem')].slice(this._limit).forEach(item => {\r\n item.style.display = 'none';\r\n });\r\n this._componentElement.querySelector('.js-view-more').addEventListener('click', event => {\r\n this._onViewMoreEvent(event);\r\n });\r\n }\r\n }\r\n\r\n _onInstallEvent(e) {\r\n const app = JSON.parse(e.target.closest('.b-subitem').querySelector('input').value);\r\n Smb.updateApplication(app, this.getLocale(), e);\r\n e.target.closest('.b-subitem').querySelectorAll('a').forEach(a => {\r\n a.parentNode.removeChild(a);\r\n });\r\n }\r\n\r\n _onChangelogEvent(e) {\r\n const app = JSON.parse(e.target.closest('.b-subitem').querySelector('input').value);\r\n Smb.showApplicationChangelog(app, this.getLocale(), e);\r\n }\r\n\r\n _onViewMoreEvent() {\r\n [...this._componentElement.querySelectorAll('.b-subitem')].slice(this._limit).forEach(item => {\r\n item.style.display = item.style.display === 'none' ? '' : 'none';\r\n });\r\n this._componentElement.querySelector('.js-view-more').style.display = 'none';\r\n }\r\n}\r\n\r\nexport const updateApplication = ({ name, instances }, locale, event) => {\r\n event.preventDefault();\r\n const beginOffset = Element.cumulativeOffset(event.target);\r\n const progressBar = getComponent('asyncProgressBarWrapper');\r\n const itemId = progressBar.fly(beginOffset,\r\n locale.lmsg('appInstall', { app: escapeHtml(name) }),\r\n () => {\r\n api.post(prepareUrl('/app-update/update-all'), {\r\n resourceIds: instances.map(({ id }) => id),\r\n name,\r\n })\r\n .then(() => {\r\n progressBar.update();\r\n })\r\n .catch(({ message }) => {\r\n progressBar.failPreparingItem(itemId, message);\r\n });\r\n },\r\n );\r\n if (event.target.closest('.caption-service-toolbar')) {\r\n event.target.closest('.caption-service-toolbar').querySelectorAll('.js-app-update').forEach(el => el.parentNode.removeChild(el));\r\n }\r\n};\r\n\r\nexport const showApplicationChangelog = (app, locale, event) => {\r\n new Ajax.Request(prepareUrl(`/app-update/index/resourceId/${app.instances[0].id}/`), {\r\n method: 'get',\r\n onCreate() {\r\n new Popup({\r\n content: `
              ${locale.lmsg('loading')}
              `,\r\n title: locale.lmsg('appChangelog', { app: escapeHtml(app.name) }),\r\n });\r\n },\r\n onSuccess(transport) {\r\n if ('' === transport.responseText) {\r\n return;\r\n }\r\n\r\n let contentText = '';\r\n try {\r\n const jsonResponse = JSON.parse(transport.responseText);\r\n if ('error' === jsonResponse.status) {\r\n contentText = ('' != jsonResponse.statusMessages)\r\n ? jsonResponse.statusMessages\r\n : locale.lmsg('unableGetChangelog');\r\n }\r\n } catch {\r\n contentText = transport.responseText;\r\n }\r\n\r\n const popup = new Popup({\r\n content: contentText,\r\n title: locale.lmsg('appChangelog', { app: escapeHtml(app.name) }),\r\n onShow() {\r\n document.querySelectorAll('.apps-box').forEach(function (e) {\r\n const viewportHeight = document.viewport.getHeight();\r\n const popupHeight = Element.getHeight(e.closest('.popup-container'));\r\n const popupTop = Element.positionedOffset(e.closest('.popup-panel')).top;\r\n if (popupHeight + (popupTop * 2) >= viewportHeight) {\r\n const height = viewportHeight - (popupHeight - Element.getHeight(e)) - (popupTop * 2);\r\n e.style.overflow = 'auto';\r\n e.style.height = `${height}px`;\r\n }\r\n });\r\n },\r\n buttons: [\r\n {\r\n title: locale.lmsg('close'),\r\n handler() {\r\n popup.hide();\r\n },\r\n },\r\n ],\r\n });\r\n },\r\n });\r\n event.preventDefault();\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { onReady, redirectPost, showInternalError, keyCode } from 'jsw';\r\n\r\n/* eslint-disable camelcase */\r\n\r\nexport const syn = s => {\r\n if (!s || !s.options || !s.options.length) {\r\n return false;\r\n }\r\n\r\n if (s.options[s.options.length - 1].selected) {\r\n s.options[s.options.length - 1].selected = false;\r\n }\r\n\r\n return true;\r\n};\r\n\r\n// ---------------------------------- redirect\r\n\r\nexport const go_to = href => {\r\n try {\r\n window.location = href;\r\n } catch {\r\n }\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const lon = () => true;\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const loff = () => true;\r\n\r\nexport const lsubmit = f => {\r\n try {\r\n if (f.lock.value === 'true') {\r\n return false;\r\n }\r\n f.lock.value = 'true';\r\n } catch {\r\n }\r\n\r\n lon();\r\n\r\n const button = document.getElementById('buttonid-ok');\r\n if (button) {\r\n button.disabled = true;\r\n button.classList.add('btn-waiting');\r\n }\r\n\r\n try {\r\n f.submit();\r\n } catch {\r\n loff();\r\n f.lock.value = 'false';\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nexport const getParentNodeByName = (o, name) => {\r\n const parent = o.parentNode;\r\n if (!parent) {\r\n return false;\r\n }\r\n if (parent.nodeName !== name) {\r\n return getParentNodeByName(parent, name);\r\n }\r\n return parent;\r\n};\r\n\r\nexport const errorfield = (o, status) => {\r\n const tr = getParentNodeByName(o, 'TR');\r\n if (!tr) {\r\n return false;\r\n }\r\n tr.className = status ? 'error' : '';\r\n return true;\r\n};\r\n\r\n// global actions and behaviors\r\nonReady(() => {\r\n document.querySelectorAll('textarea.js-auto-resize').forEach(element => {\r\n const resizeHandler = () => {\r\n const lines = element.value.split('\\n').length;\r\n if (lines < originalSize) {\r\n element.rows = originalSize;\r\n } else {\r\n element.rows = lines + 2;\r\n }\r\n };\r\n\r\n const originalSize = element.rows;\r\n resizeHandler();\r\n\r\n element.addEventListener('keyup', resizeHandler);\r\n });\r\n\r\n // disable autofill for forms with disabled autocomplete fields (Chrome issue)\r\n document.querySelectorAll('form input[autocomplete=\"off\"]').forEach(element => {\r\n element.closest('form').setAttribute('autocomplete', 'off');\r\n });\r\n});\r\n\r\ndocument.addEventListener('click', e => {\r\n const element = e.target.closest?.('a');\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // prevent navigation to links with href=\"#\"\r\n if (element.getAttribute('href') === '#') {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n // use POST method for links with href and data-method=\"post\"\r\n if (element.href && element.dataset.method === 'post') {\r\n e.preventDefault();\r\n redirectPost(element.href);\r\n }\r\n});\r\n\r\n// cross-site request forgery protection for legacy forms in 3d-party extensions\r\nif ('undefined' !== typeof Prototype) {\r\n const appendForgeryProtection = form => {\r\n if (!form || (form.method && form.method.toUpperCase() === 'GET') || form.forgery_protection_token) {\r\n return;\r\n }\r\n const forgeryToken = document.getElementById('forgery_protection_token');\r\n if (!forgeryToken) {\r\n return;\r\n }\r\n form.appendChild(new Element('input', {\r\n type: 'hidden',\r\n name: 'forgery_protection_token',\r\n value: forgeryToken.content,\r\n }));\r\n };\r\n\r\n document.addEventListener('submit', ({ target }) => {\r\n const form = target.closest('form');\r\n appendForgeryProtection(form);\r\n });\r\n\r\n const origSubmit = HTMLFormElement.prototype.submit;\r\n HTMLFormElement.prototype.submit = function () {\r\n appendForgeryProtection(this);\r\n return origSubmit.call(this);\r\n };\r\n\r\n const origOpen = XMLHttpRequest.prototype.open;\r\n XMLHttpRequest.prototype.open = function (method, url, ...args) {\r\n origOpen.call(this, method, url, ...args);\r\n\r\n const forgeryToken = document.getElementById('forgery_protection_token');\r\n if (forgeryToken && (!url.match(/^(?:[a-z]+:)?\\/\\//) || url.indexOf(window.location.host) !== -1)) {\r\n this.setRequestHeader('X-Forgery-Protection-Token', forgeryToken.content);\r\n }\r\n };\r\n\r\n const origInitialize = Ajax.Request.prototype.initialize;\r\n Ajax.Request.prototype.initialize = function (url, options) {\r\n return origInitialize.call(this, url, {\r\n onException(transport, exception) {\r\n throw exception;\r\n },\r\n on400() {\r\n // Monkey patching Prototype for proper handling of session expiration\r\n window.location.reload();\r\n },\r\n on500(transport) {\r\n showInternalError(transport.responseText);\r\n },\r\n on0() {\r\n // do nothing in case of internal/network error\r\n return false;\r\n },\r\n ...options,\r\n });\r\n };\r\n\r\n Ajax.Request.prototype.abort = function () {\r\n this.transport.abort();\r\n };\r\n}\r\n\r\n// prevent AJAX request canceling on Escape button press in Firefox\r\ndocument.addEventListener('keydown', event => {\r\n if (keyCode.ESC === event.keyCode) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n});\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable camelcase */\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_pos_int = pos_int => {\r\n const re = /^\\s*[1-9]{1}[0-9]*\\s*$/;\r\n return pos_int.search(re) !== -1;\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_mn = (mail_name, isWin) => {\r\n const re = isWin ? /^([A-Za-z0-9_\\-])+((\\.){1}([A-Za-z0-9_\\-])+)*$/ : /^[\\w-][\\w&\\-\\+]*((\\.)[\\w&\\-\\+]+)*$/;\r\n return mail_name.search(re) !== -1;\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_dom = (dom_name, isWin) => {\r\n // check empty value\r\n if ('' === dom_name) {\r\n return false;\r\n }\r\n\r\n if ('localhost.rev' === dom_name) {\r\n return false;\r\n }\r\n\r\n const inaddr = /\\.in-addr.arpa$/;\r\n if (dom_name.search(inaddr) !== -1) {\r\n return false;\r\n }\r\n\r\n // no domain name like IP address\r\n if (chk_ip_address_and_mask(dom_name, 'IP_ADDRESS', 'IP_ADDRESS_FORMAT')) {\r\n return false;\r\n }\r\n\r\n if (isWin && dom_name.search(/\\.d$/) !== -1) {\r\n return false;\r\n }\r\n\r\n return true;\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_email = (email, isWin) => {\r\n const re = /^([^\\@]+){1}\\@([^\\@]+){1}$/;\r\n const found = email.match(re);\r\n if (!found) {\r\n return false;\r\n }\r\n return chk_mn(found[1], isWin) && chk_dom(found[2], isWin);\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_url = url => {\r\n const re = /^((http[s]?|ftp):\\/\\/)?([^\\/:]+)(:\\d{1,5})?(\\/[^\\s\\\"\\'`]*)?$/i;\r\n const found = re.exec(url);\r\n if (!found) {\r\n return false;\r\n }\r\n\r\n return chk_dom(found[3]);\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_ip_t = ip => {\r\n const re = /^$/;\r\n return chk_ip_address_and_mask(ip, 'IP_ADDRESS', 'IP_ADDRESS_FORMAT') || ip.match(re);\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_mask = mask => {\r\n const re = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/;\r\n const found = mask.match(re);\r\n if (!found) {\r\n return false;\r\n }\r\n let i = found.length - 1;\r\n while (i && (found[i] === 0)) {\r\n i--;\r\n }\r\n if (!i) {\r\n return true;\r\n }\r\n if (\r\n (found[i] !== 128) &&\r\n (found[i] !== 192) &&\r\n (found[i] !== 224) &&\r\n (found[i] !== 240) &&\r\n (found[i] !== 248) &&\r\n (found[i] !== 252) &&\r\n (found[i] !== 254) &&\r\n (found[i] !== 255)\r\n ) {\r\n return false;\r\n }\r\n\r\n i--;\r\n while (i && (found[i] === 255)) {\r\n i--;\r\n }\r\n\r\n return !i;\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const ip2long = str => {\r\n let num = 0;\r\n const re = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/;\r\n\r\n const found = str.match(re);\r\n if (!found) {\r\n return null;\r\n }\r\n for (let i = 1; i < found.length; i++) {\r\n num <<= 8;\r\n num |= found[i];\r\n }\r\n return num;\r\n};\r\n\r\n/**\r\n * convert ip block mask to int32 mask\r\n * @deprecated\r\n */\r\nexport const block_to_num = block => {\r\n let num = 0;\r\n for (let i = 0; i < 32; i++) {\r\n num <<= 1;\r\n num |= (block > i ? 1 : 0);\r\n }\r\n return num;\r\n};\r\n\r\n/**\r\n * check ip address and mask by valid rules\r\n * @deprecated\r\n */\r\nexport const chk_ip_address_and_mask = (ip, valid, valid_formats) => {\r\n const ip_address_block_format = /^(\\d{1,3})(\\.(\\d{1,3})(\\.(\\d{1,3})(\\.(\\d{1,3})|)|)|)\\/(\\d{1,2})$/;\r\n const ip_address_format = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/;\r\n\r\n let found;\r\n let ip_address = null;\r\n let ip_mask = null;\r\n\r\n if (\r\n (valid_formats === 'IP_ADDRESS_BLOCK_FORMAT') &&\r\n (found = ip.match(ip_address_block_format)) &&\r\n (!found[1] || (found[1] >= 0 && found[1] <= 255)) &&\r\n (!found[3] || (found[3] >= 0 && found[3] <= 255)) &&\r\n (!found[5] || (found[5] >= 0 && found[5] <= 255)) &&\r\n (!found[7] || (found[7] >= 0 && found[7] <= 255)) &&\r\n (found[8] >= 0 && found[8] <= 32)\r\n ) {\r\n ip_address = ip2long(`${found[1] ? found[1] : 0}.${found[3] ? found[3] : 0}.${found[5] ? found[5] : 0}.${found[7] ? found[7] : 0}`);\r\n ip_mask = block_to_num(found[8]);\r\n } else if (\r\n (valid_formats === 'IP_ADDRESS_FORMAT') &&\r\n (found = ip.match(ip_address_format)) &&\r\n (found[1] >= 0 && found[1] <= 255) &&\r\n (found[2] >= 0 && found[2] <= 255) &&\r\n (found[3] >= 0 && found[3] <= 255) &&\r\n (found[4] >= 0 && found[4] <= 255)\r\n ) {\r\n ip_address = ip2long(`${found[1]}.${found[2]}.${found[3]}.${found[4]}`);\r\n ip_mask = block_to_num(32);\r\n }\r\n\r\n if (null === ip_address || null === ip_mask) {\r\n return false;\r\n }\r\n\r\n return (\r\n // ip address with netmask\r\n ((valid === 'IP_ADDRESS_NETMASK') &&\r\n ip_address && ip_mask &&\r\n (\r\n // and not empty lower bits\r\n ((ip_address & ~ip_mask) &&\r\n // minimum network size 'may be removed - bcause added single addres networks by client request ...\r\n ~((ip_address & ~ip_mask) | ip_mask)\r\n ) || (ip_mask === block_to_num(32))\r\n )\r\n ) ||\r\n // sigle ip address\r\n ((valid === 'IP_ADDRESS') &&\r\n // not empty ip address and 0xFFFFFFFF ip mask\r\n ip_address && (ip_mask === block_to_num(32))\r\n )\r\n );\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_uint = uint => !!uint.match(/^[0-9]+$/);\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { escapeHtml } from 'jsw';\r\n\r\nclass Tooltip {\r\n // tooltip to show timeout\r\n showTimeout = 0.55;\r\n\r\n // minimum viewport delta\r\n minDelta = 5;\r\n\r\n // horisonatl offset from cursor\r\n xOffsetLeft = -5;\r\n\r\n // horisonatl offset from cursor\r\n xOffsetRight = 5;\r\n\r\n // vertical offset from cursor\r\n yOffsetTop = 1;\r\n\r\n // vertical offset from cursor\r\n yOffsetBottom = 13;\r\n\r\n // tooltip element\r\n tooltip = null;\r\n\r\n // tooltip generator\r\n tooltipEventElement = null;\r\n\r\n // tooltip mouse move observer\r\n tooltipMouseMoveObserver = null;\r\n\r\n // show status\r\n tooltipVisible = false;\r\n\r\n // show timeout\r\n tooltipShowTimeout = null;\r\n\r\n constructor(element) {\r\n this.element = element;\r\n this.tooltip = this.createTooltipElement();\r\n this.tooltipMouseMoveObserver = this.onMouseMove.bind(this);\r\n this.tooltipMouseOutObserver = this.onMouseOut.bind(this);\r\n }\r\n\r\n set(event, entries) {\r\n this.tooltipX = event.clientX + (window.scrollX || window.pageXOffset);\r\n this.tooltipY = event.clientY + (window.scrollY || window.pageYOffset);\r\n this.tooltipEventElement = event.target;\r\n\r\n // hack observe mouse move on tooltip actor\r\n if (!this.tooltipEventElement.classList.contains('tootlipObserved')) {\r\n this.tooltipEventElement.classList.add('tootlipObserved');\r\n this.tooltipEventElement.addEventListener('mousemove', this.tooltipMouseMoveObserver);\r\n this.tooltipEventElement.addEventListener('mouseout', this.tooltipMouseOutObserver);\r\n }\r\n\r\n let data = '';\r\n (entries || []).forEach(entry => {\r\n switch (entry.type) {\r\n case 'string':\r\n data += `${escapeHtml(entry.string)}
              `;\r\n break;\r\n }\r\n });\r\n this.tooltip.innerHTML = data;\r\n this.show();\r\n }\r\n\r\n onMouseMove(event) {\r\n this.tooltipX = event.clientX + (window.scrollX || window.pageXOffset);\r\n this.tooltipY = event.clientY + (window.scrollY || window.pageYOffset);\r\n\r\n if (this.tooltipVisible) {\r\n this.showAction(this.tooltip);\r\n }\r\n }\r\n\r\n onMouseOut() {\r\n this.unset();\r\n }\r\n\r\n unset() {\r\n this.hide();\r\n }\r\n\r\n showTimed() {\r\n // show new message\r\n if (false === this.tooltipShowTimeout) {\r\n this.finishShowTimed();\r\n return;\r\n }\r\n\r\n if (null !== this.tooltipShowTimeout) {\r\n this.cancelShowTimed();\r\n }\r\n\r\n this.tooltipShowTimeout = new PeriodicalExecuter(this.finishShowTimed.bind(this), this.showTimeout);\r\n }\r\n\r\n cancelShowTimed() {\r\n if (this.tooltipShowTimeout) {\r\n this.tooltipShowTimeout.stop();\r\n this.tooltipShowTimeout = null;\r\n }\r\n }\r\n\r\n finishShowTimed() {\r\n this.cancelShowTimed();\r\n this.tooltipShowTimeout = false;\r\n this.showAction(this.tooltip);\r\n }\r\n\r\n show() {\r\n this.showTimed();\r\n }\r\n\r\n getShowPosition() {\r\n let x;\r\n let y;\r\n\r\n const tDim = Element.getDimensions(this.tooltip);\r\n const vDim = document.viewport.getDimensions();\r\n const vScr = document.viewport.getScrollOffsets();\r\n\r\n const freeRight = vDim.width + vScr.left - this.tooltipX;\r\n const freeLeft = this.tooltipX - vScr.left;\r\n const freeTop = this.tooltipY - vScr.top;\r\n const freeBottom = vDim.height + vScr.top - this.tooltipY;\r\n\r\n // apply better x\r\n if (freeRight > tDim.width + this.minDelta + this.xOffsetRight) {\r\n x = this.tooltipX + this.xOffsetRight;\r\n } else if (freeLeft > tDim.width + this.minDelta + this.xOffsetLeft) {\r\n x = this.tooltipX - tDim.width - this.xOffsetLeft;\r\n } else {\r\n x = this.tooltipX - ((tDim.width + this.xOffsetLeft) / 2);\r\n }\r\n\r\n // apply better y\r\n if (freeBottom > tDim.height + this.minDelta + this.yOffsetBottom) {\r\n y = this.tooltipY + this.yOffsetBottom;\r\n } else if (freeTop > tDim.height + this.minDelta + this.yOffsetTop) {\r\n y = this.tooltipY - tDim.height - this.yOffsetTop;\r\n } else {\r\n y = this.tooltipY - ((tDim.height + this.yOffsetTop) / 2);\r\n }\r\n\r\n if (x < 0) {\r\n x = this.minDelta;\r\n }\r\n\r\n return { x, y };\r\n }\r\n\r\n showAction(tooltip) {\r\n const position = this.getShowPosition();\r\n // change position\r\n tooltip.style.position = 'absolute';\r\n tooltip.style.top = `${position.y}px`;\r\n tooltip.style.left = `${position.x}px`;\r\n\r\n // show\r\n tooltip.style.display = '';\r\n\r\n // first show of tooltip?\r\n const firstShow = !this.tooltipVisible;\r\n this.tooltipVisible = true;\r\n if (firstShow) {\r\n // update position with correct tooltip size\r\n this.showAction(tooltip);\r\n }\r\n }\r\n\r\n hide() {\r\n this.cancelShowTimed();\r\n this.tooltipShowTimeout = null;\r\n this.hideAction(this.tooltip);\r\n }\r\n\r\n hideAction(tooltip) {\r\n this.tooltipVisible = false;\r\n tooltip.style.display = 'none';\r\n }\r\n\r\n createTooltipElement() {\r\n const tooltip = document.createElement('div');\r\n tooltip.classList.add('tooltip');\r\n this.hideAction(tooltip);\r\n document.body.appendChild(tooltip);\r\n return tooltip;\r\n }\r\n}\r\n\r\nexport default Tooltip;\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\n// data-webpack is not used as build has no uniqueName\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"javascript/\" + chunkId + \".js?\" + {\"components/pages/IpAddressDomainsPage\":\"ee656e0c81d9939ae353\",\"components/pages/ChangeSubscriptionsOwnerPage\":\"a0753cf0be38d11feb49\",\"components/pages/VirtualHostTemplatePage\":\"21a1a40747df984113dc\",\"components_pages_ConfigureMailClientPage_index_js\":\"c61dbac9f6d36fb9849e\",\"views/admin/force-reset-password\":\"850ac0ecdf440a50a071\",\"views/admin/setup/progress\":\"25901d2428e5ae645e6c\",\"views/admin/setup/index\":\"2e0486257e75099db40e\",\"views/admin/home/admin\":\"c2aacdbf0c38488123f9\",\"views/admin/app/info\":\"7f44d6f617b41f855de8\",\"views/admin/app/usage\":\"21a54754d461ed44da8c\",\"views/admin/app/uploaded\":\"8d4ce119a86eb7c92ec7\",\"views/admin/custom-buttons/list\":\"f71b95779b587f1bb65f\",\"views/admin/ftp-sessions/list\":\"9b84653553c06fc7e4a7\",\"views/admin/php-handler/list\":\"399bc1a9e727a3eaab51\",\"components/pages/ScheduledBackupPage\":\"a05067a6029742e9b876\",\"components/pages/ScheduledBackupListPage\":\"cdc7a40ff4e61fd1fc46\",\"views/default/scheduler/list\":\"5fe20ea78f52b0b2ffe1\",\"views/admin/domain/list\":\"a9cd931dfbab28b19d21\",\"views/admin/customer/list\":\"fd673f16f9fd8bf170c0\",\"views/admin/customer/domains\":\"8a8558f69b2e010953ff\",\"views/admin/customer/subscriptions\":\"0cfe94193ac93709c206\",\"views/admin/reseller/list\":\"a83b207ffdca21ad4d3b\",\"views/admin/reseller/customers\":\"d01037e632f2dbe44413\",\"views/admin/reseller/domains\":\"cf5805e39f03c1850782\",\"views/admin/reseller/subscriptions\":\"0ea4830435d6e0e700c3\",\"views/admin/server/tools\":\"17af671522deb3bd9405\",\"views/admin/server/preview-domain-settings\":\"e7c8f97b7d6f453c8623\",\"views/admin/services/list\":\"d97b4e416d0b1cd4444f\",\"views/admin/sessions/list\":\"d95b711c61b85c94cbdc\",\"views/admin/subscription/list\":\"c65a0c0bcfb605d8bdbe\",\"views/smb/file-manager/list\":\"b4c158be174ff33d1a07\",\"views/smb/file-manager/index\":\"08cdf1d77e38f20c66b8\",\"views/smb/my-service/index\":\"dcd1eea93d880db86203\",\"views/smb/email-address/index\":\"6e7a6b6b658d68043669\",\"views/smb/email-address/list\":\"3381bffd3901a1e11989\",\"views/smb/mail-settings/list\":\"dd91f97ae82dfdb51a25\",\"views/smb/account/index\":\"4deaba1b5173f0f43129\",\"views/smb/account/show\":\"a212558c3b176cf9982b\",\"views/smb/user/list\":\"9ed62afe609bae6396d5\",\"views/smb/web/setup\":\"285c78a374f9ccb3afb7\",\"views/smb/web/view\":\"a9e9b81db39c45d33efc\",\"views/smb/web/overview\":\"f963f3a4f5352bc3edec\",\"views/smb/web/php-settings\":\"64f617882c72c88530b3\",\"views/smb/statistics/details\":\"e2531931d3fd80999594\",\"views/smb/database/index\":\"4526b301fb1d0bfb88ec\",\"views/smb/database/list\":\"a041596356e277e02513\",\"views/smb/database/users-list\":\"2ed1eb693f9358e8e9b8\",\"views/admin/task-manager/index\":\"e8222087368b96c91ef9\",\"views/dns/records\":\"bfa58992271028f576cf\",\"views/dns/records/edit\":\"2032e8af0bb3f73c85ee\",\"views/dns/records/dns-zone-sync\":\"70708bafe0b808220ca4\",\"views/dns/soa-record\":\"ba30aa19b07af12c20d9\",\"views/admin/dns/acl-records\":\"a3685dded5ae9586e638\",\"views/admin/dns/add-acl-record\":\"0df482fbd74b6f710ae3\",\"views/admin/dns/external-dns\":\"c6c9506370a98d356d0a\",\"views/admin/dns/external-dns-edit\":\"6b1af13c1c4531dc7082\",\"views/smb/dns-zone/records-list\":\"da1869f680798ba1a6d1\",\"views/smb/dns-zone/soa-record\":\"2842ea83585e78f04318\",\"views/smb/dns-zone/acl-records\":\"e6bfbf750b1ef7a9cf5b\",\"views/smb/dns-zone/add-acl-record\":\"85693aad0c19da601782\",\"views/smb/dns-zone/external-dns\":\"6f42ebfaa7b6afa91b3d\",\"views/smb/dns-zone/external-dns-edit\":\"a29e9cf7ba3ee9b775b5\",\"views/admin/settings-ui/edit-interface-view\":\"b92d62693180c9d88306\",\"views/admin/settings-ui/list-languages\":\"d5fa58b58d4d87533940\",\"views/admin/database/settings\":\"534513d179b1bf37a523\",\"views/smb/web/web-server-settings\":\"3b3345ef2ffdca725ec5\",\"views/admin/notifications/index\":\"ff0f8c1fa0e2f7b0edec\",\"components/pages/PanelNotificationsSettings\":\"903fe57403f754381246\",\"components/pages/BrandingPage\":\"7fd3526025c4315b0ad5\",\"views/server/db\":\"7756ead9c733039ac5d3\",\"views/admin/websites-diagnostic/index\":\"c3de2a7beb3be4d49c82\",\"components/pages/SystemTimePage\":\"5d6c4a1c94d138c43587\",\"views/server/mail\":\"5470d7bc0b56ad6507d2\",\"views/license\":\"7d90c7838cf31a2f41e3\",\"views/license/additional\":\"449b5f8d9370e348a698\",\"components/pages/FirewallGeneralPage\":\"6a18cc99d8037864a60f\",\"components/pages/FirewallIcmpPage\":\"41a3af2b0a1a51ffed41\",\"components/pages/FirewallRulesPage\":\"792bfea008236006c299\",\"components/pages/ServerComponentsPage\":\"aa470f4fee20f7e2b8e7\",\"views/admin/ip-address/list\":\"dd09de79682ca7f0ce2d\",\"views/admin/ip-address/clients\":\"54eeb674337e1ba6884e\",\"components/pages/AssignIpAddressToResellerForm\":\"926839bc0e21aa933939\",\"views/admin/client/ip-address\":\"3fd164882540b12b539f\",\"views/admin/client/ip-address/form\":\"7b29569fbc4c75f0fe88\",\"views/php/extensions\":\"dad82448afc86d828814\",\"components/pages/TsSessionPage\":\"4ad2e87089600acb3a4b\",\"components/pages/TsSessionsPage\":\"3da53f8107f4aa86cf71\",\"components/pages/AspDotNetSettingsPage/AspDotNetServerSettingsPage\":\"d4e79d9aa04163a66e60\",\"components/pages/ServerAboutPage\":\"9fc0a5962fd51cd734bf\",\"components/pages/MassMailPage\":\"cf5bae813877cac037c4\",\"components/pages/CreateMassMailTemplatePage\":\"f0767d68b94f8ca53ecd\",\"components/pages/SendMassMailPage\":\"13114bec8762963a337c\",\"components/pages/EditMassMailTemplatePage\":\"372527af46a81ddde691\",\"components/pages/ActionLogPage\":\"b2e7c258e8494663f9c0\",\"components/pages/ServerInformationPage\":\"f82997b8844f7cc43628\",\"components/pages/ServerSettingsPage\":\"691b3100f63d8ef38778\",\"components/tabs/SpamFilterSettingsTabs\":\"32579ec860e617a67ff6\",\"components/pages/SpamFilterSettingsPage\":\"25a80b71442f0d6aca84\",\"components/pages/SpamFilterBlackListPage\":\"cf9dc61021d2f328e362\",\"components/pages/SpamFilterWhiteListPage\":\"6f46b9bad566470abc8b\",\"components/layouts/page-layout/help-drawer\":\"76d5675f6a02ed167a71\",\"components/pages/OdbcPage/OdbcServerPage\":\"8b6113295f2cb180e300\",\"components/pages/OdbcAddPage\":\"f33e44c958c06c83814b\",\"components/pages/OdbcEditPage\":\"bf7008a8ba489b64a805\",\"components/pages/HostingSettingsPage\":\"ff1e9cf17b6f7535de54\",\"components/pages/ConnectionInfo\":\"c778b62a05f1b58bc236\",\"components/pages/SummaryReportLayoutsPage\":\"4aa48fce8f192b2e2e85\",\"components/pages/SummaryReportLayoutsPage/AddPage\":\"b3f854394098269d66e3\",\"components/pages/SummaryReportLayoutsPage/EditPage\":\"a9640a9fa77a3041ce8e\",\"components/pages/TrafficHistoryReportPage\":\"858b95a3773de5a462e8\",\"components/pages/SummaryReportSchedulesPage\":\"f4af9d4a8278a253cd32\",\"components/pages/SummaryReportPage\":\"e440da841e03de8c7b3d\",\"components/pages/AspDotNetSettingsPage/AspDotNetDomainSettingsPage\":\"fc10ade420c21fb103fb\",\"components/pages/BandwidthLimitingPage\":\"77fe06e00887b5ffa8f9\",\"components/pages/HotlinkProtectionPage\":\"1b4117aaf50823bdbe8f\",\"components/pages/OdbcPage/OdbcDomainPage\":\"299ea14936a967b25d70\",\"components/pages/ProtectedDirectoryListPage\":\"7dd2965008919081f86b\",\"components/pages/ProtectedDirectoryAddPage\":\"e76b65f08cbec7ad3ad4\",\"components/pages/ProtectedDirectoryEditPage\":\"e061e0f00c062f745641\",\"components/pages/ProtectedDirectoryUserListPage\":\"a21f35154c59e1e266b0\",\"components/pages/ProtectedDirectoryUserAddPage\":\"669aa7fa7a2d74ce4d1d\",\"components/pages/ProtectedDirectoryUserPasswordPage\":\"539922ca98b630a2f6c2\",\"components/pages/VirtualDirectoryPage/EditVirtualDirectoryPage\":\"96b9244b736d3e7afaa1\",\"components/pages/VirtualDirectoryPage/AspDotNetSettingsPage\":\"ef2d8941d10e8be9bd33\",\"components/pages/VirtualDirectoryPage/PermissionsPage\":\"70d560ec211fdc901cb2\",\"components/pages/VirtualDirectoryPage/PhpVersionPage\":\"9149893229db2294fa1c\",\"components/pages/VirtualDirectoryPage\":\"88dbe173f1c7f52ab2fa\",\"components/pages/VirtualDirectoryPage/Browse\":\"3d7a738c9ee68982819f\",\"components/pages/VirtualDirectoryPage/CreateDirectoryPage\":\"43a17b4248552d449e62\",\"components/pages/VirtualDirectoryPage/CreateVirtualDirectoryPage\":\"f5fc15531595c349d180\",\"components/pages/VirtualDirectoryPage/Protection\":\"dd726688e0bf0e91da6e\",\"components/pages/VirtualDirectoryPage/ProtectionSettingsPage\":\"5343ef1c7d39464c2f87\",\"components/pages/VirtualDirectoryPage/MimeTypeList\":\"4e518c7d8d0530c19886\",\"components/pages/VirtualDirectoryPage/CreateMimeTypePage\":\"d62211989002f4207796\",\"components/pages/VirtualDirectoryPage/EditMimeTypePage\":\"0ffb5552f0a74f128daf\",\"components/pages/VirtualDirectoryPage/ErrorDocList\":\"c3b329e9817731b5c32a\",\"components/pages/VirtualDirectoryPage/EditErrorDocPage\":\"47e1ef91bf9f40415d8f\",\"components/pages/TrafficUsageByDomainPage\":\"9724114e163ccf20f2d3\",\"components/pages/TrafficUsageByClientsPage\":\"24739c0f90051de56f16\",\"components/pages/TrafficUsageByResellerPage\":\"342ec43d72bd55523fb9\",\"components/pages/TrafficUsageByDomainsPage\":\"1a02536e83d435e23381\",\"components/pages/HomePage\":\"598d174578c98cdc5a11\",\"components/pages/HomeCustomizationPage\":\"430df8c7ac14a4cc9ca5\",\"components/pages/InfoAndStatisticsPage\":\"8d8d4594f3f4ef9cb374\",\"components/pages/InfoAndStatisticsPage/TrafficUsageLayoutPage\":\"aa2898b4f1da3ede8113\",\"components/pages/DomainsResourceUsagePage\":\"9c094b1ab69375ede7d2\",\"app/editlist\":\"35d0081a6f7e5a27f3bf\",\"app/rating\":\"0a39bc33594c48fa1266\",\"app/aha\":\"d7961d000904715f722f\",\"app/eula\":\"f8f0d6e2bd5674f50474\",\"app/app-image/gallery\":\"e84d40fd4a723aa48975\",\"app/backup/list\":\"bf0b7ac34de76835276f\",\"app/backup/restore\":\"3a26d9dc22f1a94beac2\",\"app/backup/upload-files\":\"2786d2cd9c3a2c133d0a\",\"app/backup/web-content-dynamic\":\"9cbcafbb2c7c4506520b\",\"app/database/assign-to-subscription\":\"e34b4cd8a2d1e8bee673\",\"app/dns-helper\":\"3522185c52b4b65120f1\",\"app/dns-helper/dns-settings\":\"c6c9922d6c117250b063\",\"app/email-address/aliases-dynamic\":\"3e68363448f1d937baea\",\"app/email-address/client-configuration-link\":\"82969d4fc45ba63c6879\",\"app/email-address/form-ajax\":\"7ab2b0228933b4583baf\",\"app/email-address/postbox\":\"1ec8cb4ff8e5f4f64f51\",\"app/email-address/responder-attachments-dynamic\":\"26cd84eaeedca6f21666\",\"app/file-manager/explorer\":\"2faaec854ce5b550cada\",\"app/file-manager/file-name-popup-form\":\"45266320f02b7bf15fde\",\"app/mail-settings/confirmation-remove-popup-form\":\"023589a5fadbf40bee40\",\"app/hosting-settings/conflicts-checker\":\"baa822267b655445ea0f\",\"app/log-browser/browser\":\"bc5327a02bdaddd7a3d0\",\"app/log-browser/files\":\"8961552c26b7b7d71168\",\"app/login/recovery-password\":\"552f01a7be57b02e0f0e\",\"app/newsletter-subscription\":\"61c343156998a49ce1b0\",\"app/progress-dialog\":\"cef3a79b48977ed447e2\",\"app/profile/announcement-settings\":\"17efb68dab88469cf8b3\",\"app/pum\":\"e560b9cece0036c03bfe\",\"app/server-mail-antivirus-promo\":\"e9b54e12b9f8d6e94521\",\"app/show-output-popup\":\"8e0e20b35cb497e88774\",\"app/task-progress-bar\":\"3c39cfc4aefad2a0adb7\",\"app/user/login-string\":\"2fe83b6457a69b8d4a82\",\"app/change-customers-owner\":\"64541fb76101676d451b\",\"app/convert-customers-to-resellers\":\"48577de2f0ee49108969\",\"app/convert-resellers-to-customers\":\"476dae4fe377dd37be3e\",\"app/service-sidebar\":\"25c8740656d8952cd5c2\",\"app/ssl-certificate/list\":\"1f8fd8169fd99e597118\",\"app/app/progress\":\"938952901ad9c343e824\",\"app/app/installed\":\"5ec27099a74dfd6070da\",\"app/app/apscatalog\":\"ce02122fa1ccd3ed2be2\",\"app/web-app-firewall/submit-handler\":\"45d47fe62d9b8687eff3\",\"app/helper/mail-settings-dkim-hint\":\"feef0652d952570c2d7d\",\"views/smb/file-manager/list/UploadProgressDialog\":\"1aa4d66bc6236376e54d\",\"components/common/ServerMailAntivirusPromo\":\"8a16239867840c3b9e36\"}[chunkId] + \"\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => {\n\t\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n\t};\n\tvar uniqueName = undefined;\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","__webpack_require__.p = \"/cp/\";","__webpack_require__.f.compat = (chunkId, promises) => {\n\n\t var localeDependencies = {\"main\":[\"components.buttons\",\"components.password.meter\",\"components.tasks.common\",\"components.status\",\"components.routes\",\"components.cookie-policy.info\",\"components.cookie-policy.preferences\",\"components.license-status\",\"components.search-bar\",\"components.shortcuts\",\"components.subscription-switcher\",\"components.notification-center\",\"components.view-switcher\",\"components.pages.home\",\"controllers.error.error\",\"components.pages.VirtualDirectory\",\"components.forms.login\",\"components.common.LocaleSwitcher\",\"components.forms.get-password\",\"components.forms.restore-password\"],\"components/pages/IpAddressDomainsPage\":[\"components.pages.ip-address-domains\"],\"components/pages/ChangeSubscriptionsOwnerPage\":[\"components.pages.change-subscriptions-owner\",\"components.forms.change-subscriptions-owner\",\"components.list\",\"components.elements.lookup\",\"components.forms.ip-addresses-selector\"],\"components/pages/VirtualHostTemplatePage\":[\"components.pages.VirtualHostTemplatePage\",\"components.list\"],\"components_pages_ConfigureMailClientPage_index_js\":[\"components.pages.ConfigureMailClient\",\"components.pages.ConfigureMailClient.Thunderbird\",\"components.pages.ConfigureMailClient.Common\",\"components.buttons\",\"components.pages.ConfigureMailClient.Ios\",\"components.pages.ConfigureMailClient.Gmail\",\"components.pages.ConfigureMailClient.Manual\",\"components.pages.ConfigureMailClient.Outlook\"],\"views/admin/force-reset-password\":[\"components.forms.force-reset-password\"],\"views/admin/setup/progress\":[\"components.shortcuts\"],\"views/admin/setup/index\":[\"components.forms.setup\",\"components.shortcuts\"],\"views/admin/home/admin\":[\"admin.controllers.home.admin\",\"admin.controllers.home._shared\",\"admin.controllers.home.reseller\",\"admin.controllers.home.admin.promoNewPage\"],\"views/admin/app/info\":[\"admin.controllers.app.info\",\"admin.components.lists.appinfo\"],\"views/admin/app/usage\":[\"admin.controllers.app.usage\",\"admin.components.lists.appusage\"],\"views/admin/app/uploaded\":[\"admin.controllers.app.uploaded\",\"admin.components.lists.appuploaded\"],\"views/admin/custom-buttons/list\":[\"components.lists.custombuttons\"],\"views/admin/ftp-sessions/list\":[\"admin.components.lists.ftpsessions\"],\"views/admin/php-handler/list\":[\"admin.controllers.php-handler.list\",\"admin.components.lists.phphandlers\"],\"components/pages/ScheduledBackupPage\":[\"components.buttons\",\"components.forms.backup.schedule\",\"smb.components.days-of-week\",\"controllers.backup.schedule\",\"components.forms.backup.subform\"],\"components/pages/ScheduledBackupListPage\":[\"components.lists.backup.schedule\",\"smb.components.days-of-week\",\"components.forms.backup.subform\",\"components.list\",\"components.forms.backup.schedule\",\"controllers.backup.schedule\",\"components.buttons\"],\"views/default/scheduler/list\":[\"components.lists.scheduler.tasks\"],\"views/admin/domain/list\":[\"components.pages.domains\",\"admin.components.lists.domains\",\"components.icp-permit\",\"components.list\",\"components.active-lists.sites\",\"components.buttons\",\"components.forms.domain.rename\",\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\",\"components.forms.domain.move\"],\"views/admin/customer/list\":[\"components.pages.customers\",\"admin.components.forms.customer\",\"admin.components.forms.admin-panel.form.contact-info\",\"components.forms.admin-info\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"components.buttons\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.forms.ip-addresses-selector\",\"admin.components.lists.customers\",\"admin.components.lists.subscriptions\"],\"views/admin/customer/domains\":[\"components.pages.customer-domains\",\"admin.components.lists.domains\",\"components.icp-permit\",\"components.buttons\",\"components.homonyms\",\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\",\"admin.components.customer-sidebar\",\"admin.components.elements.status\",\"components.forms.admin-info\"],\"views/admin/customer/subscriptions\":[\"components.pages.customer-subscriptions\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.buttons\",\"components.forms.domain.tech-domain-name\",\"components.forms.admin-info\",\"components.forms.ip-addresses-selector\",\"components.domain-applications.applications\",\"components.domain-applications\",\"admin.components.lists.subscriptions\",\"admin.components.customer-sidebar\",\"admin.components.elements.status\"],\"views/admin/reseller/list\":[\"components.pages.resellers\",\"admin.components.lists.resellers\"],\"views/admin/reseller/customers\":[\"components.pages.reseller-customers\",\"admin.components.forms.customer\",\"admin.components.forms.admin-panel.form.contact-info\",\"components.forms.admin-info\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"components.buttons\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.forms.ip-addresses-selector\",\"admin.components.lists.customers\",\"admin.components.lists.subscriptions\",\"admin.components.reseller-sidebar\",\"admin.components.elements.status\",\"admin.components.lists.resellers\"],\"views/admin/reseller/domains\":[\"components.pages.reseller-domains\",\"admin.components.lists.domains\",\"components.icp-permit\",\"components.buttons\",\"components.homonyms\",\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\",\"admin.components.reseller-sidebar\",\"admin.components.elements.status\",\"admin.components.lists.resellers\",\"components.forms.admin-info\"],\"views/admin/reseller/subscriptions\":[\"components.pages.reseller-subscriptions\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.buttons\",\"components.forms.domain.tech-domain-name\",\"components.forms.admin-info\",\"components.forms.ip-addresses-selector\",\"components.domain-applications.applications\",\"components.domain-applications\",\"admin.components.lists.subscriptions\",\"admin.components.reseller-sidebar\",\"admin.components.elements.status\",\"admin.components.lists.resellers\"],\"views/admin/server/tools\":[\"admin.controllers.server.tools\",\"components.buttons\",\"components.issue-reporter\",\"components.forms.panel-access\"],\"views/admin/server/preview-domain-settings\":[\"admin.components.forms.preview-domain-settings\",\"admin.controllers.server.preview-domain-settings\"],\"views/admin/services/list\":[\"admin.components.lists.services\",\"admin.controllers.services.operation\",\"admin.components.forms.services.change-startup-type\"],\"views/admin/sessions/list\":[\"admin.components.lists.sessions\"],\"views/admin/subscription/list\":[\"components.pages.subscriptions\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.buttons\",\"components.forms.domain.tech-domain-name\",\"components.forms.admin-info\",\"components.forms.ip-addresses-selector\",\"components.domain-applications.applications\",\"components.domain-applications\",\"admin.components.lists.subscriptions\"],\"views/smb/file-manager/list\":[\"smb.components.lists.contentfiles\",\"components.buttons\",\"smb.controllers.file-manager.create-directory\",\"smb.components.forms.file-manager.editor\",\"smb.controllers.file-manager.form\",\"smb.components.forms.file-manager.import-file\",\"smb.components.forms.file-manager.rotation-settings\",\"permissions\",\"smb.components.forms.file-manager.permissions\",\"smb.components.forms.file-manager.unix-file-permissions\",\"smb.components.forms.file-manager.windows-permissions\",\"unix-file-permissions\",\"windows-permissions\",\"smb.controllers.file-manager.upload\"],\"views/smb/file-manager/index\":[\"smb.controllers.file-manager.index\",\"smb.components.lists.subscriptions\"],\"views/smb/my-service/index\":[\"smb.controllers.my-service.index\"],\"views/smb/email-address/index\":[\"smb.controllers.email-address.index\",\"smb.controllers.email-address.configuration\",\"components.buttons\"],\"views/smb/email-address/list\":[\"smb.controllers.email-address.list\",\"smb.components.lists.emails\",\"components.buttons\",\"smb.controllers.email-address.configuration\",\"smb.components.confirmations.email-outgoing-messages\",\"smb.controllers.mail-settings.list\"],\"views/smb/mail-settings/list\":[\"smb.controllers.mail-settings.list\",\"smb.components.lists.mailsettings\",\"components.buttons\",\"smb.components.confirmations.domain-outgoing-messages\"],\"views/smb/account/index\":[\"smb.controllers.account.index\",\"smb.controllers.account._shared\",\"smb.components.lists.subscriptions\"],\"views/smb/account/show\":[\"smb.controllers.account.show\",\"smb.controllers.account._shared\",\"admin.components.elements.status\",\"components.limits\",\"admin.components.forms.service-plan.permissions\"],\"views/smb/user/list\":[\"smb.controllers.user.list\",\"smb.components.lists.users\"],\"views/smb/web/setup\":[\"smb.controllers.web.setup\",\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"components.buttons\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\"],\"views/smb/web/view\":[\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"components.buttons\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\",\"components.sidebar\",\"admin.components.elements.status\",\"admin.components.lists.subscriptions\",\"components.homonyms\",\"components.custom-spots\",\"admin.controllers.home.admin\",\"smb.controllers.web._shared\",\"components.forms.admin-info\",\"components.active-lists.sites\",\"components.active-list\",\"components.icp-permit\",\"components.active-lists.sites.GetStarted\",\"components.active-lists.sites.GetStarted.SitejetDialog\",\"components.active-lists.sites.alias\",\"components.active-lists.sites.RenameTour\",\"components.forms.domain.rename\",\"admin.components.lists.domains\",\"components.active-lists.sites.DynamicListTour\",\"components.forms.domain.move\",\"components.site-jet-banner\"],\"views/smb/web/overview\":[\"components.active-lists.sites\",\"components.icp-permit\",\"components.forms.admin-info\",\"components.buttons\",\"components.active-lists.sites.GetStarted\",\"components.active-lists.sites.GetStarted.SitejetDialog\",\"components.active-lists.sites.alias\",\"components.forms.domain.rename\",\"components.sidebar\",\"admin.components.elements.status\",\"admin.components.lists.subscriptions\",\"components.homonyms\",\"components.custom-spots\",\"admin.controllers.home.admin\",\"smb.controllers.web._shared\",\"components.active-lists.sites.RenameTour\",\"components.forms.domain.move\",\"components.elements.lookup\"],\"views/smb/web/php-settings\":[\"components.forms.php-settings\",\"components.buttons\",\"admin.components.lists.services\",\"admin.controllers.services.operation\"],\"views/smb/statistics/details\":[\"smb.controllers.statistics.details\",\"smb.controllers.statistics.list\"],\"views/smb/database/index\":[\"smb.controllers.database.index\",\"smb.components.lists.subscriptions\"],\"views/smb/database/list\":[\"smb.controllers.database.list\",\"smb.components.lists.databases\",\"smb.controllers.database.download-dump\",\"smb.controllers.database.upload-dump\",\"components.buttons\"],\"views/smb/database/users-list\":[\"smb.controllers.database.users-list\",\"smb.components.lists.database.users\"],\"views/admin/task-manager/index\":[\"components.lists.tasks\",\"components.lists.tasks.processes\"],\"views/dns/records\":[\"smb.components.lists.dnsrecords\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.dns\",\"components.pages.dns-records\",\"components.list\",\"admin.controllers.dns.restore-default\",\"admin.controllers.dns.soa-sync\",\"admin.controllers.dns\"],\"views/dns/records/edit\":[\"smb.components.forms.dns-zone.record\"],\"views/dns/records/dns-zone-sync\":[\"admin.controllers.dns.sync\"],\"views/dns/soa-record\":[\"smb.components.forms.dns-zone.soa-record\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.dns\",\"components.pages.dns-soa-record\",\"admin.controllers.dns\"],\"views/admin/dns/acl-records\":[\"admin.components.lists.dnsaclrecords\"],\"views/admin/dns/add-acl-record\":[\"admin.components.forms.dns.add-acl-record\"],\"views/admin/dns/external-dns\":[\"admin.controllers.dns.external-dns\"],\"views/admin/dns/external-dns-edit\":[\"admin.controllers.dns.external-dns\"],\"views/smb/dns-zone/records-list\":[\"components.dialogs.dns-zone-check\",\"components.buttons\",\"smb.components.dns-helper\",\"smb.components.lists.dnsrecords\"],\"views/smb/dns-zone/soa-record\":[\"smb.controllers.dns-zone.soa-record\",\"smb.components.forms.dns-zone.soa-record\"],\"views/smb/dns-zone/acl-records\":[\"smb.components.lists.dnsaclrecords\"],\"views/smb/dns-zone/add-acl-record\":[\"smb.components.forms.dns-zone.add-acl-record\"],\"views/smb/dns-zone/external-dns\":[\"smb.controllers.dns-zone.external-dns\"],\"views/smb/dns-zone/external-dns-edit\":[\"smb.controllers.dns-zone.external-dns\"],\"views/admin/settings-ui/edit-interface-view\":[\"admin.controllers.settings-ui.edit-interface-view\",\"admin.components.forms.settings-ui.interface-views\",\"components.view-switcher\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.settings-ui.list-languages\"],\"views/admin/settings-ui/list-languages\":[\"admin.components.lists.languages\"],\"views/admin/database/settings\":[\"admin.components.forms.database-settings\"],\"views/smb/web/web-server-settings\":[\"components.buttons\",\"components.forms.iis-settings\",\"components.forms.apache-settings\"],\"views/admin/notifications/index\":[\"admin.controllers.notifications.email-settings\",\"admin.controllers.notifications.panel-settings\",\"components.lists.notifications\",\"components.notifications.drawer\",\"components.buttons\"],\"components/pages/PanelNotificationsSettings\":[\"admin.controllers.notifications.panel-notifications-toggle\",\"admin.controllers.notifications.template-settings-list\",\"admin.controllers.notifications.template-settings-form\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.notifications.index\",\"admin.controllers.notifications.panel-settings\",\"components.list\",\"admin.controllers.notifications.email-settings\"],\"components/pages/BrandingPage\":[\"admin.components.forms.settings-ui.branding\",\"admin.components.forms.settings-ui.branding.background.fit\",\"admin.controllers.server.tools\",\"admin.controllers.navigation.index\",\"admin.controllers.settings-ui.branding\"],\"views/server/db\":[\"components.pages.database-servers\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.lists.databaseservers\",\"components.status\",\"components.buttons\",\"components.list\",\"components.pages.database-server-upgrade\",\"components.pages.database-server-upgrade.chooseReleaseStep\",\"components.pages.database-server-upgrade.preUpgradeCheckStep\",\"components.pages.database-server-upgrade.preUpgradeCheckProgressStep\",\"components.pages.database-server-create\",\"components.forms.database-server-create\",\"components.pages.database-server-properties\",\"components.pages.database-server-change-password\",\"components.pages.database-server-databases\",\"components.lists.databaseserverdatabases\",\"components.forms.database-server-change-password\"],\"views/admin/websites-diagnostic/index\":[\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.websites-diagnostic\",\"admin.controllers.websites-diagnostic.report\",\"components.list\",\"admin.controllers.websites-diagnostic.problems\",\"admin.controllers.websites-diagnostic.problem-report\",\"admin.controllers.websites-diagnostic.distribution-over-time\",\"admin.controllers.websites-diagnostic.websites\",\"admin.controllers.websites-diagnostic.new-check\"],\"components/pages/SystemTimePage\":[\"components.forms.system-time\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"smb.components.months\"],\"views/server/mail\":[\"components.pages.home\",\"admin.controllers.server.tools\",\"admin.controllers.mail-settings.index\",\"components.pages.server-mail-settings\",\"admin.components.forms.server-mail-settings\",\"components.buttons\",\"admin.components.forms.server-mail-settings.general\",\"admin.components.forms.server-mail-settings.autodiscover\",\"admin.components.forms.server-mail-settings.relay\",\"admin.components.forms.server-mail-settings.outgoing\",\"admin.components.forms.server-mail-settings.mailman\",\"admin.components.forms.server-mail-settings.spam-filter\",\"admin.components.forms.server-mail-settings.auto-reply-headers\",\"admin.components.forms.server-mail-settings.pop3-names\",\"components.pages.server-mail-spam-filter\",\"components.pages.server-mail-antivirus\",\"components.pages.server-mail-black-list\",\"components.pages.server-mail-white-list\",\"components.pages.server-mail-queue\",\"components.pages.server-mail-statistics\",\"components.pages.server-mail-smarthost\",\"admin.components.lists.servermailblacklist\",\"components.list\",\"admin.components.forms.server-mail-black-list\",\"admin.components.lists.servermailwhitelist\",\"admin.components.forms.server-mail-white-list\",\"admin.components.forms.server-mail-antivirus\",\"admin.components.forms.server-mail-spam-filter\",\"admin.components.lists.serverMailStatistics.SpamRecipients\",\"admin.components.lists.serverMailStatistics.summary\",\"smb.components.months\",\"admin.components.lists.serverMailStatistics\",\"admin.components.lists.serverMailStatistics.VirusRecipients\",\"admin.components.lists.serverMailStatistics.VirusViruses\",\"admin.components.forms.server-mail-smarthost\",\"admin.components.forms.server-mail-smarthost.settings\",\"admin.components.forms.server-mail-smarthost.configuration\"],\"views/license\":[\"components.pages.primary-key-info\",\"components.license-status\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.license\",\"components.common.master-key-processing-state\",\"smb.components.license.properties\",\"components.dialogs.primary-key-update\",\"components.buttons\",\"components.pages.additional-keys\",\"components.pages.additional-key-upload\",\"components.pages.primary-key-upload\",\"components.forms.license-key-upload\",\"components.pages.primary-key-revert\",\"components.forms.license-key-revert\"],\"views/license/additional\":[\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.license\",\"components.pages.additional-keys\",\"components.pages.primary-key-info\",\"components.lists.additional-keys\",\"components.buttons\",\"components.list\",\"components.pages.additional-key-upload\",\"components.pages.primary-key-upload\",\"components.forms.license-key-upload\",\"components.pages.additional-key-info\",\"admin.controllers.home.admin\",\"smb.components.license.properties\",\"components.dialogs.additional-key-update\",\"components.pages.additional-key-revert\",\"components.forms.license-key-revert\"],\"components/pages/FirewallGeneralPage\":[\"components.pages.firewall-general\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.firewall\",\"admin.components.lists.firewallinterfaces\",\"components.list\",\"components.pages.firewall-icmp\",\"components.pages.firewall-rules\",\"components.buttons\"],\"components/pages/FirewallIcmpPage\":[\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.firewall\",\"components.pages.firewall-icmp\",\"admin.components.lists.firewallicmprules\",\"components.list\",\"components.pages.firewall-general\",\"components.pages.firewall-rules\"],\"components/pages/FirewallRulesPage\":[\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.firewall\",\"components.pages.firewall-rules\",\"admin.components.lists.firewallrules\",\"components.buttons\",\"components.list\",\"components.pages.firewall-general\",\"components.pages.firewall-icmp\",\"admin.components.forms.firewall-rule\"],\"components/pages/ServerComponentsPage\":[\"components.lists.server-components\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"components.list\",\"components.lists.server-components.componentConf\"],\"views/admin/ip-address/list\":[\"admin.controllers.ip-address.list\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.components.lists.ipaddresses\",\"components.buttons\",\"admin.components.forms.ip-address\",\"admin.components.forms.security-policy\",\"admin.controllers.ip-address.add\"],\"views/admin/ip-address/clients\":[\"components.lists.ip-address-reseller-usage\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.ip-address.list\",\"components.buttons\",\"components.list\"],\"components/pages/AssignIpAddressToResellerForm\":[\"components.lists.ip-address-reseller-usage.assign\",\"components.lists.ip-address-reseller-usage\"],\"views/admin/client/ip-address\":[\"admin.controllers.ip-address.list\",\"admin.controllers.home.admin\",\"admin.controllers.navigation.index\",\"components.lists.client-ip-address\",\"components.buttons\",\"components.list\"],\"views/admin/client/ip-address/form\":[\"components.lists.client-ip-address\",\"components.lists.client-ip-address.properties\",\"components.lists.client-ip-address.assign\"],\"views/php/extensions\":[\"components.pages.php-handler.extensions\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.php-handler.list\",\"components.pages.php-handler\",\"components.pages.php-handler.php-ini\",\"components.pages.php-handler.extensions.manage\",\"admin.components.lists.phpextensions.installable\",\"components.list\",\"components.buttons\",\"admin.components.forms.php-handler.extension\",\"admin.components.lists.phpextensions\"],\"components/pages/TsSessionPage\":[\"components.lists.ts-sessions\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"components.pages.ts-sessions\",\"components.pages.ts-sessions-properties\"],\"components/pages/TsSessionsPage\":[\"components.lists.ts-sessions\",\"components.list\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"components.pages.ts-sessions\"],\"components/pages/AspDotNetSettingsPage/AspDotNetServerSettingsPage\":[\"smb.controllers.asp-dot-net.settings\",\"admin.controllers.server.tools\",\"smb.components.forms.asp-dot-net.settings\",\"smb.components.forms.asp-dot-net.change-version\"],\"components/pages/ServerAboutPage\":[\"components.pages.ServerAbout\"],\"components/pages/MassMailPage\":[\"components.pages.MassMailPage\"],\"components/pages/CreateMassMailTemplatePage\":[\"components.pages.CreateMassMailTemplatePage\",\"components.forms.MassMailForm\",\"components.elements.double-list-selector\"],\"components/pages/SendMassMailPage\":[\"components.pages.SendMassMailPage\",\"components.forms.MassMailForm\",\"components.elements.double-list-selector\"],\"components/pages/EditMassMailTemplatePage\":[\"components.pages.EditMassMailTemplatePage\",\"components.forms.MassMailForm\",\"components.elements.double-list-selector\"],\"components/pages/ActionLogPage\":[\"components.forms.action-log\",\"smb.components.months\"],\"components/pages/ServerInformationPage\":[\"components.pages.ServerInformation\"],\"components/pages/ServerSettingsPage\":[\"components.forms.server-settings\"],\"components/tabs/SpamFilterSettingsTabs\":[\"components.pages.server-spam-filter\"],\"components/pages/SpamFilterSettingsPage\":[\"admin.components.forms.server-mail-spam-filter\",\"components.buttons\"],\"components/pages/SpamFilterBlackListPage\":[\"components.lists.spam-filter\",\"components.buttons\",\"components.list\",\"components.forms.spam-filter.add\"],\"components/pages/SpamFilterWhiteListPage\":[\"components.lists.spam-filter\",\"components.buttons\",\"components.list\",\"components.forms.spam-filter.add\"],\"components/layouts/page-layout/help-drawer\":[\"components.layouts.page-layout.help-drawer\"],\"components/pages/OdbcPage/OdbcServerPage\":[\"components.pages.Odbc\",\"components.buttons\"],\"components/pages/OdbcAddPage\":[\"components.pages.OdbcAdd\"],\"components/pages/OdbcEditPage\":[\"components.pages.OdbcEdit\"],\"components/pages/HostingSettingsPage\":[\"components.pages.HostingSettings\",\"components.buttons\",\"components.pages.HostingSettings.domainSettingsSection\",\"components.pages.HostingSettings.domainSettingsSection.security\",\"components.pages.HostingSettings.domainSettingsSection.webScripting\",\"components.pages.HostingSettings.domainSettingsSection.sameSsl\",\"components.pages.HostingSettings.webspaceSettingsSection\",\"components.forms.ip-addresses-selector\",\"components.pages.HostingSettings.webspaceSettingsSection.quota\"],\"components/pages/ConnectionInfo\":[\"components.forms.domain.connection-info\",\"components.buttons\"],\"components/pages/SummaryReportLayoutsPage\":[\"admin.components.lists.summaryreportlayouts\",\"components.buttons\",\"components.list\"],\"components/pages/SummaryReportLayoutsPage/AddPage\":[\"components.pages.SummaryReport.Layout.Add\",\"components.forms.SummaryReport.Layout\"],\"components/pages/SummaryReportLayoutsPage/EditPage\":[\"components.pages.SummaryReport.Layout\",\"components.forms.SummaryReport.Layout\"],\"components/pages/TrafficHistoryReportPage\":[\"admin.components.lists.traffichistory\",\"components.list\"],\"components/pages/SummaryReportSchedulesPage\":[\"admin.components.lists.summaryreportschedules\",\"components.buttons\",\"components.list\",\"components.pages.SummaryReport.Schedule.Add\",\"components.forms.SummaryReport.Schedule\",\"components.pages.SummaryReport.Schedule.Properties\"],\"components/pages/SummaryReportPage\":[\"admin.components.report.summary\",\"components.status.reason\",\"components.pages.SummaryReport.Report\"],\"components/pages/AspDotNetSettingsPage/AspDotNetDomainSettingsPage\":[\"smb.components.forms.asp-dot-net.settings\",\"smb.controllers.asp-dot-net.settings\",\"smb.components.forms.asp-dot-net.change-version\"],\"components/pages/BandwidthLimitingPage\":[\"components.pages.BandwidthLimiting\"],\"components/pages/HotlinkProtectionPage\":[\"components.pages.HotlinkProtection\"],\"components/pages/OdbcPage/OdbcDomainPage\":[\"components.pages.Odbc\",\"components.buttons\"],\"components/pages/ProtectedDirectoryListPage\":[\"components.pages.ProtectedDirectoryList\",\"components.buttons\"],\"components/pages/ProtectedDirectoryAddPage\":[\"components.pages.ProtectedDirectoryAdd\",\"components.forms.ProtectedDirectory\"],\"components/pages/ProtectedDirectoryEditPage\":[\"components.pages.ProtectedDirectoryEdit\",\"components.forms.ProtectedDirectory\"],\"components/pages/ProtectedDirectoryUserListPage\":[\"components.lists.ProtectedDirectoryUser\",\"components.buttons\"],\"components/pages/ProtectedDirectoryUserAddPage\":[\"components.pages.ProtectedDirectoryUserAdd\"],\"components/pages/ProtectedDirectoryUserPasswordPage\":[\"components.pages.ProtectedDirectoryUserPassword\"],\"components/pages/VirtualDirectoryPage/EditVirtualDirectoryPage\":[\"components.pages.VirtualDirectory.EditVirtualDirectory\",\"components.forms.VirtualDirectory.DirectorySection\",\"components.forms.VirtualDirectory.CheckboxField\",\"components.forms.VirtualDirectory.Path\",\"components.dialogs.DirectoryBrowserDialog\",\"components.forms.VirtualDirectory.ApplicationSettingsSection\",\"components.forms.VirtualDirectory.ScriptExecuteField\",\"components.forms.VirtualDirectory.scriptExecuteOption\",\"components.forms.VirtualDirectory.SecuritySection\",\"components.forms.VirtualDirectory.AspSection\",\"components.forms.VirtualDirectory.DocumentsSection\",\"components.forms.VirtualDirectory.DefaultDocsField\",\"components.forms.VirtualDirectory.NewDefaultDoc\",\"components.forms.VirtualDirectory.PhysicalDirectoryConflictDialog\"],\"components/pages/VirtualDirectoryPage/AspDotNetSettingsPage\":[\"components.pages.VirtualDirectory.AspDotNet\",\"smb.components.forms.asp-dot-net.settings\",\"smb.controllers.asp-dot-net.settings\",\"smb.components.forms.asp-dot-net.change-version\"],\"components/pages/VirtualDirectoryPage/PermissionsPage\":[\"permissions\",\"smb.components.forms.file-manager.permissions\",\"smb.components.forms.file-manager.unix-file-permissions\",\"smb.components.forms.file-manager.windows-permissions\",\"unix-file-permissions\",\"windows-permissions\"],\"components/pages/VirtualDirectoryPage/PhpVersionPage\":[\"components.pages.VirtualDirectory.Php\"],\"components/pages/VirtualDirectoryPage\":[\"components.pages.VirtualDirectory\"],\"components/pages/VirtualDirectoryPage/Browse\":[\"smb.components.lists.virtualdirectories\",\"components.buttons\"],\"components/pages/VirtualDirectoryPage/CreateDirectoryPage\":[\"components.pages.VirtualDirectory.CreateDirectory\"],\"components/pages/VirtualDirectoryPage/CreateVirtualDirectoryPage\":[\"components.pages.VirtualDirectory.CreateVirtualDirectory\",\"components.forms.VirtualDirectory.DirectorySection\",\"components.forms.VirtualDirectory.CheckboxField\",\"components.forms.VirtualDirectory.Path\",\"components.dialogs.DirectoryBrowserDialog\",\"components.forms.VirtualDirectory.ApplicationSettingsSection\",\"components.forms.VirtualDirectory.ScriptExecuteField\",\"components.forms.VirtualDirectory.scriptExecuteOption\",\"components.forms.VirtualDirectory.SecuritySection\",\"components.forms.VirtualDirectory.AspSection\",\"components.forms.VirtualDirectory.DocumentsSection\",\"components.forms.VirtualDirectory.DefaultDocsField\",\"components.forms.VirtualDirectory.NewDefaultDoc\",\"components.forms.VirtualDirectory.PhysicalDirectoryConflictDialog\"],\"components/pages/VirtualDirectoryPage/Protection\":[\"components.pages.VirtualDirectory.Protection\",\"components.pages.VirtualDirectory.Protection.NoProtectionView\",\"components.lists.ProtectedDirectoryUser\",\"components.buttons\"],\"components/pages/VirtualDirectoryPage/ProtectionSettingsPage\":[\"components.pages.ProtectedDirectoryEdit\",\"components.forms.ProtectedDirectory\"],\"components/pages/VirtualDirectoryPage/MimeTypeList\":[\"components.pages.VirtualDirectory.MimeTypeList\",\"components.buttons\"],\"components/pages/VirtualDirectoryPage/CreateMimeTypePage\":[\"components.pages.VirtualDirectory.CreateMimeType\",\"components.forms.VirtualDirectoryMimeType\"],\"components/pages/VirtualDirectoryPage/EditMimeTypePage\":[\"components.pages.VirtualDirectory.EditMimeType\",\"components.forms.VirtualDirectoryMimeType\"],\"components/pages/VirtualDirectoryPage/ErrorDocList\":[\"components.pages.VirtualDirectory.ErrorDocList\",\"components.pages.VirtualDirectory.errorDocType\"],\"components/pages/VirtualDirectoryPage/EditErrorDocPage\":[\"components.pages.VirtualDirectory.EditErrorDoc\",\"components.pages.VirtualDirectory.EditErrorDoc.EditErrorDocForm\",\"components.pages.VirtualDirectory.errorDocType\"],\"components/pages/TrafficUsageByDomainPage\":[\"components.common.TrafficUsage.TotalUsageInfo\",\"smb.components.months\",\"components.pages.TrafficUsageByDomain.List\",\"components.list\"],\"components/pages/TrafficUsageByClientsPage\":[\"components.lists.TrafficUsageByClients\",\"components.common.TrafficUsage.TotalUsageInfo\",\"smb.components.months\"],\"components/pages/TrafficUsageByResellerPage\":[\"components.pages.TrafficUsageByReseller\",\"components.lists.TrafficUsageByClients\",\"components.pages.TrafficUsageByReseller.TotalUsage\"],\"components/pages/TrafficUsageByDomainsPage\":[\"components.pages.TrafficUsageByDomains.Viewer.Filters\",\"components.common.ListFilterPanel\",\"components.common.ListFilterForm\",\"components.pages.TrafficUsageByDomains.Viewer.List\",\"components.common.TrafficUsage.TotalUsageInfo\",\"smb.components.months\"],\"components/pages/HomePage\":[\"components.pages.Home.ServerInfo\",\"components.buttons\",\"components.pages.Home.Customization\",\"components.pages.Home.Updates\",\"components.pages.Home.Backup\",\"components.lists.backup.schedule\",\"smb.components.days-of-week\",\"components.forms.backup.subform\",\"components.list\",\"components.forms.backup.schedule\",\"controllers.backup.schedule\",\"components.pages.Home.OverusedSubscriptions\",\"components.status.reason\",\"components.pages.Home.Subscriptions\",\"components.pages.Home.IpBan\",\"components.pages.Home.Extension\",\"components.pages.Home.MailQueue\",\"components.pages.Home.Promo.Customize\",\"components.pages.Home.Promo.SwitchToPuv\",\"components.pages.Home.ChangeLog\",\"components.pages.Home.CustomButtons\",\"components.pages.Home.Status\",\"components.webserver-configuration-failure\",\"components.upgrade-failure-notification\",\"components.pages.Home.EmptyView\",\"components.pages.Home.PromoNewHomeView\"],\"components/pages/HomeCustomizationPage\":[\"components.pages.Home.Customization\"],\"components/pages/InfoAndStatisticsPage\":[\"components.pages.InfoAndStatistics.Main\"],\"components/pages/InfoAndStatisticsPage/TrafficUsageLayoutPage\":[\"components.pages.InfoAndStatistics.TrafficUsage\"],\"components/pages/DomainsResourceUsagePage\":[\"admin.components.lists.resourceusage\"],\"app/editlist\":[\"components.editlist\"],\"app/rating\":[\"components.rating\",\"components.buttons\"],\"app/aha\":[\"components.aha\",\"components.buttons\"],\"app/eula\":[\"admin.controllers.index.eula\"],\"app/app-image/gallery\":[\"smb.controllers.app-image.gallery\"],\"app/backup/list\":[\"components.lists.backup\",\"controllers.backup.size-hint\",\"controllers.backup.restore-status\"],\"app/backup/restore\":[\"controllers.backup.restore-status\"],\"app/backup/upload-files\":[\"components.forms.backup.upload\"],\"app/backup/web-content-dynamic\":[\"components.forms.backup.web-content-dynamic\",\"components.buttons\"],\"app/database/assign-to-subscription\":[\"smb.components.lists.databases\",\"components.buttons\"],\"app/dns-helper\":[\"smb.components.dns-helper\"],\"app/dns-helper/dns-settings\":[\"smb.components.dns-helper\"],\"app/email-address/aliases-dynamic\":[\"smb.components.forms.email-address\"],\"app/email-address/client-configuration-link\":[\"components.email-address.client-configuration-link\",\"components.buttons\"],\"app/email-address/form-ajax\":[\"components.buttons\"],\"app/email-address/postbox\":[\"smb.components.forms.email-address\"],\"app/email-address/responder-attachments-dynamic\":[\"smb.components.forms.email-address\"],\"app/file-manager/explorer\":[\"smb.components.lists.contentfiles\",\"components.buttons\",\"smb.controllers.file-manager.create-directory\"],\"app/file-manager/file-name-popup-form\":[\"smb.components.forms.file-manager.show\",\"components.buttons\"],\"app/mail-settings/confirmation-remove-popup-form\":[\"smb.components.forms.mail-settings.show\",\"components.buttons\"],\"app/hosting-settings/conflicts-checker\":[\"admin.controllers.customer-service-plan._shared\"],\"app/log-browser/browser\":[\"components.lists.logbrowser\",\"components.buttons\"],\"app/log-browser/files\":[\"smb.components.lists.logfiles\",\"components.buttons\"],\"app/login/recovery-password\":[\"components.login.recovery-password\",\"components.buttons\"],\"app/newsletter-subscription\":[\"components.newsletter-subscription\"],\"app/progress-dialog\":[\"components.tasks.common\"],\"app/profile/announcement-settings\":[\"admin.components.forms.admin.announcement-settings\"],\"app/pum\":[\"admin.components.lists.pumpackages\",\"components.buttons\"],\"app/show-output-popup\":[\"components.tasks.scheduler-run-task\"],\"app/task-progress-bar\":[\"components.tasks.common\"],\"app/change-customers-owner\":[\"admin.components.confirmations.change-customer-owner\"],\"app/convert-customers-to-resellers\":[\"admin.components.confirmations.customer\"],\"app/convert-resellers-to-customers\":[\"admin.components.confirmations.reseller\"],\"app/service-sidebar\":[\"smb.controllers.service.index\"],\"app/app/progress\":[\"smb.components.elements.download\"],\"app/app/installed\":[\"smb.components.lists.app.instances\",\"smb.controllers.service.index\"],\"app/app/apscatalog\":[\"smb.components.forms.aps.catalog\"],\"app/web-app-firewall/submit-handler\":[\"components.forms.web-app-firewall\",\"components.buttons\"],\"app/helper/mail-settings-dkim-hint\":[\"components.buttons\"],\"views/smb/file-manager/list/UploadProgressDialog\":[\"smb.controllers.file-manager.upload\"],\"components/common/ServerMailAntivirusPromo\":[\"components.common.ServerMailAntivirusPromo\",\"admin.controllers.server.tools\",\"admin.controllers.mail-settings.index\"]};\n\t if (localeDependencies[chunkId]) {\n\t promises.push(Jsw.Locale.loadSections(localeDependencies[chunkId]));\n\t }\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"main\": 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkPlesk\"] = self[\"webpackChunkPlesk\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"vendors\"], () => (__webpack_require__(0)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["window","Jsw","Plesk","Array","prototype","entries","index","arr","this","next","length","value","done","undefined","Symbol","iterator","Set","toArray","array","forEach","item","push","Map","key","version","form","DisplayField","Values","layout","TwoColumns","Task","ProgressBar","StatusMessage","STATUS_DONE","STATUS_ERROR","STATUS_STARTED","STATUS_NOT_STARTED","STATUS_CANCELED","FileManager","Tree","UploadAdapterIframe","ns","autoCreate","nsParts","split","root","partIndex","config","componentType","Component","Cls","namespace","Error","registeredComponents","registerComponent","identity","component","getComponent","constructor","initialize","_initConfiguration","_registerComponent","_initComponentElement","_autoRender","_renderTarget","_applyTargetId","document","getElementById","render","_getConfigParam","hide","initialConfig","_config","_cls","_attrs","_wrapperClass","_renderMode","setLocale","_locale","_id","genId","_idIsRandom","_tag","tagName","_componentElement","createElement","Object","keys","name","setAttribute","id","className","_initDisablerOverlay","_disablerOverlay","style","display","zIndex","classList","add","appendChild","position","addEventObserver","eventName","handler","addEventListener","removeEventObserver","removeEventListener","_hasConfigParam","defaultValue","_getRandomNumber","Math","floor","random","_addEvents","_addTooltips","description","_tooltip","Tooltip","init","text","_updateComponentElement","content","oldElements","childNodes","oldElement","newElement","querySelector","parentNode","replaceChild","getWrapperClass","getId","setRenderTarget","target","getRenderTarget","show","locale","Locale","lmsg","bind","getLocale","remove","removeChild","getAttribute","_defineProperty","subclasses","showTimeoutStatus","showTimeout","minDelta","xOffsetLeft","xOffsetRight","yOffsetTop","yOffsetBottom","current","initData","contentElement","elements","querySelectorAll","tooltipData","element","Instance","set","tooltip","_onMouseMove","_onMouseOut","showCancel","hideCancel","showTask","setTimeout","showFinish","clearTimeout","tooltipElement","_fetchTooltipElement","innerHTML","escapeHtml","update","hideTask","hideFinish","_fetchTooltipPosition","top","y","left","x","event","tooltipX","clientX","scrollX","pageXOffset","tooltipY","clientY","scrollY","pageYOffset","_tooltipElement","el","body","tDim","Element","getDimensions","vDim","viewport","vScr","getScrollOffsets","freeRight","width","freeLeft","freeTop","freeBottom","height","setText","String","replace","addSection","messages","sections","Observer","notify","addSections","getSection","getTranslate","props","_jsx","BaseTranslate","loadSections","names","namesToLoad","filter","params","map","section","encodeURIComponent","api","get","join","loadSection","reduce","paramKey","formatMessage","IntlMessageFormat","documentElement","lang","format","request","url","retryCount","Ajax","activeRequestCount","headers","tokenEl","credentials","fetch","then","response","status","location","reload","Promise","emptyFn","ok","json","startsWith","data","reject","message","JSON","stringify","catch","error","TypeError","isNetworkError","resolve","finally","addUrlParams","method","post","UAT","dispatchAction","FormData","matches","msMatchesSelector","link","filterPleskUrl","href","pathname","search","hash","pageUrl","getPageUrl","pageUrlParam","match","result","RegExp","exec","decodeURIComponent","some","pattern","safeSearch","getUrl","isURL","protocols","require_host","getElementCSSSelector","localName","label","toLowerCase","i","len","findElement","selector","currentTarget","type","nodeType","Node","TEXT_NODE","getElement","ELEMENT_NODE","prepareNodeData","textEl","css","getElementCSSPath","depth","paths","splice","attributes","attr","hasAttribute","dataset","param","encodeSensitiveChars","list","preparedChars","raw","encoded","firehose","initialized","patches","action","parameters","timestamp","Date","toISOString","instanceId","accountLevel","accountId","sessionId","path","preparePostData","self","selfText","innerText","parents","parentElement","parent","closest","slice","getParents","handleAnonymousSession","localStorage","getItem","setItem","toString","removeItem","parentId","additionalData","logger","Firehose","putRecord","DeliveryStreamName","stream","noSessionStream","Record","Data","values","watchers","contentLoad","contentConfig","expect","readyState","extensions","performance","perfData","timing","pageLoadTime","loadEventEnd","navigationStart","requestTime","responseEnd","requestStart","renderTime","domComplete","domLoading","historyReplaceState","history","replaceState","Proxy","apply","thisArg","argArray","click","uatHandled","isArray","j","toUpperCase","actions","expects","initConfig","setPatches","fn","setActions","setWatchers","setLogger","getConfig","e","toQueryParams","str","URLSearchParams","acc","val","hasOwnProperty","splitUrl","splitParams","call","indexOf","observers","getObservers","has","append","callback","appendAndCall","pos","Translate","Fragment","propTypes","PropTypes","module","exports","PleskUiLibrary","addScript","src","s","onload","onerror","evalScripts","string","scriptFragment","matchAll","matchOne","scripts","scriptTag","script","eval","captureException","scope","setExtras","console","renderMode","isValidElement","_jswReactRootContainer","createRoot","tag","attrs","renderFn","onrender","events","children","insertBefore","insertAdjacentHTML","firstChild","nextSibling","async","scriptRegex","HIGH","NORMAL","LOW","priority","onReadyEvents","firedOnReady","wrappedCallback","onreadystatechange","predefinedPriorities","sort","a","b","Function","createComponent","renderTo","alert","super","_type","_title","_message","_source","_closable","_onClose","hideUrl","prepareUrl","source","_renderCloseButton","_renderMessage","onclick","baseUrl","global","substr","endsWith","args","classes","selectorRe","attrRe","shift","pair","class","pageData","msgClass","messageElement","makeVar","usePageData","useReactiveVar","clearStatusMessages","statusMessage","jsonMessage","parse","kbArticleUrl","addStatusMessage","createEvent","initEvent","dispatchEvent","createEventObject","eventType","fireEvent","ESC","ENTER","LEFT_ARROW","UP_ARROW","RIGHT_ARROW","DOWN_ARROW","Hint","_contentElement","setHint","componentElement","createHtmlElement","wrapElement","btnShowMore","_screenControl","getWidth","hint","Button","_handler","_rightIcon","_disabledClass","_isNew","_newTitle","_initVisibility","_disabled","disable","enable","_addAttribute","classNames","addCls","_addProgressHandler","removeAttribute","SmallButton","BigButton","cls","disabledClass","button","comment","waitMessage","SplitButton","title","isAction","isDefault","isMenuFlip","items","isScrollable","openDropdown","_initItems","newWindow","listItem","submenu","preventDefault","stopPropagation","dropdownMenu","contains","toggle","openSubmenu","menuItem","trim","nextElementSibling","closeSubmenu","_menuTimeout","disabled","CommandButton","_value","_tabIndex","setHandler","toollist","CustomButton","getImagePath","Form","Methods","addMethods","ToolList","Container","_tools","_contentAreaId","_operations","Panel","_image","forcedId","Item","_href","_target","_attention","_disabledImage","_description","image","escapeAttribute","skinUrl","_items","_renderItems","_renderItem","getItems","find","submit","noRedirect","redirect","URL","protocol","isJavascriptProtocol","FormRedirect","assign","redirectPost","subToElements","stringToElements","prefix","booleanToElements","arrayToElements","concat","hashToElements","$H","each","_valueRenderer","renderHint","valuesElements","valueOf","formValues","input","getStorageName","isChanged","changed","FormAjax","_actionButtonTitle","_sendButtonId","_applyButtonId","_cancelButtonId","_confirmationCheckboxId","_submitHandler","buttonId","_toggleButton","_toggleCheckbox","actionButton","_getActionButton","waitButtonTitle","checkboxId","checkbox","noInitFocus","firstElement","focus","_submitInProgress","toggleButtons","confirmationCheckbox","checked","_formSubmit","_onSubmit","_onSubmitEvent","_addChoiceRadioButtonsOnClickEvent","_clearMessages","enctype","actionUrl","serialize","Request","onSuccess","_onSuccess","onFailure","_onFailure","req","timeoutMessage","showInternalError","responseText","_processForm","progressDialog","task","_processResponseRedirect","_processResponseStatus","_processResponseStatusMessages","statusMessages","_processResponseFormMessages","formMessages","_hasFieldErrors","_showFieldErrorArea","errorsElements","firstError","errorElement","hiddenContainerId","tabsBar","switchTab","_hasErrors","errors","rowElement","_addFormMessage","_processFieldMessages","_addFieldMessage","_processFieldMessage","fieldErrors","formElement","pop","postData","ListContainer","renderTargetId","isEmptyItem","_columnCls","cookies","cookie","crumbs","unescape","expires","escape","setPermanent","date","setTime","getTime","toGMTString","_titleClass","_hideContentTitle","_titleAreaId","_boxItemsAreaId","_initBoxItems","_boxItems","_getTitleHtml","_getSubTitleHtml","_renderBoxItems","_renderBoxItem","_isHidden","rememberedStatus","Cookie","_setHidden","hidden","hideContent","showContent","titleAreaElement","toggleContent","_updateTitle","TYPE_OK","TYPE_YESNO","SUBTYPE_DELETE","messageBox","SUBTYPE_TOGGLE","SUBTYPE_CONFIRM","factory","isWebspace","WebspaceFoldersMessageBox","isAjax","MultiCheckboxMessageWindow","MessageBox","ModalDialogBox","_text","_subtype","_descriptionWrapperTag","_descriptionDecorator","_buttonDefault","buttonsLocale","_buttonTitles","yes","no","wait","_onYesClick","_onNoClick","_onOkClick","_needAttention","_needAttentionText","_needAttentionBlockSubmit","_needAttentionOnChange","_onYesClickHandler","_defaultOnButtonClick","_getDescriptionCode","wrapDescription","_getNeedAttentionCode","needAttentionCode","ce","_disableYesButton","buttonYes","_enableYesButton","buttons","inputs","AjaxMessageBox","_requestUrl","_requestMethod","_requestParams","_contentContainerId","_loadingTitle","_progress","_showSpinner","_hideSpinner","onCreate","_onCreate","superclass","transport","contentCode","descriptionCode","confirmationCode","confirmation","checkboxes","enableYesButton","_successDescription","_failureDescription","_setDescription","folders","_screenDisablerId","_hideOnEscape","_hideOnBgClick","_onShow","_onHide","initScrollbarSpacer","_screenDisabler","_onKeyDownhandler","_onKeyDown","popupContainer","keyCode","scrollDiv","overflow","scrollbarWidth","offsetWidth","clientWidth","styleEl","head","sheet","insertRule","DropdownHeader","dropdowns","closeAllDropdowns","dropdown","isOpened","close","DropdownManager","register","toggler","open","beforeClick","oldIsOpened","unregister","SmallTools","_operationsId","searchFilters","searchFiltersState","searchHandler","resetSearchHandler","listId","searchOveral","overal","searchOverall","quickSearchWide","quickSearchInputId","searchCollapsed","onToggleSearch","quickSearchBoxView","searchBoxView","addResponsiveButton","searchOveralView","toggleSearch","filterState","currentValue","searchText","onsubmit","searchFiltersView","require","filters","Filters","create","idPrefix","_hideResponsiveButtonBlocks","_rActionsElement","onResponsiveButtonClick","_showResponsiveButtonBlocks","createDate","options","multi","createMultiEnum","createEnum","createText","placeholder","onkeyup","live","inputDataName","charAt","onchange","enumOptionsView","option","output","total","hour","minute","day","month","year","getFullYear","onDateSearchFilterOpen","onDateSearchFilterChange","onDateSearchFilterModify","enumValueView","enumGroupValue","selected","onMultiEnumSearchFilterChange","isNaN","_dateSearchFieldFromDate","_dateSearchFieldToDate","yyyy","mm","getMonth","dd","getDate","h","getHours","m","getMinutes","CollapsibleBlock","_blockAreaId","_onTitleClickEvent","Pathbar","_renderItemSuffix","getHref","SimpleItem","Bar","containerCls","getContainerClass","bar","Tabs","_isResponsive","_addResponsiveTabs","tabId","activeTab","getTabId","size","getTabContent","tabContentElement","isActive","_isActive","_containerCls","_tabId","navigationTab","_content","Separator","HorizontalSeparator","wrapperClass","DynamicSubForm","getDynamicContent","_getDynamicContent","prepareDynamicContent","_prepareDynamicContent","bindDynamicContent","_bindDynamicContent","insertDynamicContent","_insertDynamicContent","onUpdateDynamic","_onUpdateDynamic","onInitDynamic","_onInitDynamic","_allowRemoveFirstElement","dynamicElements","getElements","_addEmptyContent","dynamicElement","cloneNode","deleteContent","addContent","reset","AddRemoveDynamicSubForm","_addButtonId","_addButtonTitle","_removeButtonId","_removeButtonTitle","addButton","_isAddButtonDisabled","isFirstElement","wrapperId","_initRemoveButtonWrapper","inputEls","newId","nameRegExp","idRegExp","child","labels","Box","Gauge","setProgress","PopupForm","_popupContentAreaId","_hintAreaId","_hint1AreaId","_boxAreaId","_actionButtonsId","_leftActionButtonsAreaId","_rightActionButtonsAreaId","_titleCls","_scrollable","_fullHeight","_isRemoved","view","_getHeadingActions","_getContentArea","_getBoxArea","_getButtonsArea","buttonsRow","toggleButtonsArea","bool","setBoxType","setTitleType","setTitle","setHint1","addRightButton","_createButton","addLeftButton","removeRightButtons","removeLeftButtons","resizeList","listContainer","buttonsHeight","getHeight","cumulativeOffset","newHeight","clientHeight","overflowY","overflowX","_onClick","_updateButton","_addErrorMessage","_addStatusMessage","_userError","_close","_internalError","AjaxPopupForm","_url","cancelBtn","Popup","_contentHeight","_closeButtonEnabled","_buttons","_onCloseClick","buttonsArea","formId","buttonDesc","buttonDisabled","buttonContainer","DoubleListSelector","_name","_list","_onChange","_dataUrl","_selectedMarked","_unselectedMarked","_prevSelectedItem","_isSearchable","_isLarge","_initList","marked","_initListItem","_originalSelection","_initInputElement","ajaxLoading","_getSearchControl","isSelected","container","isHidden","icons","_toggleItem","inputElement","columnId","autocomplete","onfocus","onFocus","onblur","onBlur","onmousedown","onResetSearch","_onSubmitSelect","_onSubmitUnselect","_unmarkItem","_markItem","shiftKey","startIndex","min","finishIndex","max","_updateSelectControls","_updateElement","onChange","searchString","_toggleSearchButtonIcon","_isSearchMatched","_showAllItems","searchIndex","_resetSearchControl","setMarked","counter","controlId","isEmpty","reloadUrl","_onReloadSuccess","_onReloadFailure","onException","_onReloadException","_onReloadCreate","onComplete","_onReloadComplete","exception","listArea","EnhancedDoubleListSelector","_fixListZebra","count","inputIcon","_toggleItemSelection","_toggleItemCheckbox","_getItemText","highlight","itemIcons","itemText","batchMode","side","DynamicPopupHint","windowId","delay","_isInitialized","_currentTooltip","_init","_initWindowElement","_initWindowEvents","marginTop","_onWindowMouseOver","_onWindowMouseOut","_showWindow","getPlacement","getCls","getTitle","titleElement","getScrollable","updateContent","isSet","unset","getContent","_updatePosition","elementWidth","elementHeight","headingElementHeight","getTargetElement","tooltipElementHeight","tooltipElementWidth","offsetLeft","offsetTop","elementRight","viewportRight","clonePosition","setWidth","setHeight","_targetElement","_waitMsg","_placement","_contentLoaded","_delayedExecuter","_initTargetEvents","_loadContent","setContent","PeriodicalExecuter","pe","stop","PasswordMeter","observe","_passwordElement","_verdict","strength","level","password","suggestions","estimatePassword","_updateVisibility","_updateHint","_updateVerdict","_updateColor","_hintContainer","newClass","c","_oldClass","suggestion","waitMsg","placement","PASSWORD_ESTIMATION_QUERY","gql","defaultEstimateFn","passwordEstimation","apolloClient","query","variables","estimateFn","all","sentryLink","SentryLink","setTransaction","errorLink","onError","networkError","statusCode","Observable","fetchParams","uri","terminatingLink","ApolloLink","operation","getContext","noBatch","extractFiles","files","createUploadLink","BatchHttpLink","batchMax","batchInterval","ApolloClient","from","cache","InMemoryCache","typePolicies","AdditionalKey","keyFields","Domain","fields","hosting","merge","webScriptingSettings","subscription","Subscription","permissions","ExtensionTab","SiteButton","ConfigSectionGdprCookie","User","UserLogo","UserPermissions","Os","Mode","Home","Notification","PrimaryKey","WebsitesDiagnostic","settings","ServerMail","spamAssassin","Capability","mailServer","packages","Dns","Query","additionalKeys","recentSearch","node","read","_","toReference","__typename","atob","Server","firewall","components","information","productVersion","productUpdates","pum","DnsTemplate","DnsSoaRecordTemplate","TaskList","IpAddress","clients","IpAddressList","VirtualDirectory","errorDoc","code","VirtualDirectoryErrorDoc","SystemMessage","ClientStatistics","DomainStatistics","MailAccountConfiguration","dataIdFromObject","object","defaultDataIdFromObject","symbolClasses","upper","lower","number","special","PasswordGenerator","_generateButtonElement","_onGeneratePasswordClick","_showButtonElement","_onShowPasswordClick","_showPasswordVisible","_showPasswordTitle","_hidePasswordTitle","_passwordStrength","_generatePassword","passwordConfirmationElement","fireCustomEvent","requiredClasses","shuffle","_generateSymbol","symbolClass","crypto","getRandomValues","Uint32Array","shuffledArray","remaining","currentIndex","randomIndex","UpgradeFailureNotification","updateInterval","_isBootstrapRunning","_bootstrapExecutionUrl","_bootstrapStatusUrl","_bootstrapInProgressMessage","_bootstrapLinkTitle","_scheduleUpdateStatus","_executeBootstrapper","_statusUpdate","WebserverConfigurationFailure","_rebuildFailedUrl","_rebuildAllUrl","_moduleInstalled","_kbArticle","linkAll","howToFix","kbArticle","_rebuildFailed","_rebuildAll","_onCreateExecute","_onException","port","ConfirmationPopupManager","_sendButtonTitle","singleRowButtons","_prepareUrl","_handlerUrl","_ids","_formListItemsAreaId","_formListAreaId","_formBoxAreaId","_formDescriptionId","_longtask","_autoload","_setTitle","formHtml","_getHeadDescription","_getBottomDescription","_addButtons","_renderPreparePopup","_preparePopup","_onCancelClick","ids","_onSuccessPreparePopup","_onSuccessResponse","sendButton","cancelButton","_getLoadingIndicatorItems","_addLoadingIndicator","_getAdditionalParams","_isValid","_needFlyEffect","beginOffset","fly","_sendRequest","LookUp","_data","_currentValue","_newItemValue","_copyTitleValue","_limit","ITEMS_UNLIMITED","_lookUpParams","_placeholder","_valueField","inputFieldConfig","_inputField","_lookUpButton","_lookUpControl","_dropdownList","_initCustomLookUpComponent","_customLookUpComponent","_emptyElement","handleChange","_updateValue","_updateData","_getDataByUrl","_createItem","_setDisabled","_filter","limit","_selectResults","itemsCount","getValue","getItemValue","getDisplayValue","_openList","showAll","_fixDropdownPosition","toLocaleLowerCase","_getDataTask","_closeList","itemsFound","_item","itemLink","itemData","stripTags","visibleItems","_searchMoreElement","_getSearchMoreText","previousElementSibling","blur","_inputOnFocus","_inputOnPaste","_inputOnBlur","_inputOnKeyUp","_inputOnKeyDown","_lookUpButtonOnClick","activeItem","_onArrowKeyPressed","nextItem","_scrollDropdownList","firstItem","round","offsetHeight","itemsInFrame","frameStart","scrollTop","_itemOnClick","_itemOnOver","_clearData","_addSearchMoreElement","isRtl","windowWidth","offsets","getBoundingClientRect","delta","parseInt","getComputedStyle","paddingLeft","COLUMN_SELECTION","COLUMN_ACTIONS","AdditionalActions","List","globalCheckbox","onListGlobalCheckboxClick","_listCls","_tableId","_itemActions","_columns","Boolean","_limitValues","_splitListData","pathbar","state","pager","additional","_searchFilters","_searchOveral","_pageable","_disabledSelectHint","_renderDisabledSelectHint","_clearStatusOnReload","isDisabledItem","_onRedraw","_emptyViewMode","_getTotalInfo","_pager","totalItemCount","_getRowClass","_getSearchOveralField","listData","place","dataLen","_state","_pathbar","_additionalData","_isColumnSelectionPresent","_getColumns","includes","onHeaderClick","dataIndex","sortField","sortDirection","updateFilter","force","checkEmptyList","filterChanged","hasFilter","isVisible","column","oddEvenRowClass","row","rowIndex","cells","columnIndex","_filtered","noEscape","onLimitClick","onPagerClick","page","actionsBox","_getActionBoxElement","selectButton","onPagerButtonClick","paging","_actionBox","listHeadersView","colspan","headerColspan","header","headerCls","headerRenderer","sortCssClass","sortable","headerParams","listDataView","indexOffset","rowView","columns","cell","renderer","isDisabled","hideDisabled","listView","containerView","_getActionBox","_getPathbarHtml","_getPagerHtml","emptyViewContainer","isListEmpty","listSelector","previousValue","isFiltered","forceShowSearch","operationsId","operations","_getOperations","_onSearchClick","_onResetSearchClick","collapsed","_hideItemsNotSelectedWarning","_getLimitValuesHtml","pageCount","_getPagesItemsHtml","limitValue","limitValueTitle","itemCountPerPage","first","previous","pagesInRange","last","emptyView","_addSelectionHandlers","rActionsList","handleSelectButtonClick","_addPathbar","getSelectedItemsIds","getSelectedItems","selectedItems","dataItem","checkNonEmptySelection","_showItemsNotSelectedWarning","execLongGroupOperation","itemId","progressBar","removePreparingItem","beforeSendRequest","sendRequest","taskName","execGroupOperation","payload","defineProperty","idsParamName","submitVarName","toJsonPayload","checkSelection","_submit","sendRequestHandler","submitHandler","reloading","context","noReload","skipConfirmation","mouseEvent","confirmationPopup","_confirmationPopup","getConfirmOnGroupOperation","subtype","needAttention","needAttentionText","needAttentionBlockSubmit","needAttentionOnChange","requestUrl","loadingTitle","onYesClick","requestParams","buttonTitles","titles","buttonKey","confirmOnGroupOperation","_itemsNotSelectedTimerId","urlParams","controllerName","actionName","_request","abort","processReloadError","redraw","_addDisabledCheckboxesHints","previousSibling","_renderDisabledCheckboxesHints","redrawPartial","_contextMenu","onRedraw","_addResponsiveHtml","_initDropdowns","_initItemActions","rowId","_dropdowns","hasSelectedItems","getItemById","Number","getItemByName","itemName","columnName","columnNameHtml","_addResponsiveHtmlToButtons","_addResponsiveHtmlToImages","_addResponsiveHtmlToIcons","_addResponsiveHtmlToNumbers","images","outerHTML","wrapper","icon","parseFloat","isFinite","links","checkSyncStatus","statusElementId","onFinishCallback","randomId","_randomId","timeout","progressStatus","statusElement","deleteButtonIndex","_getDeleteButtonIndex","_modifyColumnsByExtension","extension","findColumn","columnsOverride","originalColumn","extend","insertAfter","getItemActions","actionInfo","ListContextMenu","TARGET_TYPE_DROP_DOWN","TARGET_TYPE_TABLE_ROW","_initRowStyles","_initShowOnClick","_prefillPopup","iconClass","_togglePopupNearButton","scrollOffsets","buttonPosition","viewportOffset","buttonWidth","buttonHeight","_setPosition","_hidePopup","targetData","rowEl","_openPopup","rowData","targetType","dropDownEl","_isListContextEvent","_getTargetData","_getTargetType","_open","_hide","_isImmediatelyOpening","_isOpened","altX","altY","popupWidth","windowHeight","popupHeight","popupMarginTop","getStyle","right","dir","_titleAddCls","collapse","_titleButton","popup","operationsArea","liElement","UnresolvedDomainWarning","run","isAlias","Pool","take","hasItems","_viewerId","_preparingCounter","_hidden","intervalUpdateTimer","pleskWS","task_created","onUpdated","task_updated","task_deleted","onDeleted","onOpen","loadTasks","onClose","addPreparingItem","progressTitle","uniq","unshift","failPreparingItem","setStatus","setErrors","_loaded","mergeItems","nextItems","getMergedItems","newItemData","onItemStatusChange","completeItem","currentItem","setItems","mergeItem","pool","getUpdated","getStatus","getData","getSteps","onItemStepChange","setRefreshLinkEnabled","isStarted","isRefreshLinkEnabled","setUniq","getUniq","isFlying","isReady","stopPeriodicalExecutor","removeItemsByIds","isCompletedItem","_updateProgressDialog","progressBarItemId","onHide","returnUrl","_progressBarItem","isOpenProgressDialog","_progressDialog","renderProgressDialog","isOpen","getProgressTitle","steps","getVisibleErrors","redirectUrl","isComplete","doRedirect","isCompleteSuccessfully","isCompleteWithWarning","newItem","finishedItem","step","setProgressBarElement","getProgressBarElement","setPeriodicalExecutor","viewerId","onGroupClose","handleGroupClose","getKey","addToast","intent","hasStartedTasks","setInterval","clearInterval","_updated","_status","_errors","_output","_isRefreshLinkEnabled","_progressValue","_canCancel","_referrer","_uniq","_progressBarElement","getProgressValue","getProgressDialogLinkHandler","flag","_isRefreshAllowed","getRefreshLinkProps","_redirect","onClick","hasErrors","getErrors","getOutput","line","isPreparing","isProgressUndefined","isCompleteWithError","toToast","refresh","progress","toasts","useToasts","autoClosable","removeToast","toast","ws","messageSubscriptions","openSubscriptions","closeSubscriptions","handleError","wsConnect","attempt","WebSocket","host","onmessage","messageData","onopen","onclose","PleskWSBinding","messageSubscriptionsIndex","openSubscriptionsIndex","closeSubscriptionsIndex","_onStatusUpdate","_onTaskDone","_onTaskCancel","_onTaskError","progressParams","errorMessage","_statusUrl","_updateInterval","_showProgress","statusClass","_processStatus","_updateStatus","_onStatusUpdateSuccess","_onStatusUpdateFailure","_failedStatusUpdates","_maxFailedStatusUpdates","_showFinished","_showError","_showWorking","_showNone","_showLoading","_addDetailsEvent","details","ActiveList","urls","navigate","isCollapsible","isNew","isShowItemTitle","stateCollapsed","itemActions","toolbarView","itemsView","bottomBarView","toolbar","sortDir","allowListSwitch","hasClassicView","itemView","stretched","itemClasses","itemCaptionView","itemDetailsView","itemSettingsView","itemToolsView","rel","noEscapeTitle","new","additionalComments","countMoreItems","loadAllLink","switchToLink","listType","itemCaptionHeaderView","itemCaptionServicesView","itemCaptionDataView","itemCaptionAdditionalHtml","toggleItem","itemCaptionHeadView","itemCaptionHeadWrapView","itemCaptionSummaryView","itemCaptionToolbarView","labelTypes","onCaptionHeadWrapClick","primaryActions","summary","summaryItemView","summaryItem","toolbarButtonView","services","itemServiceView","service","headerClass","closeUrl","itemServiceBlockView","renderItemServiceView","ch","replaceAll","grid","subService","linkView","childLinks","childLink","isSimpleText","info","isSimpleLink","spanClass","newLine","linesNumber","additionalHtml","getItemElement","scrollToItem","hadClassName","elem","servicesEl","_initToolbar","disableItem","enableItem","toolbarEl","itemEls","menuEl","offset","getLayout","_menuEl","itemEl","itemElClone","liEl","elInMenu","onWindowResize","duration","startTime","to","frame","scrollTo","getItemIdFromUrl","cookieName","_createFolderUrl","_onNodeClick","_rootNodeTitle","_onReload","_showFiles","_filterNodes","_selectOnlyFiles","_showMessage","_initTreeView","_insertNode","htmlElement","cssClass","isRootDirectory","isDirectory","_getNodes","ulElement","itemSelect","_addCommonEvents","_onNodeToggle","_onNodeMouseover","_onNodeMouseleave","linkElement","getTypeIcon","_onNodeSelect","directoryPath","containerElement","subTreeElement","expandElement","showNewNode","_loadNode","_onNodeLoadStart","rootDir","showFiles","_onNodeLoadSuccess","_onNodeLoadFailure","_isNodeExpanded","nodeElement","resetSelection","hideNewNode","resetHover","setDirectory","directory","_getNodeElement","_onFullReloadSuccess","reloadPath","nodes","lastSlashIndex","lastIndexOf","getSelectedNode","selectedElement","getSelectedItemData","expandNode","_insertNewNode","newNode","onkeydown","_onNewNodeKeyDown","_onCreateFolder","_insertBtn","_onCancelCreateFolder","currentDir","newDirectoryName","_onFolderCreated","FTYPE_DIR","FTYPE_TEXT","FTYPE_IMAGE","FTYPE_VECTOR_IMAGE","FTYPE_AUDIO","FTYPE_SECURITY","FTYPE_WEBSCRIPT","FTYPE_WEBPAGE","FTYPE_WAPPAGE","FTYPE_COMPRESSED","FTYPE_UNKNOWN_TEXT","FTYPE_UNKNOWN_BINARY","FTYPE_ZIP","FTYPE_RAR","FTYPE_TAR","FTYPE_TGZ","toUnixPermissionsString","contentAreaId","handlerUrl","startUploadHandler","finishUploadHandler","_startUploadHandler","_finishUploadHandler","_uploadFrameInitialized","_getUploadIFrameElement","contentArea","_uploadFrameElement","_onUploadFrameInitialized","getResult","statusFrame","statusDocument","contentDocument","contentWindow","cancel","DirectoryBrowser","_pathElementId","_subscriptionId","_tree","applyTo","dataUrl","onNodeClick","_onTreeNodeClick","onReload","_buttonOk","_buttonCancel","selectedPath","pathValue","readEntry","entry","entryReader","createReader","readAllEntries","allEntries","readEntries","results","entriesToFiles","isFile","file","FileReader","opera","navigator","platform","reader","onloadend","onprogress","readAsDataURL","isDragFiles","dataTransfer","effectAllowed","types","DropArea","isButtomUploadDirectory","_onDrop","_addDocumentHandlers","_addDropAreaHandlers","webkitGetAsEntry","getAsFile","isFiles","getDragFiles","GroupsList","_getGroupRowClass","_groupBy","_groupsConfig","groupedData","groupId","groupIndex","group","groupDataRowView","_getGroupName","ReporterPopup","_actionCollectId","_actionToSupportId","_supportUrl","_onSendClick","_getTooltip","_onSupportClick","_disableSendButton","_enableSendButton","_onCollectClick","_checkResponseStatus","collectRadio","reportId","_onShowReportsClick","dialogHeight","pageable","maxHeight","_onHideReportsClick","ObjectSwitcher","_listUrl","_itemUrlTemplate","_owner","_navigate","myData","isSameParent","PopupSlider","popupCls","closeButtonEnabled","hideOnEscape","_slides","_current","setCurrent","prev","renderSlide","dots","marginLeft","curItem","ScrollableList","table","headerTable","visibleHeader","tr","blockHeight","up","invisibleHeader","th","lastHeader","bottom","tableHeight","scrollHeight","_resizeList","scrollToBottom","rows","patchesFactory","wrap","after","ajaxRequest","ajaxRequestsHistory","ajaxRequestProto","ignoreUAT","targetUrl","requestFingerprint","uiPointerForm","lastUrl","msg","dataSource","update_oC","jswFormAjax","formAjaxProto","responseJSON","jswList","listProto","_lastOperation","replaceHandlers","o","confirmationPopupManager","popupFormProto","ajaxPopupForm","defer","msgBoxProto","ajaxMessageBox","ajaxMsgBoxProto","multiCheckboxMessageWindow","msgWindowProto","webspaceFoldersMessageBox","drawersWatcher","reportDrawerAction","drawer","getDrawer","MutationObserver","mutations","addedNodes","removedNodes","childList","subtree","characterData","pleskActions","sessionChanged","unloadByClick","watchersFactory","isAnalyticsAllowed","userAgent","versionInfo","accountCreated","innerWidth","innerHeight","ratio","devicePixelRatio","activeElement","COOKIE_POLICY_LOCAL_STORAGE_KEY","hasPreferences","savePreferences","preferences","loadPreferences","analytics","marketing","openInNew","isClassicUi","toPunycode","domain","punycode","FormFieldPassword","defaultProps","passwordMeterProps","onEstimate","app","showModal","graphqlQueries","localeSections","feedback","sentry","isInFrame","writeQuery","App","addWidget","widget","LocaleProvider","ErrorBoundary","createPortal","widgets","createBrowserRouter","routes","setState","StrictMode","ApolloProvider","client","_jsxs","RouterProvider","router","initialDataLoader","isInitial","createPageDataLoader","dataPath","generatePath","newData","isClientSideRedirectAllowed","ipAddressDomainRoute","componentLoader","loader","clientId","btoa","ipAddressId","changeOwnerRoute","searchParams","virtualHostTemplateRoute","handle","crumb","helpContext","isTsSessionsExist","viewer","manageServerSessions","os","isWindows","routesTransformer","AppLayout","AppBoundary","isAllowedWithoutLicense","domainOverviewRoutes","isExist","mode","isDnsServiceSupported","manageServerDnsTemplate","isViewSwitcherAllowed","manageServerNotifications","manageServerBranding","manageServerDb","graphQLErrors","debugMessage","databaseServer","errorPolicy","isDemo","fetchPolicy","websitesDiagnostic","enabled","manageServerMail","manageServerMailAutodiscover","manageServerSpamFilter","manageServerMailBlackWhiteLists","manageServerVirusProtection","toPhpDate","getStartOfDay","now","getEndOfDay","pagination","itemsPerPage","orderBy","email","capability","isSmarthostAvailable","manageServerLicense","additionalKey","isUnix","manageServerFirewall","manageServerComponents","phpHandler","cliPath","manageServerPhp","manageAspNetSettings","isASPdotNetInstalled","pageSidebar","isPowerUserPanel","CpPagesLayout","infoAndStatisticsRoute","summaryReportRoute","summaryReportChildrenRoute","trafficUsageByViewerCustomersRoute","trafficUsageByViewerCustomersChildrenRoute","trafficUsageByViewerDomainsRoute","trafficUsageByViewerDomainsChildrenRoute","resourceUsageByDomainRoute","trafficUsageByViewerResellersRoute","trafficUsageByViewerResellersChildrenRoute","readGraphQlListInputFromStorage","templateId","numericId","server","Response","serverMail","odbcServerRoute","domainRoute","homeRoute","trafficUsageByDomainRoute","PhpPagesLayout","LogsPage","parsePath","route","test","matchRoutes","HOURS_IN_MS","SEC_IN_HOUR","getSysdate","addDays","daysCount","copy","setDate","addHours","hoursCount","setHours","isSameDay","date1","date2","yearsAreEqual","getYear","monthsAreEqual","daysAreEqual","getTimezoneShift","timezone","hours","minutes","abs","formatDate","toLocaleDateString","formatDateFromTimestamp","seconds","toDatePeriod","days","daysInSeconds","hoursInSeconds","getStartOfMonth","getEndOfMonth","setMonth","getStartOfWeek","diff","getDay","getEndOfWeek","getDaysInMonthFromTimestamp","getDaysInPreviousMonth","toUnixTime","LoadableComponent","useMatches","useLocation","revalidator","useRevalidator","useLoaderData","useParams","licenseData","useQuery","LICENSE","isLicenseLocked","revalidate","componentLoaderTransformer","other","cause","default","isExistTransformer","shouldRevalidateTransformer","shouldRevalidate","defaultShouldRevalidate","currentUrl","nextUrl","every","childrenTransformer","pathTransformer","routeTransformer","transformer","flat","doc","loc","collectFragmentReferences","refs","kind","selectionSet","selections","selection","variableDefinitions","def","definitions","definitionRefs","findOperation","operationName","newDoc","opRefs","allRefs","newRefs","refName","prevRefs","childRef","op","oneQuery","TopBarProgress","barThickness","barColors","shadowBlur","navigation","useNavigation","TASK_PROGRESS_BAR_QUERY","useLayoutEffect","wsEnabled","webSocket","isNote","bottomAnchor","ModuleProvider","Outlet","Toaster","onToastClose","_Fragment","opacity","ScrollRestoration","DynamicModule","ModulesContext","createContext","MODULE_SEARCH_KEY","loadModule","loadScope","promise","__webpack_init_sharing__","__webpack_share_scopes__","useDynamicModule","useContext","loaded","setLoaded","useState","useNavigate","openModule","useCallback","moduleString","groups","lazy","encode","preventScrollReset","closeModule","delete","modules","useMemo","Provider","isRequired","visible","Suspense","fallback","showFrames","pageHeader","matchesContext","breadcrumbs","matchCrumb","reversedMatches","reverse","secondary","titleRightAddon","pageContentHeader","lastBreadcrumbTitle","lastLayoutMatch","pageTitle","at","lastMatch","noLayout","helpMenu","PageLayout","withSecondary","bodyClass","integrationClass","isSecondaryCollapsed","customTitle","BRANDING_QUERY","isClosedOnDesktop","setClosedOnDesktop","useLocalStorage","isClosedInResponsive","setClosedInResponsive","sidebarCollapsed","isResponsive","useMediaQuery","isClosed","documentTitleEl","headerHeight","setHeaderHeight","headerAddonHeight","setHeaderAddonHeight","stickyTop","setStickyTop","useEffect","paddingTop","searchQuery","getTitleForHelpSearchQuery","Layout","Measure","bounds","onResize","measureRef","ref","PageHeader","headerAddon","CookiePolicy","licenseStatus","LicenseStatus","onSidebarToggle","handleToggleSidebar","sidebar","PageSidebar","sidebarType","footer","PageFooter","contentHeader","PageContentHeader","Columns","gap","vertical","Column","fill","StatusMessages","JswComponent","useClickOutside","listener","useEventListener","addFn","removeFn","handlerRef","useRef","initialValue","storedValue","setStoredValue","readLocalStorageValue","setValue","mq","matchMedia","updateMatch","addListener","removeListener","useDebounce","debouncedValue","setDebouncedValue","layoutType","isInfoVisible","setInfoVisible","isPreferencesVisible","setPreferencesVisible","useModal","setPreferences","COOKIE_POLICY_QUERY","handleSave","nextPreferences","gdpr","cookieBox","Info","onSave","onPreferencesToggle","contentAlignment","Preferences","onToggle","adapter","OverlayAdapter","useCollector","setCallback","collect","Confirmation","onProceed","proceed","isConfirmed","isResolved","useConfirmation","setConfirmation","triggerConfirmation","useCreateFormInDrawer","dataType","drawerUrl","useApolloClient","useMatch","setData","setTask","updateUserSettings","useMutation","UPDATE_USER_SETTINGS","CREATE_FORM_IN_DRAWER_QUERY","techDomain","vendor","maxDomainLength","settingsEnabled","domainManagement","applicationWizardConfig","applicationWizard","isMailServiceSupported","handleClose","DrawerWithProgress","onCancel","onProcess","onToggleDomainSettings","settingsCollapsed","ContentLoader","STATUS_RUNNING","getTaskProgressBar","ButtonsTranslate","onTaskComplete","autoCloseTimeout","setSteps","setRedirectUrl","taskId","handleTaskUpdate","taskStatus","progressValue","progressTitleHtml","onErrorExecute","ConsoleOutput","taskProgressBar","isInProgress","deleteTask","handleTaskComplete","sameUrls","origin","Drawer","cancelable","dangerouslySetInnerHTML","__html","onFinish","hideButton","navigateBase","useNavigateBase","createPath","useListOperation","setSelection","loadingRows","setLoadingRows","wrapListOperation","currentKeys","ALL_ITEMS","ITEM_PER_PAGE_OPTIONS_DEFAULT","ALL_ITEMS_COUNT","useList","onFilter","initialFilter","currentPage","totalPage","totalPages","itemsPerPageOptions","onPageChange","onChangeItemsPerPage","direction","sortColumn","onSortChange","loading","setLoading","setFilter","wrapAsync","renderPagination","Pagination","onSelect","nextPage","onItemsPerPageChange","sortParams","handleReload","handleFilter","Heading","Paragraph","cookieInformationLink","Link","PLESK_COOKIES","handleAcceptClick","handleAcceptNecessaryCookiesClick","handlePreferencesClick","CONTROL_COOKIES","Adapter","DrawerAdapter","k","toValues","handleCancel","submitButton","onSubmit","toPreferences","FormFieldRadioButtons","browserSettingsLink","applyButton","Overlay","hasScroll","enableScroll","enableDocumentScroll","enterTimeoutRef","exitTimeoutRef","setReady","disableDocumentScroll","Icon","Tag","containerRef","mapping","LicenseLimitsMessage","handleCloseMessage","renderMessage","buyUrl","canManageLicense","Alert","urlMapping","useNavigateCallback","metaKey","altKey","ctrlKey","RouterLink","defaultPrevented","features","STATUS_DEFAULT","STATUS_TRIAL","STATUS_EXPIRED","daysLeft","isAdmin","installUrl","hidePopoverUrl","trialOverIcon","baseClassName","trialOverPopoverVisible","setTrialOverPopoverVisible","handleClosePopover","alertCls","renderActions","popoverCls","Popover","renderTrialPopover","oneOf","searchUrl","MainHeaderSearch","MainHeaderNavbar","MENU_ITEM_CLASSNAME","SEARCH_HISTORY_STORE_URL","removeTouchEventListeners","onDocumentTouchStart","onDocumentTouchMove","onDocumentTouchEnd","searchTermRef","lastTermRef","menuRef","timer","resetTimeout","enterPressed","pendingRequest","skipKeyUp","touchMoved","MAIN_HEADER_SEARCH_QUERY","setHistory","deleteRecentSearchResult","DELETE_RECENT_SEARCH_RESULT_MUTATION","onCompleted","isSearchFocused","setSearchFocused","searchInProgress","setSearchInProgress","setResults","selectedItem","setSelectedItem","fatalError","goToItem","scheduleSearch","abortPreviousSearch","findTerm","onSearchSuccess","term","records","res","onSearchFailure","onSearchComplete","flushRecentSearchCache","evict","identify","fieldName","renderSearchItems","uatKey","iconUrl","MenuItem","active","storeUrl","token","sendBeacon","toFormData","forgery_protection_token","handleSaveRecentSearch","renderSearchResults","meta","moreResultsFound","MenuDivider","renderHistory","MenuHeader","ghost","Status","resetSearch","resetValue","onArrowKeyPressed","searchPlaceholder","onTouchEnd","Input","innerRef","autoComplete","onPaste","handlePaste","onKeyUp","onKeyDown","_complete","handleFocus","RECENT_SEARCH_HISTORY_QUERY","handleBlur","suffix","Menu","consume","IconSun","xmlns","viewBox","fillRule","d","clipRule","IconMoon","mask","AccountMenu","isHideText","user","ACCOUNT_MENU_QUERY","Dropdown","menu","menuPlacement","caret","Text","truncate","pname","login","backToAdminLink","accountMenu","subscriptionSwitcher","headerCustomButtons","isHideBackToAdminText","isHideLogo","MAIN_HEADER_NAVBAR_QUERY","theme","setTheme","branding","flipHorizontal","SubscriptionSwitcher","notification","panel","NotificationCenter","alt","HelpMenu","handleToggleTheme","newTheme","newThemeColor","logo","isCustom","changeIdRe","subscriptions","currentSubscriptionId","defaultCurrentSubscriptionId","defaultShowAll","setShowAll","setCurrentSubscriptionId","tabIndex","pointerEvents","isListOpen","setIsListOpen","selectedNotificationId","setSelectedNotificationId","notifications","setNotifications","viewerType","NOTIFICATION_CENTER_QUERY","toastsRef","reloadTimeout","initFilter","initWebSocket","loadNotifications","handleNewNotificationRef","newNotification","allToasts","isViewed","isNotificationCritical","isAllowedFeedbackOrPromotionNotification","getIntentByNotification","accent","contextIconUrl","NotificationToast","onSelectNotification","handleOpenNotificationCenter","handleSelectNotification","uatAdditionalData","category","NOTIFICATION_CATEGORIES","ALERT","messageKey","handleUpdateNotifications","handleMarkAllAsViewed","panel_notification_created","listNotifications","newNotifications","change","updateNotifications","isRead","handleRemoveNotification","prevNotifications","deleteNotifications","handleCloseNotificationCenter","unreadNotifications","applyFilter","isUnRead","selectedNotification","Badge","getMostIntentByNotifications","extra","NotificationActions","onUpdateNotifications","onRemoveNotification","Action","handleOpenSettings","handleCloseNotificationView","subject","Label","NotificationDate","NotificationCenterView","NotificationCenterList","onUpdateFilter","newFilter","onMarkAllAsRead","handleMarkAllAsRead","isFavorite","isCritical","WARNING","isPromotion","PROMOTION","FEEDBACK","CtaPropType","NOTIFICATION_INTENTS","DANGER","INFO","INACTIVE","INFORMATION","NotificationPropType","area","createdAt","displayDate","actionLink","actionText","openInNewTab","NotificationFilterPropType","handleClickButton","notificationsToDisplay","expandedRows","setExpandedRows","filterCount","r","v","grouppedNotifications","groupNotifications","selectNotification","toggleExpansionNotification","prevExpandedRows","unreadNotificationIds","SubjectColumn","onToggleExpansionNotification","DateColumn","Toolbar","ToolbarGroup","ToolbarExpander","FilterMenu","SearchBar","inputProps","onTyping","minWidth","rowKey","renderRowBody","onExpandedRowsChange","emptyViewMode","ListEmptyView","reason","isNotificationsGroup","unreadCount","notificationsId","subjectIntent","getSubjectIntent","Media","imageSpacing","getStatusIntent","compact","bold","groupedNotifications","originalNotification","today","nowrap","ListActions","ListAction","primary","intents","HelpDrawer","helpUrl","customHelpUrl","helpModule","HELP_MENU_QUERY","setIsOpen","setIsOpened","handleOpen","isClassicPanel","help","enableSearchPrefill","styleClass","conhelp","custom","backgroundImage","fontSize","Group","activeNode","statistics","isSidebarClosed","nodeRef","setHidden","Transition","in","mountOnEnter","unmountOnExit","g","getFirstLink","foundNode","navigationContext","viewSwitcher","showStatistics","MAIN_MENU_QUERY","skip","getExtension","breadcrumbPathname","breadcrumbExtension","locationPathname","locationExtension","nodePathname","matchPath","nodeExtension","Brand","ViewSwitcher","showTitle","showPowerUserViewWarning","learnMoreUrl","hideSwitcherUrl","changeViewUrl","setVisible","popoverVisible","setPopoverVisible","targetRef","handleChangeView","handleOpenLearnMore","handleTogglePopover","canCloseOnOutsideClick","canCloseOnEscapePress","boundariesElement","switchLink","onTouchStart","onMouseDown","recommended","helpLink","handleHideSwitcher","imageAlt","edition","PAGE_FOOTER_QUERY","promos","pleskFooter","product","siteUrl","facebook","showLikeLink","pleskPage","twitter","showFollowLink","rating","handleProvideRatingClick","supportUrl","userVoice","userVoiceUrl","tabs","tabsHasRootPage","navigationTabs","hidePathbar","hideHeading","wizardTitle","pageSubtitle","objectSwitcherParams","forceObjectSwitcher","isClassicMode","additionalTitleContent","addObjectSwitcher","objectName","pageTitleSuffix","previousPage","Breadcrumbs","PageContentHeaderNav","lookUpParams","listUrl","owner","itemUrlTemplate","setComponent","newComponent","JswObjectSwitcher","findIndex","nav","headerInner","stickyClassName","tabsRect","headerInnerRect","minHeight","Tab","substring","matchLink","unescapeHtml","withPageLayout","extraProps","Wrapper","wrapperProps","displayName","WrappedComponent","withSimplePageLayout","useRouteError","isRouteErrorResponse","ErrorPage","graphQLError","trace","stackTrace","stack","descriptions","helpActions","styles","back","noRepairKit","sideMaintenance","main","wide","ExceptionDetails","RepairKitAlert","footerLinks","footerLink","footerLinkText","RepaitKitAlert","MediaSection","codeFragment","GraphQlList","filtered","emptyViewFiltered","listContext","listProps","paginationProps","setSort","prevFiltered","setPrevFiltered","isLoadingOrFiltered","GraphQlListContext","GraphQlListSearchBar","onSearch","listInput","setSearchFilters","currentFilters","ITEMS_PER_PAGE_OPTIONS","useGraphQlList","defaultInput","inputVariables","withNetworkOnlyStrategy","onListInputChange","withPagination","extractList","setFetchPolicy","setListInput","getGraphQlListInputStorageArgs","queryResult","queryData","previousData","handleListInputChange","setPage","setItemsPerPage","pageInfo","setFilters","newListInput","sortInfo","totalRows","DEFAULT_INPUT","ODBC_SERVER_LIST","odbcAddRoute","odbcEditRoute","dsnManager","drivers","ODBC_ADD_PAGE","domainId","odbcId","ODBC_EDIT_PAGE","useGetDomainOverviewRoutePath","HOSTING_SETTINGS_PAGE","ROUTE","layoutId","summaryReportLayout","scheduleId","ignoreTopLevelTitle","summaryReportLayouts","defaultId","DOMAIN_PAGE","domainRouteData","baseDomain","baseDomainId","getContextUrl","aspDotNetDomainSettingsRoute","bandwidthLimitingDomainRoute","hotlinkProtectionDomainRoute","odbcDomainRoute","protectedDirectoriesRoute","virtualDirectoryRoute","ASP_DOT_NET_DOMAIN_SETTINGS_PAGE","aspDotNet","aspNetSettings","configs","BANDWIDTH_LIMITING_PAGE","domainName","HOTLINK_PROTECTION_PAGE","ODBC_DOMAIN_PAGE","ODBC_DOMAIN_LIST","protectedDirectoryListRoute","protectedDirectoryUserListRoute","PROTECTED_DIRECTORY_LIST","protectedDirectoryAddRoute","protectedDirectoryEditRoute","PROTECTED_DIRECTORY_ADD_PAGE","isProtectedDirectoryLocationSupported","protectedDirectoryId","protectedDirectory","PROTECTED_DIRECTORY_EDIT_PAGE","directoryId","directoryData","PROTECTED_DIRECTORY_PATH","PROTECTED_DIRECTORY_USER_LIST","protectedDirectoryUserAddRoute","protectedDirectoryUserPasswordRoute","userId","virtualDirectorySettingRoutes","directoryName","domainNodeId","editablePath","EDIT_VIRTUAL_DIRECTORY_PAGE","isCurrentDirectory","subscriptionId","isAspEnabled","asp","virtualDirectory","webPath","VIRTUAL_DIRECTORY_PHP_PAGE","managePhpVersion","isVirtual","VIRTUAL_DIRECTORY_PAGE","VirtualDirectorySidebar","VIRTUAL_DIRECTORY_BROWSE_PAGE","VIRTUAL_DIRECTORY_CONTENT_LIST","CREATE_VIRTUAL_DIRECTORY_PAGE","parentPath","parentDirectory","userListKey","VIRTUAL_DIRECTORY_PROTECTION_PAGE","VIRTUAL_DIRECTORY_PROTECTION_USER_LIST","mimeTypeListKey","VIRTUAL_DIRECTORY_MIME_TYPE_LIST","IIS_MANAGER_MIME_CONTENT_TYPES","editPageData","VIRTUAL_DIRECTORY_EDIT_MIME_TYPE_PAGE","mimeType","errorDocListKey","VIRTUAL_DIRECTORY_ERROR_DOC_LIST","VIRTUAL_DIRECTORY_EDIT_ERROR_DOC_PAGE","php","canManagePermissions","isPhpInstalled","urlPrefix","buttonProperties","buttonPermissions","buttonAspDotNet","buttonPhp","SidePanel","ItemList","buildUrl","collapsible","TRAFFIC_USAGE_BY_DOMAIN_PAGE","DOMAIN_TRAFFIC_USAGE","intervals","trafficUsageIntervals","trafficUsageByResellerRoute","clientIdParamName","trafficUsageListKey","clientType","intervalsData","TRAFFIC_USAGE_INTERVALS","TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS","TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST","clientTypes","getClientLink","resellerName","clientNodeId","TOTAL_TRAFFIC_USAGE_BY_RESELLER","TRAFFIC_USAGE_BY_RESELLER_CLIENTS_LIST","trafficUsageByCustomerDomainsRoute","trafficUsageByClientDomainsRoute","clientName","customerId","CLIENT_TRAFFIC_USAGE_INTERVALS","TOTAL_TRAFFIC_USAGE_BY_CLIENT_DOMAINS","TRAFFIC_USAGE_BY_CLIENT_DOMAINS_LIST","listQueryParams","trafficUsageByDomains","totalUsageQueryParams","extractTrafficData","totalTrafficUsageByDomains","showFilters","showClientNameColumn","parentClientType","TOTAL_TRAFFIC_USAGE_BY_VIEWER_DOMAINS","TRAFFIC_USAGE_BY_VIEWER_DOMAINS_LIST","jswRedirect","allSettled","homeQueries","HOME_PAGE","block","layoutResponse","TitleAddon","constants","SERVER_INFO_QUERY","UPDATES_QUERY","OVERUSED_SUBSCRIPTIONS_QUERY","MY_SUBSCRIPTIONS_QUERY","EXTENSIONS_QUERY","CHANGE_LOG_QUERY","SERVER_INFO","UPDATES","OVERUSED_SUBSCRIPTIONS","MY_SUBSCRIPTIONS","IP_BAN","BACKUP","EXTENSIONS","MAIL_QUEUE","PROMO","CHANGE_LOG","CUSTOM_BUTTONS","HOME_PAGE_QUERY","home","locked","isEmptyLayout","order","marginInline","systemMessages","manageServerInfo","LoginPage","defaultValues","serverInfo","isFirstLogin","cloudType","loginContentInclude","headContent","bodyContent","LOGIN_PAGE_QUERY","login_name","passwd","locale_id","useInsertionEffect","addedElements","empty","FormFieldText","autoFocus","hideGenerateButton","hidePasswordMeter","howToLoginArticle","cookieSettings","loginFormEntrypointEnabled","RouteLink","withLoginLayout","locales","resolvableHostname","mobileApplicationPromotion","background","LocaleSwitcher","appearance","contentAddon","SuggestResolvableHostname","LoginMobileApplicationPromotion","processFieldMessage","processFieldMessages","findSubFormFields","subFormPrefix","formData","forms","getSubFormPrefixes","formPrefix","embeddedForms","forwardRef","mutation","onFieldChange","onLongTask","embeddedFormsRender","defaultErrors","statusRef","setStatusMessages","formErrors","subFormErrors","setElementValue","getElementsByName","getIn","useImperativeHandle","handleEmbeddedFormValues","scrollIntoView","behavior","handleSubmitSuccess","formState","isApply","forceRedirect","renderEmbeddedForms","BaseForm","setIn","LoginLayout","LayoutBackground","customBackground","color","fit","MOBILE_APPLICATION_PROMOTION_COOKIE_NAME","setIsVisible","handleHide","sortedLocales","GetPasswordPage","resetBy","handleSuccess","indentFields","GET_PASSWORD_PAGE_QUERY","RestorePasswordPage","handleEstimatePassword","mergeMessages","oldMessages","setMessages","sectionName","handleAddedLocaleSection","handleAddedLocaleSections","BaseLocaleProvider","errorInfo","componentDidCatch","margin","whiteSpace","fontFamily","componentStack","app/editlist","app/rating","app/aha","app/eula","app/app-image/gallery","app/backup/list","app/backup/restore","app/backup/upload-files","app/backup/web-content-dynamic","app/database/assign-to-subscription","app/dns-helper","app/dns-helper/dns-settings","app/email-address/aliases-dynamic","app/email-address/client-configuration-link","app/email-address/form-ajax","app/email-address/postbox","app/email-address/responder-attachments-dynamic","app/file-manager/explorer","app/file-manager/file-name-popup-form","app/mail-settings/confirmation-remove-popup-form","app/hosting-settings/conflicts-checker","app/log-browser/browser","app/log-browser/files","app/login/recovery-password","app/newsletter-subscription","app/progress-dialog","app/profile/announcement-settings","app/pum","app/server-mail-antivirus-promo","app/show-output-popup","app/task-progress-bar","app/user/login-string","app/change-customers-owner","app/convert-customers-to-resellers","app/convert-resellers-to-customers","app/service-sidebar","app/ssl-certificate/list","app/app/progress","app/app/installed","app/app/apscatalog","app/web-app-firewall/submit-handler","app/helper/mail-settings-dkim-hint","tags","environment","isDev","integrations","Replay","maskAllText","maskAllInputs","BrowserTracing","beforeNavigate","beforeSend","err","originalException","catchDebugger","anonymousCall","beforeBreadcrumb","withoutGraphQLFetch","breadcrumb","getAll","ignoreErrors","denyUrls","sampleRate","replaysSessionSampleRate","replaysOnErrorSampleRate","tracesSampleRate","configureScope","setUser","setTag","AdminPanel","Smb","common","chk","onReady","UpdateAvailableNotification","buttonNow","buttonShow","linkLater","UpgradeAvailableNotification","BasePanel","descriptionText","PanelItemsGroup","PanelItem","ApsLicense","buy","initForm","onChangeUploadType","ToolButton","ApplicationUpdate","_renderHint","instances","_onInstallEvent","_onChangelogEvent","_onViewMoreEvent","updateApplication","showApplicationChangelog","resourceIds","contentText","jsonResponse","onShow","viewportHeight","popupTop","positionedOffset","syn","go_to","lon","loff","lsubmit","f","lock","getParentNodeByName","nodeName","errorfield","resizeHandler","lines","originalSize","Prototype","appendForgeryProtection","forgeryToken","origSubmit","HTMLFormElement","origOpen","XMLHttpRequest","setRequestHeader","origInitialize","on400","on500","on0","chk_pos_int","pos_int","chk_mn","mail_name","isWin","re","chk_dom","dom_name","chk_ip_address_and_mask","chk_email","found","chk_url","chk_ip_t","ip","chk_mask","ip2long","num","block_to_num","valid","valid_formats","ip_address","ip_mask","chk_uint","uint","createTooltipElement","tooltipMouseMoveObserver","onMouseMove","tooltipMouseOutObserver","onMouseOut","tooltipEventElement","tooltipVisible","showAction","showTimed","tooltipShowTimeout","cancelShowTimed","finishShowTimed","getShowPosition","firstShow","hideAction","__webpack_module_cache__","deferred","leafPrototypes","getProto","inProgress","__webpack_require__","moduleId","cachedModule","__webpack_modules__","O","chunkIds","notFulfilled","Infinity","fulfilled","n","getter","__esModule","getPrototypeOf","obj","t","getOwnPropertyNames","definition","enumerable","chunkId","promises","u","miniCssF","globalThis","hmd","prop","l","needAttach","getElementsByTagName","charset","nc","onScriptComplete","doneFns","toStringTag","nmd","S","initPromises","initTokens","I","initScope","initToken","p","compat","localeDependencies","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}