{"version":3,"file":"website.aa1df92b9b5c8d03.module.js","mappings":"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","sources":["webpack:///./AppShell.3.vue.InjectKeys.ts","webpack:///./AppShell.3.vue","webpack:///./ModalWrapper.3.vue","webpack:///./ModalWrapper.3.vue?a319","webpack:///./ModalWrapper.3.vue?9954","webpack:///./public/pages/Index.3.vue","webpack:///./public/pages/Index.3.vue?6b85","webpack:///./public/pages/Index.3.vue?e62f","webpack:///./LoginModal.3.vue","webpack:///./LoginModal.3.vue?1e3c","webpack:///./VersionMismatchBanner.3.vue","webpack:///./VersionMismatchBanner.3.vue?c1fb","webpack:///./SessionExpiringModal.3.vue","webpack:///./SessionExpiringModal.3.vue?99d1","webpack:///./lib/cookie-store/index.js","webpack:///./lib/LiveRegion.3.vue","webpack:///./lib/LiveRegion.3.vue?ef71","webpack:///./NavSearchModal.3.vue","webpack:///./NavSearchModal.3.vue?b884","webpack:///./NavSearchModal.3.vue?348d","webpack:///./appExportKeys.3.ts","webpack:///./styles/DFStyle_SiteIndex_Template.less?fe6c","webpack:///./AppShell.3.vue?c88b","webpack:///./AppShell.3.vue?4a4e","webpack:///./AppShell.3.vue?3f50","webpack:///./app.3.ts","webpack:///./config.ts","webpack:///./cs-ts-bridge/cs/KnownFeatureFlags.ts","webpack:///./cs-ts-bridge/cs/UserTaskStatus.ts","webpack:///./cs-ts-bridge/cs/UserTaskType.ts","webpack:///./lib/delayPromise.ts","webpack:///./lib/dialogMixin.3.ts","webpack:///./lib/distinct.ts","webpack:///./lib/fetchHelpers.3.ts","webpack:///./lib/focusTrapMixin.3.ts","webpack:///./lib/getXsrfToken.3.ts","webpack:///./lib/localeDatetime.3.ts","webpack:///./lib/timezoneFunctions.ts","webpack:///./lib/resolvablePromise.ts","webpack:///./lib/toggleDropdown.3.ts","webpack:///./mainStore.ts","webpack:///./polyfill.ts","webpack:///./publicPath.ts","webpack:///./AppShell.3.vue?5042","webpack:///./ModalWrapper.3.vue?8ecb","webpack:///./lib/HelpIcon.3.vue?afdc","webpack:///./lib/HelpIcon.3.vue?c010","webpack:///./public/pages/Index.3.vue?98b8","webpack:///./AppShell.3.vue?5659","webpack:///./NavSearchModal.3.vue?d04c","webpack:///./styles/DFStyle_SiteIndex_Template.less","webpack:///./lib/HelpIcon.3.vue","webpack:///./lib/HelpIcon.3.vue?23e2","webpack:///./lib/HelpIcon.3.vue?4498","webpack:///./lib/HelpIcon.3.vue?ac4e","webpack:///./lib/LoadingPlaceholder.3.vue","webpack:///./lib/LoadingPlaceholder.3.vue?d200","webpack:///./lib/LoadingWheel.3.vue","webpack:///./lib/LoadingWheel.3.vue?1466","webpack:///./public/pages/dialogs/DeleteConfirm.3.vue","webpack:///./public/pages/dialogs/DeleteConfirm.3.vue?8668","webpack:///webpack/runtime/startup prefetch"],"sourcesContent":["import { InjectionKey } from \"vue\";\nexport interface ChangePageEvent {\n    page?: string;\n    settings?: { [key: string]: string | number | boolean | null | undefined };\n    areaUrlSlug?: string;\n}\nexport interface ModalEvent {\n    stop: () => void;\n    // TODO others?\n}\nexport type changePage = (event: ChangePageEvent, replaceHistory?: boolean, skipHistory?: boolean, openInNewTab?: boolean) => void;\nexport const changePageInjectKey = Symbol() as InjectionKey<changePage>;\nexport type updatePage = (event: ChangePageEvent[\"settings\"], replaceHistory?: boolean) => void;\nexport const updatePageInjectKey = Symbol() as InjectionKey<updatePage>;\nexport type getLoginUrl = (type?: number | string, returnUrl?: string) => Promise<string>;\nexport const getLoginUrlInjectKey = Symbol() as InjectionKey<getLoginUrl>;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type showModal = (component: any, params: any, events?: any, bind?: any) => Promise<void>;\nexport const showModalInjectKey = Symbol() as InjectionKey<showModal>;\nexport type loadUserData = () => Promise<void>;\nexport const loadUserDataInjectKey = Symbol() as InjectionKey<loadUserData>;\n","<style lang=\"less\" src=\"./styles/DFStyle_SiteIndex_Template.less\"></style>\n<style>\nbody {\n    position: relative;\n}\n</style>\n<style lang=\"less\" scoped>\n.dropdown-toggle {\n    cursor: pointer;\n}\n.user-control a {\n    color: #fff;\n    &.icon {\n        display: flex;\n        align-items: center;\n        text-decoration: none;\n        &:before {\n            color: #fff;\n            margin-right: 0.5rem;\n        }\n        &:after {\n            color: #fff;\n            margin-left: 0.5rem;\n        }\n    }\n}\n.navbar .user-menu {\n    margin-top: 10px;\n}\n</style>\n<template>\n    <Promised :promise=\"dataPromise\" v-slot:combined=\"{ isPending, isDelayOver, data, error }\">\n        <LoadingWheel :width=\"100\" v-if=\"isPending && isDelayOver && data == null\" />\n        <template v-if=\"error != null\">\n            <div>An error occurred!</div>\n        </template>\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Open+Sans:400,600,700\" @load=\"setLoaded('opensans')\" />\n        <template v-if=\"data != null && !isAdminComponent\">\n            <Promised :promise=\"siteDesignIndexStylesUrl\" v-slot:combined=\"{ data: resolvedUrl }\">\n                <link rel=\"stylesheet\" :href=\"resolvedUrl\" @load=\"setLoaded('siteIndexCss')\" />\n            </Promised>\n            <template v-if=\"component != 'IndexPage' || loaded.siteCss || shouldLoadSiteCss\">\n                <nonIndexStyles :siteDesignStylesUrl=\"siteDesignStylesUrl\" @load=\"setLoaded('siteCss')\" />\n            </template>\n            <template v-else>\n                <Promised :promise=\"siteDesignStylesUrl\" v-slot:combined=\"{ data: resolvedUrl }\"><link rel=\"prefetch\" :href=\"resolvedUrl\" /></Promised>\n            </template>\n        </template>\n        <template v-if=\"isAdminComponent\">\n            <AdminStyles />\n        </template>\n        <LoadingWheel :width=\"100\" v-show=\"data != null && !allLoaded\" />\n        <div v-show=\"allLoaded\" v-if=\"data != null\" @click=\"globalClick($event)\">\n            <SessionExpiringModal v-if=\"showLoginExpiringBanner\" :as-modal=\"false\" :expireTime=\"sessionTimeout\" :isLoggedIn=\"true\" />\n            <VersionMismatchBanner v-if=\"hasVersionMismatch\" />\n            <!-- <pre>HS:{{ hasSession }}, RST: {{ relativeSessionTimeout }}</pre> -->\n            <!-- Admin Top Navigation -->\n            <nav id=\"AdminTopNavigation\" class=\"navbar flex-md-nowrap p-0\" v-if=\"isAdminComponent && !isPageEditorComponent\" role=\"banner\">\n                <div class=\"navbar-brand\">\n                    <img v-if=\"isBridgeBrandEnabled\" src=\"./images/eb_logo_white_bridge.png\" alt=\"AccessGov\" />\n                    <img v-else src=\"./images/eb_logo_white.png\" alt=\"AccessGov\" />\n                </div>\n                <div class=\"navbar-right ml-auto form-inline\">\n                    <div class=\"tenant-control\">\n                        <!-- TODO: Use Display Label and show caret with dropdown-toggle class if user has more than one tenant to choose from -->\n                        <div class=\"\">{{ data.tenantData.tenantDisplayLabel }}</div>\n                    </div>\n                    <div v-show=\"isLoggedIn\" class=\"user-control\">\n                        <div class=\"dropdown\">\n                            <a role=\"button\" tabindex=\"0\" class=\"dropdown-toggle icon icon-user-solid\" @click.prevent.stop=\"toggleDropdown($event)\" aria-haspopup=\"menu\" aria-controls=\"AdminUserMenu\" aria-label=\"User Name and Options Toggle\">\n                                {{ data.userData == null ? null : data.userData.UserName }}\n                            </a>\n                            <ul class=\"dropdown-menu user-menu\" role=\"menu\" id=\"AdminUserMenu\" aria-label=\"User Options\">\n                                <li v-show=\"hasMultiFactorAuthenticationFeature\">\n                                    <Promised :promise=\"getUrl('multiFactorAuthenticationIndex')\" v-slot:combined=\"{ data: resolvedUrl }\">\n                                        <a @click.prevent=\"changePage({ page: 'MultiFactorAuthenticationIndex' })\" :href=\"resolvedUrl\" role=\"menuitem\">MFA Settings</a>\n                                    </Promised>\n                                </li>\n                                <Promised :promise=\"getLogoutUrl()\" v-slot:combined=\"{ data: resolvedUrl }\">\n                                    <li>\n                                        <a :href=\"resolvedUrl\" role=\"menuitem\"> Log Out </a>\n                                    </li>\n                                </Promised>\n                            </ul>\n                        </div>\n                    </div>\n                    <div v-show=\"!isLoggedIn\" class=\"user-control\">\n                        <Promised :promise=\"getLoginUrl(1)\" v-slot:combined=\"{ data: resolvedUrl }\">\n                            <a :href=\"resolvedUrl\">Log In</a>\n                        </Promised>\n                    </div>\n                </div>\n            </nav>\n            <!-- Admin Left Navigation -->\n            <nav id=\"AdminLeftNavigation\" class=\"sidebar-sticky left-nav-pri live flex-column d-flex\" v-if=\"isAdminComponent && !isPageEditorComponent && data.userData != null\" role=\"navigation\" aria-label=\"Admin Links\">\n                <ul class=\"nav flex-column\">\n                    <li class=\"nav-item\">\n                        <Promised :promise=\"getUrl('admin')\" v-slot:combined=\"{ data: resolvedUrl }\">\n                            <a class=\"nav-link icon icon-lg-home\" :class=\"component == 'Admin' ? ['active'] : []\" @click.prevent=\"changePage({ page: 'Admin' })\" :href=\"resolvedUrl\"><div class=\"nav-caption\">Dashboard</div></a>\n                        </Promised>\n                    </li>\n                    <li class=\"nav-item\" v-show=\"data.userData.CanTestForms || data.userData.CanReview\" v-if=\"hasPageworkflowFeature\">\n                        <Promised :promise=\"getUrl('adminTasksIndex')\" v-slot:combined=\"{ data: resolvedUrl }\">\n                            <a class=\"nav-link icon icon-lg-tasks\" :class=\"component == 'AdminTasksIndex' ? ['active'] : []\" @click.prevent=\"changePage({ page: 'AdminTasksIndex' })\" :href=\"resolvedUrl\"><div class=\"nav-caption\">Tasks</div></a>\n                        </Promised>\n                    </li>\n                    <li class=\"nav-item\" v-show=\"data.userData.CanTestForms || data.userData.CanReview\">\n                        <Promised :promise=\"getUrl('adminSearch')\" v-slot:combined=\"{ data: resolvedUrl }\">\n                            <a class=\"nav-link icon icon-lg-submissions\" :class=\"component == 'AdminSearch' ? ['active'] : []\" @click.prevent=\"changePage({ page: 'AdminSearch' })\" :href=\"resolvedUrl\"><div class=\"nav-caption\">Submissions</div></a>\n                        </Promised>\n                    </li>\n                    <li class=\"nav-item\" v-show=\"data.userData.CanEditForms\">\n                        <Promised :promise=\"getUrl('adminPageIndex')\" v-slot:combined=\"{ data: resolvedUrl }\">\n                            <a class=\"nav-link icon icon-lg-sites\" :class=\"component == 'AdminPage' || component == 'AdminPageNew' || component == 'AdminPageDiscontinue' || component == 'AdminPageTransfer' || component == 'AdminPageEdit' || component == 'AdminGuidedSearch' || component == 'AdminWidget' ? ['active'] : []\" @click.prevent=\"changePage({ page: 'AdminPage' })\" :href=\"resolvedUrl\"><div class=\"nav-caption\">Sites</div></a>\n                        </Promised>\n                    </li>\n                    <li class=\"nav-item\" v-show=\"data.userData.CanViewDataSources\">\n                        <Promised :promise=\"getUrl('adminDataSources', { id: null })\" v-slot:combined=\"{ data: resolvedUrl }\">\n                            <a class=\"nav-link icon icon-lg-data\" :class=\"component == 'AdminDataSources' ? ['active'] : []\" @click.prevent=\"changePage({ page: 'AdminDataSources', settings: { id: null } })\" :href=\"resolvedUrl\"><div class=\"nav-caption\">Data Sources</div></a>\n                        </Promised>\n                    </li>\n                    <li class=\"nav-item\" v-show=\"data.userData.CanManageUsers\">\n                        <Promised :promise=\"getUrl('adminUserManagementUsers')\" v-slot:combined=\"{ data: resolvedUrl }\">\n                            <a class=\"nav-link icon icon-lg-users\" :class=\"component == 'AdminUserManagementUsers' || component == 'AdminUserManagementGroups' ? ['active'] : []\" @click.prevent=\"changePage({ page: 'AdminUserManagementUsers' })\" :href=\"resolvedUrl\"\n                                ><div class=\"nav-caption\">User<br />Management</div></a\n                            >\n                        </Promised>\n                    </li>\n                </ul>\n                <ul class=\"nav flex-column admin-bottom-links\">\n                    <li class=\"nav-item\" v-show=\"(data.userData.CanViewAllTenantsBilling || data.userData.CanViewTenantBilling) && hasBillingPageFeature\">\n                        <Promised :promise=\"getUrl('adminBilling', { includeAllTenants: false, start: null, end: null })\" v-slot:combined=\"{ data: resolvedUrl }\">\n                            <a class=\"nav-link icon icon-lg-billing\" :class=\"component == 'AdminBilling' ? ['active'] : []\" @click.prevent=\"changePage({ page: 'AdminBilling', settings: { includeAllTenants: false, start: null, end: null } })\" :href=\"resolvedUrl\"><div class=\"nav-caption\">Billing</div></a>\n                        </Promised>\n                    </li>\n                    <li class=\"nav-item\" v-show=\"data.userData.CanViewAllTenantsStats || (data.userData.CanViewTenantStats && hasTenantStatsFeature)\">\n                        <Promised :promise=\"getUrl('adminStats', { includePageDetails: false, includeAllTenants: false, start: null, end: null })\" v-slot:combined=\"{ data: resolvedUrl }\">\n                            <a class=\"nav-link icon icon-lg-stats\" :class=\"component == 'AdminStats' ? ['active'] : []\" @click.prevent=\"changePage({ page: 'AdminStats', settings: { includePageDetails: false, includeAllTenants: false, start: null, end: null } })\" :href=\"resolvedUrl\"><div class=\"nav-caption\">Stats</div></a>\n                        </Promised>\n                    </li>\n                    <li class=\"nav-item\" v-show=\"data.userData.CanViewFeatureFlags\">\n                        <Promised :promise=\"getUrl('adminFeatureFlags')\" v-slot:combined=\"{ data: resolvedUrl }\">\n                            <a class=\"nav-link icon icon-lg-flag\" :class=\"component == 'AdminFeatureFlags' ? ['active'] : []\" @click.prevent=\"changePage({ page: 'AdminFeatureFlags' })\" :href=\"resolvedUrl\"><div class=\"nav-caption\">Feature Flags</div></a>\n                        </Promised>\n                    </li>\n                    <li class=\"nav-item\" v-show=\"data.userData.CanManageTenants\">\n                        <Promised :promise=\"getUrl('adminTenantManagementIndex')\" v-slot:combined=\"{ data: resolvedUrl }\">\n                            <a class=\"nav-link icon icon-lg-settings\" :class=\"component == 'AdminTenantManagementIndex' || component == 'AdminTenantManagementEdit' ? ['active'] : []\" @click.prevent=\"changePage({ page: 'AdminTenantManagementIndex' })\" :href=\"resolvedUrl\"><div class=\"nav-caption\">Tenants</div></a>\n                        </Promised>\n                    </li>\n                </ul>\n            </nav>\n            <!-- Public Top Navigation -->\n            <div id=\"public-nav-wrapper\" v-if=\"!isAdminComponent\">\n                <div id=\"layoutContainer\">\n                    <nav class=\"navbar fixed-top navbar-expand-md navbar-inverse navbar-dark\" role=\"banner\">\n                        <div class=\"container-fluid\">\n                            <button type=\"button\" class=\"navbar-toggler pull-right\" data-toggle=\"collapse\" data-target=\"#collapse2\" aria-expanded=\"false\" @click.capture=\"toggleMobileNav\">\n                                <span class=\"sr-only\">Toggle navigation</span>\n                                <span class=\"icon-bar\"></span>\n                                <span class=\"icon-bar\"></span>\n                                <span class=\"icon-bar\"></span>\n                            </button>\n                            <div class=\"navbar-brand\">\n                                <picture>\n                                    <source :srcset=\"data.tenantData.logoUrl + '&height=50 1x, ' + data.tenantData.logoUrl + '&height=75 1.5x, ' + data.tenantData.logoUrl + '&height=100 2x, ' + data.tenantData.logoUrl + '&height=200 4x'\" />\n                                    <img :src=\"data.tenantData.logoUrl + '&height=50'\" height=\"50\" :alt=\"(data.tenantData.logoAlt || data.tenantData.tenantDisplayLabel) + ' - AccessGov: Empowered by Tyler Technologies'\" />\n                                </picture>\n                            </div>\n                            <a class=\"d-block d-md-none search-toggle nav-item nav-link\" @click=\"showSearch(data)\" v-if=\"data.userData != null && data.userData.CanUserSearchPages\">\n                                <span class=\"sr-only\">Search</span>\n                                <span class=\"icon icon-search\"></span>\n                            </a>\n                            <div class=\"navbar-collapse\" :class=\"showMobileNav ? [] : ['collapse']\" id=\"collapse2\" @click=\"toggleMobileNav\">\n                                <ul class=\"nav navbar-nav navbar-right\">\n                                    <!-- @Html.RenderResources(LayoutInsertions.PreHeaderLinks) -->\n                                    <li class=\"d-none d-md-block search-toggle nav-item\" id=\"searchNavLink\" v-if=\"data.userData != null && data.userData.CanUserSearchPages\">\n                                        <a class=\"nav-link\" role=\"button\" tabindex=\"0\" @click=\"showSearch(data)\">\n                                            <span class=\"icon icon-search\"></span>\n                                            <span>&nbsp;Search</span>\n                                        </a>\n                                    </li>\n                                    <li id=\"homeNavLink\" class=\"nav-item\" v-show=\"data.userData != null && data.userData.CanUserViewHomePage\">\n                                        <Promised :promise=\"getUrl('index')\" v-slot:combined=\"{ data: resolvedUrl }\"><a role=\"button\" tabindex=\"0\" class=\"nav-link\" @click.prevent=\"changePage({ page: 'Index' })\" :href=\"resolvedUrl\">Home</a></Promised>\n                                    </li>\n                                    <li id=\"directoryNavLink\" class=\"nav-item\" v-show=\"data.userData != null && data.userData.CanUserViewDirectory\">\n                                        <Promised :promise=\"getUrl('directory')\" v-slot:combined=\"{ data: resolvedUrl }\"><a role=\"button\" tabindex=\"0\" class=\"nav-link\" @click.prevent=\"changePage({ page: 'Directory' })\" :href=\"resolvedUrl\">Directory</a></Promised>\n                                    </li>\n                                    <!-- @Html.RenderResources(LayoutInsertions.InnerHeaderLinks) -->\n                                    <li class=\"nav-item user-control\" v-show=\"isLoggedIn\">\n                                        <div class=\"dropdown\">\n                                            <a role=\"button\" tabindex=\"0\" class=\"dropdown-toggle nav-link icon icon-user-solid\" @click.prevent.stop=\"toggleDropdown($event)\" aria-haspopup=\"menu\" aria-controls=\"PublicUserMenu\" aria-label=\"User Name and Options Toggle\">\n                                                {{ data.userData != null ? data.userData.UserName : null }}\n                                            </a>\n                                            <ul class=\"dropdown-menu user-menu\" role=\"menu\" id=\"PublicUserMenu\" aria-label=\"User Options\">\n                                                <!--@Html.RenderResources(LayoutInsertions.PreUserMenu) -->\n                                                <li v-show=\"data.userData == null ? false : data.userData.IsAdmin\">\n                                                    <Promised :promise=\"getUrl('admin')\" v-slot:combined=\"{ data: resolvedUrl }\">\n                                                        <a @click.prevent=\"changePage({ page: 'Admin' })\" :href=\"resolvedUrl\" role=\"menuitem\">Admin Dashboard</a>\n                                                    </Promised>\n                                                </li>\n                                                <li v-show=\"hasMultiFactorAuthenticationFeature\">\n                                                    <Promised :promise=\"getUrl('multiFactorAuthenticationIndex')\" v-slot:combined=\"{ data: resolvedUrl }\">\n                                                        <a @click.prevent=\"changePage({ page: 'MultiFactorAuthenticationIndex' })\" :href=\"resolvedUrl\">MFA Settings</a>\n                                                    </Promised>\n                                                </li>\n                                                <!--@Html.RenderResources(LayoutInsertions.InnerUserMenu) -->\n                                                <li role=\"separator\" class=\"divider\"></li>\n                                                <li>\n                                                    <Promised :promise=\"getLogoutUrl()\" v-slot:combined=\"{ data: resolvedUrl }\">\n                                                        <a :href=\"resolvedUrl\"> Log Out </a>\n                                                    </Promised>\n                                                </li>\n                                                <!--@Html.RenderResources(LayoutInsertions.PostUserMenu)-->\n                                            </ul>\n                                        </div>\n                                    </li>\n                                    <li class=\"login nav-item\" v-show=\"!isLoggedIn && !isUserLoginDisabled\">\n                                        <Promised :promise=\"getLoginUrl(0)\" v-slot:combined=\"{ data: resolvedUrl }\"><a class=\"nav-link\" :href=\"resolvedUrl\"> Log In </a></Promised>\n                                    </li>\n                                    <!--@Html.RenderResources(LayoutInsertions.PostHeaderLinks)-->\n                                </ul>\n                            </div>\n                        </div>\n                    </nav>\n                </div>\n            </div>\n            <!-- Body Content -->\n            <div class=\"body-content\" id=\"BodyContent\">\n                <keep-alive>\n                    <component v-bind:is=\"component\" v-on:change-page=\"changePage\" v-on:update-page=\"updatePage\" v-bind:settings=\"componentSettings\"></component>\n                </keep-alive>\n            </div>\n            <div id=\"public-footer-wrapper\" v-show=\"component\" v-if=\"!isAdminComponent && customFooterHtml !== undefined\" role=\"contentinfo\" aria-label=\"Footer\">\n                <div v-html=\"customFooterHtml\" v-if=\"customFooterHtml != null\"></div>\n            </div>\n            <div v-if=\"hasDeploymentToggle || hasOverrideableNow\" style=\"z-index: 999999; position: fixed; display: inline-block; left: 0; right: 0; top: 0; text-align: center; background: black; color: red; margin: auto\" :style=\"{ width: (hasDeploymentToggle ? 8 : 0) + (hasOverrideableNow ? 10 : 0) + 'em' }\">\n                <template v-if=\"hasDeploymentToggle\">\n                    <a target=\"SetDeploymentToggle\" :href=\"data.userData?.DeploymentToggleUrl\">{{ data.userData?.Deployment }}</a>\n                </template>\n                <template v-if=\"hasDeploymentToggle && hasOverrideableNow\"> / </template>\n                <template v-if=\"hasOverrideableNow\">\n                    <a target=\"SetFakeTime\" :href=\"data.userData?.OverrideableNowUrl\">\n                        <span v-if=\"overriddenNow\">{{ overriddenNow.toLocaleString() }}</span>\n                        <strong v-else>NOT OVERRIDDEN</strong>\n                    </a>\n                </template>\n            </div>\n            <ModalsContainer />\n            <LiveRegion />\n        </div>\n    </Promised>\n</template>\n<script lang=\"ts\">\n//cspell:ignore unref\nimport { defineComponent, defineAsyncComponent, ref, computed, watch, provide, Ref, onMounted, onUnmounted, nextTick, inject, triggerRef, markRaw, unref } from \"vue\";\n//@ts-expect-error\nimport { ModalsContainer } from \"vue-final-modal\";\nimport ModalWrapper from \"./ModalWrapper.3.vue\";\nimport LoadingWheel from \"./lib/LoadingWheel.3.vue\";\nimport IndexPage from \"./public/pages/Index.3.vue\";\nimport LoginModal from \"./LoginModal.3.vue\";\nimport VersionMismatchBanner from \"./VersionMismatchBanner.3.vue\";\n//import AdminIndex from \"./admin/Index.3.vue\";\nimport SessionExpiringModal from \"./SessionExpiringModal.3.vue\";\nimport LoadingPlaceholder from \"./lib/LoadingPlaceholder.3.vue\";\nimport { Promised } from \"vue-promised\";\nimport { useMainStore, TenantData } from \"./mainStore\";\nimport { cookieStore } from \"./lib/cookie-store\";\nimport { computedAsync } from \"@vueuse/core\";\nimport { UserData } from \"@cs/UserData\";\nimport resolvablePromise from \"./lib/resolvablePromise\";\nimport { changePageInjectKey, ChangePageEvent, updatePageInjectKey, getLoginUrlInjectKey, showModalInjectKey, loadUserDataInjectKey } from \"./AppShell.3.vue.InjectKeys\";\nimport { toggleDropdown } from \"@/lib/toggleDropdown.3\";\nimport { KnownFeatureFlags } from \"@cs/KnownFeatureFlags\";\nimport LiveRegion from \"@/lib/LiveRegion.3.vue\";\nimport NavSearchModal from \"./NavSearchModal.3.vue\";\nlet shouldSkipGaSetup = false;\ndeclare global {\n    interface Window {\n        dataLayer: any[]; // eslint-disable-line @typescript-eslint/no-explicit-any\n        gtag(...rest: Array<any>): void; // eslint-disable-line @typescript-eslint/no-explicit-any\n        ga(...rest: Array<any>): void; // eslint-disable-line @typescript-eslint/no-explicit-any\n    }\n}\nimport { vfmInjectKey } from \"./appExportKeys.3\";\nexport default defineComponent({\n    skipGaSetup() {\n        shouldSkipGaSetup = true;\n    },\n    props: [],\n    setup() {\n        const vfm = inject(vfmInjectKey)!;\n        if (vfm == null) throw new Error(\"Missing VFM\");\n\n        // State\n        const currentUrl = ref(null as undefined | null | string);\n        const isAdminComponent = ref(null as unknown as boolean);\n        const isPageEditorComponent = ref(null as unknown as boolean);\n        const showMobileNav = ref(false as boolean);\n        const searchVisible = ref(false as boolean);\n        const showAdminMenu = ref(false as boolean);\n        const searchRootTenant = ref(false as boolean);\n        const searchText = ref(null as string | null);\n        const searchTextDebounced = ref(null as string | null);\n        const component = ref(null as string | null | undefined);\n        // TODO type instead of any\n        const componentSettings = ref(null as any); // eslint-disable-line @typescript-eslint/no-explicit-any\n        const tenantDataPromise = ref(null as null | Promise<TenantData>);\n        const userDataPromise = ref(null as null | Promise<UserData>);\n        const displayLabelCache = ref({} as { [key: string]: Promise<string> });\n        const shouldLoadSiteCss = ref(false);\n        const loaded = ref({\n            opensans: false,\n            siteIndexCss: false,\n            siteCss: false,\n        });\n        const sessionTimeout = ref(null as Date | null);\n        const showLoginExpiringBanner = ref(false);\n\n        const mainStore = useMainStore();\n\n        const siteDesignStylesUrl = computed(async () => {\n            const options = { editorMode: false };\n            if (userDataPromise.value != null && (await userDataPromise.value).ActiveFeatureFlags.includes(\"StyleEditorMode\")) {\n                options.editorMode = true;\n            }\n            return await getUrl(\"siteDesignStyles\", options);\n        });\n        const siteDesignIndexStylesUrl = computed(async () => {\n            const options = { editorMode: false };\n            if (userDataPromise.value != null && (await userDataPromise.value).ActiveFeatureFlags.includes(\"StyleEditorMode\")) {\n                options.editorMode = true;\n            }\n            return await getUrl(\"siteDesignIndexStyles\", options);\n        });\n        const needsLogin = computed(() => {\n            return mainStore.needsLogin;\n        });\n        const isLoggedIn = computedAsync(async () => {\n            return (await mainStore.userDataPromise).IsLoggedIn;\n        });\n        const hasSession = computed(() => {\n            return mainStore.hasSession || isAdminComponent.value;\n        });\n        const hasVersionMismatch = computed(() => {\n            return mainStore.hasVersionMismatch;\n        });\n\n        const promiseComputable = <TInput, TOutput>(promiseRef: Ref<Promise<TInput> | null>, func: (promise: Promise<TInput> | null) => Promise<TOutput>): Ref<TOutput> => {\n            //VUE2 issue?\n            return computedAsync(() => func(promiseRef.value)) as unknown as Ref<TOutput>;\n        };\n\n        const hasPageworkflowFeature = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\"PageWorkflow\") || null));\n        const isUserLoginDisabled = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\"DisableUserLogin\") || null));\n        const hasTenantStatsFeature = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\"TenantStats\") || null));\n        const hasBillingPageFeature = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\"BillingStatsPage\") || null));\n        const hasShowDataSourceTestModeSyncFeature = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\"ShowDataSourceTestModeSync\") || null));\n        const hasMultiFactorAuthenticationFeature = promiseComputable(userDataPromise, async userDataPromise => {\n            if (userDataPromise == null) return null;\n            if (!(await userDataPromise).ActiveFeatureFlags.includes(\"MultiFactorAuthentication\")) return null;\n            const url = await getUrl(\"multiFactorAuthenticationUserData\");\n            const result = await (await fetch(url)).json();\n            return result.IsStateUser;\n        });\n        const hasDeploymentToggle = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\"DeploymentToggle\") || null));\n        const hasOverrideableNow = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(KnownFeatureFlags.OverridableNow.Id) || null));\n        const overriddenNow = ref(null as Date | null);\n        let getOverriddenNowTimeoutId: null | ReturnType<typeof setTimeout> = null;\n        const setOverriddenNow = () => {\n            if (mainStore.globalConfigData?.OverriddenNow == null) {\n                return null;\n            }\n            overriddenNow.value = mainStore.now();\n            const autoAdvance = mainStore.globalConfigData.OverriddenNowAutoAdvance ?? true;\n            if (autoAdvance) {\n                getOverriddenNowTimeoutId = setTimeout(setOverriddenNow, 1000);\n            }\n        };\n        onUnmounted(() => clearTimeout(getOverriddenNowTimeoutId!));\n        watch(\n            () => mainStore.globalConfigData,\n            () => {\n                clearTimeout(getOverriddenNowTimeoutId!);\n                setOverriddenNow();\n            },\n            { immediate: true, deep: true },\n        );\n        const isBridgeBrandEnabled = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\"EngagementBuilderBridgeBrand\") || null));\n        const customFooterHtml = promiseComputable(tenantDataPromise, async i => {\n            return i == null ? undefined : (await i).customFooterHtml || null;\n        });\n        const isPublicAreaEnabled = promiseComputable(tenantDataPromise, async i => (i == null ? undefined : (await i).publicAreaEnabled));\n        const isAdminAreaEnabled = promiseComputable(tenantDataPromise, async i => (i == null ? undefined : (await i).adminAreaEnabled));\n        const allLoaded = computed(() => {\n            return (Object.keys(loaded.value) as (keyof typeof loaded.value)[]).every(k => (component.value == \"IndexPage\" && k == \"siteCss\") || (isAdminComponent.value && (k == \"siteCss\" || k == \"siteIndexCss\")) || loaded.value[k]);\n        });\n        const dataPromise = computed(async () => {\n            const [userData, tenantData] = await Promise.all([userDataPromise.value, tenantDataPromise.value]);\n            return {\n                userData,\n                tenantData,\n            };\n        });\n\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        const showModalFunc = (component: any, params: any, events?: any, bind?: any) => {\n            const isOpened = resolvablePromise<void>();\n            events ??= {};\n            const a = events.opened;\n            events.opened = () => {\n                if (a != null) {\n                    a();\n                }\n                isOpened.resolve();\n            };\n            vfm.show(\n                {\n                    component: ModalWrapper,\n                    on: events,\n                    bind, // https://v3.vue-final-modal.org/guide/properties\n                },\n                {\n                    innerComponent: markRaw(component),\n                    innerParams: params,\n                },\n            );\n            return isOpened;\n        };\n        provide(showModalInjectKey, showModalFunc);\n\n        watch(\n            () => needsLogin.value,\n            () => {\n                if (!needsLogin.value) return;\n                const wasLoggedIn = unref(isLoggedIn);\n                showModalFunc(LoginModal, {\n                    callback: mainStore.needsLoginPromise!.resolve,\n                    mode: mainStore.needsLoginMode!.RequiredMode,\n                    isLoggedIn: mainStore.needsLoginMode!.IsLoggedIn,\n                    wasLoggedIn: wasLoggedIn,\n                    isLoggedInNow: async () => {\n                        await loadUserData();\n                        return isLoggedIn;\n                    },\n                });\n            },\n        );\n\n        let cookieTimerId: ReturnType<typeof setInterval> | undefined = undefined;\n        onUnmounted(() => clearInterval(cookieTimerId));\n        cookieStore.get(\"AuthTimeout\").then((c: { value: string; name: string } | null) => {\n            const handleAuthTimeout = (c: string | null | undefined) => {\n                sessionTimeout.value = c != null ? new Date(c) : null;\n            };\n            if (c != null && c.value != null && new Date(c.value) > new Date()) {\n                handleAuthTimeout(c.value);\n            }\n            cookieTimerId = setInterval(() => {\n                cookieStore.get(\"AuthTimeout\").then((newC: { value: string; name: string } | null) => {\n                    if (newC != null && newC.value != c?.value) {\n                        //debugger;\n                        handleAuthTimeout(newC.value);\n                        c = newC;\n                        // TODO native support where available?\n                        //cookieStore.dispatchEvent(new CookieChangeEvent(\"change\", {\n                        //    changed: [\n                        //        {\n                        //            name: newC.name,\n                        //            value: newC.value,\n                        //            domain: newC.domain,\n                        //            secure: newC.secure,\n                        //            expires: newC.expires,\n                        //        }\n                        //    ]\n                        //}));\n                    }\n                });\n            }, 500);\n            //cookieStore.addEventListener('change', event => {\n            //    console.log(event);\n            //    for(const cookie in event.changed) {\n            //        if (cookie.name == \"AuthTimeout\") {\n            //            handleAuthTimeout(cookie.value);\n            //        }\n            //    }\n            //});\n        });\n        let sessionTimeoutNoticeTimerId: ReturnType<typeof setInterval> | undefined = undefined;\n        let sessionTimeoutExpiredTimerId: ReturnType<typeof setInterval> | undefined = undefined;\n        const sessionTimeWaitInSeconds = 60;\n        let sessionWatchActive = true;\n        let userActionDetected = false;\n        //const now = ref(new Date());\n        //setInterval(() => { now.value = new Date() }, 100);\n        //const relativeSessionTimeout = computed(() => {\n        //    const sessionTimeoutValue = sessionTimeout.value;\n        //    return sessionTimeoutValue == null\n        //        ? null\n        //        : sessionTimeoutValue.getTime() - now.value.getTime();\n        //});\n        watch(\n            () => sessionTimeout.value,\n            sessionTimeoutValue => {\n                if (!sessionWatchActive) {\n                    return;\n                }\n                clearTimeout(sessionTimeoutNoticeTimerId);\n                clearTimeout(sessionTimeoutExpiredTimerId);\n                showLoginExpiringBanner.value = false;\n                if (sessionTimeoutValue == null) {\n                    return;\n                }\n                const relativeSessionTimeout = sessionTimeoutValue.getTime() - new Date().getTime();\n                sessionTimeoutNoticeTimerId = setTimeout(\n                    async () => {\n                        showLoginExpiringBanner.value = false;\n                        if (!hasSession.value) {\n                            return;\n                        }\n                        if (!userActionDetected) {\n                            const wasLoggedIn = isLoggedIn.value;\n                            if (wasLoggedIn) {\n                                showLoginExpiringBanner.value = true;\n                            } else {\n                                sessionWatchActive = false;\n                                await ensureSiteCssLoaded();\n                                showModalFunc(\n                                    SessionExpiringModal,\n                                    {\n                                        asModal: true,\n                                        expireTime: sessionTimeoutValue,\n                                        isLoggedIn: wasLoggedIn,\n                                    },\n                                    {\n                                        \"before-close\"() {\n                                            nextTick(() => {\n                                                sessionWatchActive = true;\n                                                triggerRef(sessionTimeout);\n                                            });\n                                        },\n                                        closed() {\n                                            nextTick(() => {\n                                                sessionWatchActive = true;\n                                                triggerRef(sessionTimeout);\n                                            });\n                                        },\n                                    },\n                                );\n                            }\n                        } else {\n                            const refreshUrl = await getUrl(\"extendSession\");\n                            await fetch(refreshUrl, { headers: { \"X-Session-Refresh\": \"force\" } });\n                            triggerRef(sessionTimeout);\n                        }\n                        setTimeout(() => {\n                            userActionDetected = false;\n                        }, 5000);\n                    },\n                    relativeSessionTimeout - sessionTimeWaitInSeconds * 1000,\n                );\n                // TODO  force session expire?\n                sessionTimeoutExpiredTimerId = setTimeout(() => {\n                    if (!hasSession.value) {\n                        return;\n                    }\n                    clearTimeout(sessionTimeoutNoticeTimerId);\n                    clearTimeout(sessionTimeoutExpiredTimerId);\n                    cookieStore.delete(\"AuthTimeout\");\n                    if (!isLoggedIn.value) {\n                        changePage({ page: \"SessionExpired\" });\n                    }\n                }, relativeSessionTimeout);\n            },\n        );\n        const keepAliveEvent = () => {\n            if (!userActionDetected && sessionWatchActive) {\n                userActionDetected = true;\n            }\n        };\n        onMounted(() => {\n            document.addEventListener(\"click\", keepAliveEvent, { passive: true });\n            document.addEventListener(\"keyup\", keepAliveEvent, { passive: true });\n        });\n        onUnmounted(() => {\n            document.removeEventListener(\"click\", keepAliveEvent);\n            document.removeEventListener(\"keyup\", keepAliveEvent);\n        });\n        watch(\n            () => isAdminComponent.value,\n            isAdminComponent => {\n                var html = document.getElementsByTagName(\"html\")[0];\n                var body = document.getElementsByTagName(\"body\")[0];\n                if (isAdminComponent) {\n                    html.classList.remove(\"public-page-html\");\n                    html.classList.add(\"admin-page-html\");\n                    body.classList.remove(\"public-page-body\");\n                    body.classList.add(\"admin-page-body\");\n                } else {\n                    html.classList.remove(\"admin-page-html\");\n                    html.classList.add(\"public-page-html\");\n                    body.classList.remove(\"admin-page-body\");\n                    body.classList.add(\"public-page-body\");\n                }\n            },\n        );\n        watch(\n            () => isPageEditorComponent.value,\n            isPageEditorComponent => {\n                var html = document.getElementsByTagName(\"html\")[0];\n                var body = document.getElementsByTagName(\"body\")[0];\n                if (isPageEditorComponent) {\n                    html.classList.add(\"page-editor-page-html\");\n                    body.classList.add(\"page-editor-page-body\");\n                } else {\n                    html.classList.remove(\"page-editor-page-html\");\n                    body.classList.remove(\"page-editor-page-body\");\n                }\n            },\n        );\n\n        const setLoaded = (key: keyof (typeof loaded)[\"value\"]) => {\n            loaded.value[key] = true;\n        };\n        watch(\n            () => mainStore.shouldEnsureSiteCssLoaded,\n            async ensureSiteCssLoadedVal => {\n                if (ensureSiteCssLoadedVal) {\n                    await ensureSiteCssLoaded();\n                }\n            },\n        );\n        const ensureSiteCssLoaded = () => {\n            if (isAdminComponent.value) {\n                return Promise.resolve(null);\n            }\n            shouldLoadSiteCss.value = true;\n            return new Promise(resolve => {\n                //cspell:ignore unwatch\n                let unwatch: null | ReturnType<typeof watch> = null;\n                unwatch = watch(\n                    () => loaded.value.siteCss,\n                    async (newValue, _) => {\n                        if (newValue) {\n                            resolve(null);\n                            mainStore.siteCssLoaded.resolve();\n                            if (unwatch) {\n                                unwatch();\n                            } else {\n                                setTimeout(() => {\n                                    (unwatch as ReturnType<typeof watch>)();\n                                }, 0);\n                            }\n                        }\n                    },\n                    { immediate: true },\n                );\n            });\n        };\n        const pageToUrl = (event: ChangePageEvent): Promise<string> => {\n            let urlType: string | null = null!;\n            let settings = event.settings;\n            switch (event.page) {\n                case \"NotFound\":\n                    urlType = \"notFound\";\n                    break;\n                case \"PageNotFound\":\n                    urlType = \"pageNotFound\";\n                    break;\n                case \"Offline\":\n                    urlType = \"offline\";\n                    break;\n                case \"AccessDenied\":\n                    urlType = \"accessDenied\";\n                    break;\n                case \"Index\":\n                case \"IndexPage\":\n                    urlType = \"index\";\n                    break;\n                case \"Directory\":\n                    urlType = \"directory\";\n                    break;\n                case \"Page\":\n                    if (settings?.formId != null) {\n                        urlType = \"draftGoto\";\n                    } else if (settings?.urlSlug != null) {\n                        urlType = \"formGotoSlug\";\n                    } else {\n                        urlType = \"formGoto\";\n                    }\n                    break;\n                case \"PageSlug\":\n                    urlType = \"formGotoSlug\";\n                    break;\n                case \"PageResumeFailure\":\n                    urlType = \"pageResumeFailure\";\n                    break;\n                case \"FailedPaymentResume\":\n                    urlType = \"failedPaymentResume\";\n                    break;\n                case \"Error\":\n                    urlType = \"error\";\n                    break;\n                case \"Admin\":\n                    urlType = \"admin\";\n                    break;\n                case \"AdminSearch\":\n                    urlType = \"adminSearch\";\n                    break;\n                case \"AdminSearchReview\":\n                    urlType = \"adminSearchReview\";\n                    break;\n                case \"AdminTasksIndex\":\n                    urlType = \"adminTasksIndex\";\n                    break;\n                case \"AdminPage\":\n                    urlType = \"adminPageIndex\";\n                    break;\n                case \"AdminPageNew\":\n                    urlType = \"adminPageNew\";\n                    break;\n                case \"AdminPageEdit\":\n                    urlType = \"adminPageEdit\";\n                    break;\n                case \"AdminPageDiscontinue\":\n                    urlType = \"adminPageDiscontinue\";\n                    break;\n                case \"AdminPageTransfer\":\n                    urlType = \"adminPageTransfer\";\n                    break;\n                case \"AdminDataSources\":\n                    urlType = \"adminDataSources\";\n                    break;\n                case \"AdminAddressBook\":\n                    urlType = \"adminAddressBook\";\n                    break;\n                case \"AdminGuidedSearch\":\n                    urlType = \"adminGuidedSearch\";\n                    break;\n                case \"AdminFeatureFlags\":\n                    urlType = \"adminFeatureFlags\";\n                    break;\n                case \"AdminTenantManagementIndex\":\n                    urlType = \"adminTenantManagementIndex\";\n                    break;\n                case \"AdminTenantManagementNew\":\n                    urlType = \"adminTenantManagementNew\";\n                    break;\n                case \"AdminTenantManagementEdit\":\n                    urlType = \"adminTenantManagementEdit\";\n                    break;\n                case \"AdminFormImport\":\n                    urlType = \"adminFormImport\";\n                    break;\n                case \"AdminWidget\":\n                    urlType = \"adminWidget\";\n                    break;\n                case \"AdminUserManagementUsers\":\n                    urlType = \"adminUserManagementUsers\";\n                    break;\n                case \"AdminUserManagementGroups\":\n                    urlType = \"adminUserManagementGroups\";\n                    break;\n                case \"AdminStats\":\n                    urlType = \"adminStats\";\n                    break;\n                case \"AdminBilling\":\n                    urlType = \"adminBilling\";\n                    break;\n                case \"MultiFactorAuthenticationIndex\":\n                    urlType = \"multiFactorAuthenticationIndex\";\n                    break;\n                case \"MultiFactorAuthenticationEdit\":\n                    urlType = \"multiFactorAuthenticationEdit\";\n                    break;\n                case \"MultiFactorAuthenticationGenerateToken\":\n                    urlType = \"multiFactorAuthenticationGenerateToken\";\n                    break;\n                case \"MultiFactorAuthenticationVerifyToken\":\n                    urlType = \"multiFactorAuthenticationVerifyToken\";\n                    break;\n                default:\n                    throw new Error(JSON.stringify(event));\n            }\n            return getUrl(urlType, settings);\n        };\n        const changePage = (event: ChangePageEvent, replaceHistory?: boolean, skipHistory?: boolean, openInNewTab?: boolean): void => {\n            if (openInNewTab) {\n                pageToUrl(event).then(u => {\n                    window.open(u, \"_blank\");\n                });\n                return;\n            }\n            component.value = null;\n            nextTick(() => {\n                let _isPageEditorComponent, _isAdminComponent, _component, _componentSettings;\n                if (event.page == \"NotFound\") {\n                    _isAdminComponent = false;\n                    _component = \"NotFound\";\n                } else if (event.page == \"PageNotFound\") {\n                    _isAdminComponent = false;\n                    _component = \"PageNotFound\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"Offline\") {\n                    _isAdminComponent = false;\n                    _component = \"Offline\";\n                } else if (event.page == \"AccessDenied\") {\n                    _isAdminComponent = false;\n                    _component = \"AccessDenied\";\n                } else if (event.page == \"Error\") {\n                    _isAdminComponent = false;\n                    _component = \"Error\";\n                } else if (event.page == \"SessionExpired\") {\n                    _isAdminComponent = false;\n                    _component = \"SessionExpired\";\n                } else if (event.page == \"Index\" || event.page == \"IndexPage\") {\n                    if (isPublicAreaEnabled.value === false || isAdminComponent.value === true) {\n                        getUrl(\"index\").then(u => {\n                            window.location = u as any; // eslint-disable-line @typescript-eslint/no-explicit-any\n                        });\n                        return;\n                    } else if (isPublicAreaEnabled.value === undefined) {\n                        if (tenantDataPromise.value == null) {\n                            debugger;\n                        }\n                        let unwatch: null | ReturnType<typeof watch> = null;\n                        unwatch = watch(\n                            () => isPublicAreaEnabled.value,\n                            () => {\n                                changePage(event, replaceHistory, skipHistory);\n                                if ((unwatch as unknown) != null) {\n                                    unwatch!();\n                                }\n                            },\n                        );\n                        return;\n                    } else {\n                        _isAdminComponent = false;\n                        _component = \"IndexPage\";\n                    }\n                } else if (event.page == \"Directory\" || event.page == \"DirectoryPage\") {\n                    _isAdminComponent = false;\n                    _component = \"DirectoryPage\";\n                } else if (event.page == \"Page\" || event.page == \"PagePage\") {\n                    if (event.settings?.adminReview) {\n                        _isAdminComponent = true;\n                    } else {\n                        _isAdminComponent = false;\n                    }\n                    _componentSettings = event.settings;\n                    _component = \"PagePage\";\n                } else if (event.page == \"PageResumeFailure\") {\n                    _componentSettings = event.settings;\n                    _component = \"PageResumeFailure\";\n                } else if (event.page == \"FailedPaymentResume\") {\n                    _componentSettings = event.settings;\n                    _component = \"FailedPaymentResume\";\n                } else if (event.page == \"Admin\") {\n                    if (isAdminAreaEnabled.value === false || isAdminComponent.value === false) {\n                        getUrl(\"admin\").then(u => {\n                            window.location = u as any; // eslint-disable-line @typescript-eslint/no-explicit-any\n                        });\n                        return;\n                    } else if (isAdminAreaEnabled.value === undefined) {\n                        if (tenantDataPromise.value == null) {\n                            debugger;\n                        }\n                        let unwatch: null | ReturnType<typeof watch> = null;\n                        unwatch = watch(\n                            () => isPublicAreaEnabled.value,\n                            () => {\n                                changePage(event, replaceHistory, skipHistory);\n                                if ((unwatch as unknown) != null) {\n                                    unwatch!();\n                                }\n                            },\n                        );\n                        return;\n                    } else {\n                        _isAdminComponent = true;\n                        _component = \"Admin\";\n                    }\n                } else if (event.page == \"AdminSearch\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminSearch\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"AdminTasksIndex\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminTasksIndex\";\n                } else if (event.page == \"AdminPage\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminPage\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"AdminPageNew\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminPageNew\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"AdminPageEdit\") {\n                    _isAdminComponent = true;\n                    _isPageEditorComponent = true;\n                    _component = \"AdminPageEdit\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"AdminPageDiscontinue\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminPageDiscontinue\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"AdminPageTransfer\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminPageTransfer\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"AdminDataSources\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminDataSources\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"AdminAddressBook\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminAddressBook\";\n                } else if (event.page == \"AdminGuidedSearch\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminGuidedSearch\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"AdminFeatureFlags\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminFeatureFlags\";\n                } else if (event.page == \"AdminTenantManagementIndex\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminTenantManagementIndex\";\n                } else if (event.page == \"AdminTenantManagementNew\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminTenantManagementNew\";\n                } else if (event.page == \"AdminTenantManagementEdit\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminTenantManagementEdit\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"AdminFormImport\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminFormImport\";\n                } else if (event.page == \"AdminWidget\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminWidget\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"AdminUserManagementUsers\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminUserManagementUsers\";\n                } else if (event.page == \"AdminUserManagementGroups\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminUserManagementGroups\";\n                } else if (event.page == \"AdminStats\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminStats\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"AdminBilling\") {\n                    _isAdminComponent = true;\n                    _component = \"AdminBilling\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"MultiFactorAuthenticationIndex\") {\n                    _isAdminComponent = false;\n                    _component = \"MultiFactorAuthenticationIndex\";\n                } else if (event.page == \"MultiFactorAuthenticationEdit\") {\n                    _isAdminComponent = false;\n                    _component = \"MultiFactorAuthenticationEdit\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"MultiFactorAuthenticationGenerateToken\") {\n                    _isAdminComponent = false;\n                    _component = \"MultiFactorAuthenticationVerifyToken\";\n                    _componentSettings = event.settings;\n                } else if (event.page == \"MultiFactorAuthenticationVerifyToken\") {\n                    _isAdminComponent = false;\n                    _component = \"MultiFactorAuthenticationVerifyToken\";\n                    _componentSettings = event.settings;\n                }\n                if (!skipHistory) {\n                    pushHistoryState(_component, _componentSettings, replaceHistory ?? false);\n                }\n                componentSettings.value = _componentSettings;\n                component.value = _component;\n                isAdminComponent.value = _isAdminComponent ?? false;\n                isPageEditorComponent.value = _isPageEditorComponent ?? false;\n                updateDocumentTitle();\n            });\n        };\n        provide(changePageInjectKey, changePage);\n        const updatePage = (event: ChangePageEvent[\"settings\"], replaceHistory?: boolean) => {\n            const componentSettings2 = { ...componentSettings.value, ...event };\n            pushHistoryState(component.value, componentSettings2, replaceHistory);\n            componentSettings.value = componentSettings2;\n            updateDocumentTitle();\n        };\n        const updateDocumentTitle = async () => {\n            if ([\"NotFound\", \"PageNotFound\", \"Error\", \"IndexPage\", \"DirectoryPage\", \"PagePage\"].includes(component.value as string)) {\n                let title = \"\";\n                switch (component.value) {\n                    case \"NotFound\":\n                    case \"PageNotFound\":\n                        title = \"Page Not Found\";\n                        break;\n                    case \"Error\":\n                        title = \"Error\";\n                        break;\n                    case \"IndexPage\":\n                        title = \"Home\";\n                        break;\n                    case \"DirectoryPage\":\n                        title = \"Directory\";\n                        break;\n                    case \"PagePage\":\n                        if (componentSettings.value?.title && !isAdminComponent.value) {\n                            title = componentSettings.value.title;\n                        } else {\n                            return;\n                        }\n                        break;\n                    default:\n                        return;\n                }\n                const displayLabel = await displayLabelCache.value[mainStore.tenantCode];\n                document.title = displayLabel ? `${title}: ${displayLabel}` : title;\n            }\n        };\n        provide(updatePageInjectKey, updatePage);\n        const pushHistoryState = async (component: string | null | undefined, componentSettings: ChangePageEvent[\"settings\"], replaceHistory?: boolean) => {\n            let url: string;\n            if (component == \"IndexPage\") {\n                url = await getUrl(\"index\");\n            } else if (component == \"DirectoryPage\") {\n                url = await getUrl(\"directory\");\n            } else if (component == \"Admin\") {\n                url = await getUrl(\"admin\");\n            } else if (component == \"AdminSearch\") {\n                url = await getUrl(\"adminSearch\", componentSettings);\n            } else if (component == \"AdminTasksIndex\") {\n                url = await getUrl(\"adminTasksIndex\");\n            } else if (component == \"AdminPage\") {\n                url = await getUrl(\"adminPageIndex\", componentSettings);\n            } else if (component == \"AdminPageEdit\") {\n                url = await getUrl(\"adminPageEdit\", componentSettings);\n            } else if (component == \"AdminPageDiscontinue\") {\n                url = await getUrl(\"adminPageDiscontinue\", componentSettings);\n            } else if (component == \"AdminPageTransfer\") {\n                url = await getUrl(\"adminPageTransfer\", componentSettings);\n            } else if (component == \"AdminPageNew\") {\n                url = await getUrl(\"adminPageNew\", componentSettings);\n            } else if (component == \"AdminDataSources\") {\n                url = await getUrl(\"adminDataSources\", componentSettings);\n            } else if (component == \"AdminAddressBook\") {\n                url = await getUrl(\"adminAddressBook\");\n            } else if (component == \"AdminGuidedSearch\") {\n                url = await getUrl(\"adminGuidedSearch\", componentSettings);\n            } else if (component == \"AdminFeatureFlags\") {\n                url = await getUrl(\"adminFeatureFlags\");\n            } else if (component == \"AdminTenantManagementIndex\") {\n                url = await getUrl(\"adminTenantManagementIndex\");\n            } else if (component == \"AdminTenantManagementNew\") {\n                url = await getUrl(\"adminTenantManagementNew\");\n            } else if (component == \"AdminTenantManagementEdit\") {\n                url = await getUrl(\"adminTenantManagementEdit\", componentSettings);\n            } else if (component == \"AdminFormImport\") {\n                url = await getUrl(\"adminFormImport\", componentSettings);\n            } else if (component == \"AdminWidget\") {\n                url = await getUrl(\"adminWidget\", componentSettings);\n            } else if (component == \"AdminUserManagementUsers\") {\n                url = await getUrl(\"adminUserManagementUsers\", componentSettings);\n            } else if (component == \"AdminUserManagementGroups\") {\n                url = await getUrl(\"adminUserManagementGroups\", componentSettings);\n            } else if (component == \"AdminStats\") {\n                url = await getUrl(\"adminStats\", componentSettings);\n            } else if (component == \"AdminBilling\") {\n                url = await getUrl(\"adminBilling\", componentSettings);\n            } else if (component == \"MultiFactorAuthenticationIndex\") {\n                url = await getUrl(\"multiFactorAuthenticationIndex\");\n            } else if (component == \"MultiFactorAuthenticationEdit\") {\n                url = await getUrl(\"multiFactorAuthenticationEdit\", componentSettings);\n            } else if (component == \"MultiFactorAuthenticationVerifyToken\") {\n                url = await getUrl(\"multiFactorAuthenticationVerifyToken\", componentSettings);\n            } else if (component == \"PageResumeFailure\") {\n                url = await getUrl(\"resumeDraftFailure\", componentSettings);\n            } else if (component == \"FailedPaymentResume\") {\n                url = await getUrl(\"failedPaymentResume\", componentSettings);\n            } else if (component == \"PagePage\") {\n                if (componentSettings?.adminPreview) {\n                    // TODO typing\n                    if ((componentSettings.form as unknown as Record<string, string>).formHash) {\n                        url = await getUrl(\"adminPagePreview\", componentSettings);\n                    } else {\n                        return; // Posted admin preview shouldn't have history changes\n                    }\n                } else if (componentSettings?.adminReview) {\n                    url = await getUrl(\"adminSearchReview\", componentSettings);\n                } else if (componentSettings?.formId) {\n                    url = await getUrl(\"draftGoto\", componentSettings);\n                } else if (componentSettings?.urlSlug) {\n                    url = await getUrl(componentSettings?.testMode ? \"testFormGotoSlug\" : \"formGotoSlug\", componentSettings);\n                } else {\n                    url = await getUrl(componentSettings?.testMode ? \"testFormGoto\" : \"formGoto\", componentSettings);\n                }\n            } else if (component == \"SessionExpired\" || component == \"NotFound\" || component == \"PageNotFound\" || component == \"Offline\" || component == \"AccessDenied\" || component == \"Error\") {\n                return; // these shouldn't have history changes\n            } else {\n                throw new Error(`Unknown component: ${component}`);\n            }\n            replaceHistory = replaceHistory || ((componentSettings && !!componentSettings.replaceHistory) ?? false);\n\n            if (url != window.location.pathname) {\n                const gaData = mainStore.tenantData.googleAnalyticsIds || [];\n                for (let index = 0; index <= gaData.length; index++) {\n                    if (!gaData[index]) continue;\n                    if (gaData[index] && gaData[index].startsWith(\"UA\")) {\n                        window.ga(`tracker${index}.set`, \"page\", url);\n                        window.ga(`tracker${index}.send`, \"pageview\");\n                    } else {\n                        window.gtag(\"event\", \"page_view\", {\n                            send_to: gaData[index],\n                            page_title: document.title,\n                            page_location: window.location.href,\n                            page_path: window.location.pathname,\n                        });\n                    }\n                }\n            }\n            currentUrl.value = url;\n            window.history[replaceHistory ? \"replaceState\" : \"pushState\"]({ component: component, settings: componentSettings }, null!, url);\n        };\n        const setupGoogleAnalytics = () => {\n            const gaData = mainStore.tenantData.googleAnalyticsIds || [];\n            if (!shouldSkipGaSetup) {\n                // Universal Analytics\n                (function (i, s, o, g, r, a, m) {\n                    //@ts-expect-error\n                    i[\"GoogleAnalyticsObject\"] = r;\n                    //@ts-expect-error\n                    (i[r] =\n                        //@ts-expect-error\n                        i[r] ||\n                        function () {\n                            //@ts-expect-error\n                            (i[r].q = i[r].q || []).push(arguments);\n                        }),\n                        //@ts-expect-error\n                        (i[r].l = 1 * (new Date() as unknown as number));\n                    //@ts-expect-error\n                    (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);\n                    //@ts-expect-error\n                    a.async = 1;\n                    //@ts-expect-error\n                    a.src = g;\n                    //@ts-expect-error\n                    m.parentNode.insertBefore(a, m);\n                })(window, document, \"script\", \"https://www.google-analytics.com/analytics.js\", \"ga\");\n\n                // Google Analytics 4\n                const scriptTag = document.createElement(\"script\");\n                const bodyScript = document.getElementsByTagName(\"script\")[0];\n                scriptTag.src = `https://www.googletagmanager.com/gtag/js?id=${gaData[0]}`;\n                scriptTag.async = true;\n                bodyScript.parentNode!.insertBefore(scriptTag, bodyScript);\n\n                window.dataLayer = window.dataLayer || [];\n                window.gtag = function () {\n                    window.dataLayer.push(arguments);\n                };\n                window.gtag(\"js\", new Date());\n            }\n            for (let index = 0; index < gaData.length; index++) {\n                if (!gaData[index]) continue;\n                if (gaData[index].startsWith(\"UA\")) {\n                    window.ga(\"create\", {\n                        trackingId: gaData[index],\n                        cookieDomain: \"auto\",\n                        cookieFlags: \"SameSite=None; Secure\",\n                        name: `tracker${index}`,\n                    });\n                    window.ga(`tracker${index}.set`, \"page\", window.location);\n                    window.ga(`tracker${index}.send`, \"pageview\");\n                } else {\n                    window.gtag(\"config\", gaData[index], {\n                        cookie_domain: \"auto\",\n                        cookie_flags: \"SameSite=None; Secure\",\n                    });\n                }\n            }\n        };\n        const applyHistoryState = (event: PopStateEvent) => {\n            const newState = event.state;\n            if (newState && newState.component) {\n                component.value = null;\n                changePage({ page: newState.component, settings: newState.settings }, false, true);\n            }\n        };\n        const showSearch = (data: { userData: UserData | null; tenantData: TenantData | null }) => {\n            showModalFunc(\n                NavSearchModal,\n                {\n                    data,\n                    searchText: searchText.value,\n                    updateSearchText(text: string) {\n                        searchText.value = text;\n                    },\n                },\n                {},\n                {\n                    styles: { \"align-items\": \"start\", top: \"25vh\" },\n                    \"overlay-style\": { \"background-color\": \"rgba(0, 0, 0, 0.9)\" },\n                    \"click-to-close\": false,\n                    \"esc-to-close\": false,\n                },\n            );\n        };\n        const toggleMobileNav = () => {\n            showMobileNav.value = !showMobileNav.value;\n            if (!showMobileNav.value) {\n                showAdminMenu.value = false;\n            }\n        };\n        const globalClick = (_: MouseEvent) => {\n            // hide dropdowns when clicking anywhere else on the page\n            var togglers = document.querySelectorAll(\".dropdown-toggle\");\n            if (togglers.length > 0) {\n                for (var i = 0; i < togglers.length; i++) {\n                    togglers[i].classList.remove(\"show\");\n                }\n            }\n        };\n        const loadUserData = async () => {\n            userDataPromise.value = getUrl(\"getUserData\")\n                .then(url => fetch(url, { cache: \"reload\" }))\n                .then(r => r.json());\n            const data = await userDataPromise.value;\n            const token = data.XsrfToken ?? data.XrsfToken; // TODO backward compatibility - remove after release // cspell:ignore xrsf\n            mainStore.xsrfToken = token;\n            mainStore.hasSession = data.HasSubmissions;\n            mainStore.activeFeatureFlagsPromise.resolve(data.ActiveFeatureFlags);\n            mainStore.setUserData(data);\n        };\n        provide(loadUserDataInjectKey, loadUserData);\n        const loadTenantData = () => {\n            return (tenantDataPromise.value = Promise.resolve(mainStore.tenantData));\n        };\n        const getLoginUrl = (mode?: string | number, returnUrl?: string) => {\n            return getUrl(\"login\", {\n                returnUrl: returnUrl || currentUrl.value || window.location.toString(),\n                mode,\n            });\n        };\n        provide(getLoginUrlInjectKey, getLoginUrl);\n        const getLogoutUrl = (returnUrl?: string) => {\n            return getUrl(\"logout\", {\n                returnUrl: returnUrl || currentUrl.value || window.location.toString(),\n            });\n        };\n        const getUrl = async (key: string, data?: { [key: string]: string | number | boolean | null | undefined }): Promise<string> => {\n            const tenantData = await tenantDataPromise.value!;\n            const isDefaultTenant = data == null || ((data.tenantUrlSlug == null || data.tenantUrlSlug == tenantData.tenantUrlSlug) && ((data.tenantCode || data.tenant) == null || (data.tenantCode || data.tenant) == tenantData.tenantCode));\n            const template = tenantData.urlTemplates[isDefaultTenant ? \"defaultTenant\" : \"tenanted\"][key];\n            if (template == null || template.template == null) throw new Error(isDefaultTenant + \",\" + key + \"\\n\" + JSON.stringify(template) + \"\\n\" + JSON.stringify(tenantData.urlTemplates));\n            let urlData = new URL(template.template, window.location.href);\n            let url = urlData.pathname;\n            let urlParamsFlip = Array.from(urlData.searchParams.entries()).reduce(\n                (a, [k, v]) => {\n                    a[v] = k;\n                    return a;\n                },\n                {} as Record<string, string>,\n            );\n            const templateParamMap = Object.keys(template)\n                .filter(i => i != \"template\")\n                .reduce(\n                    (a, c) => {\n                        a[c] = template[c];\n                        return a;\n                    },\n                    {} as Record<string, string>,\n                );\n            var queryString = new URLSearchParams();\n            data = data || {};\n            //if (isDefaultTenant) {\n            //    data.tenantUrlSlug = null;\n            //    data.tenantCode = null;\n            //    data.tenant = null;\n            //} else {\n            if (\"tenantUrlSlug\" in template) {\n                if (data.tenantUrlSlug) {\n                    // OK\n                } else if (data.tenantCode) {\n                    data.tenantUrlSlug = await mainStore.getTenantUrlSlug([data.tenantCode as string])[data.tenantCode as string];\n                } else if (data.tenant) {\n                    //debugger;\n                    console.trace(\"Tenant\"); //To be migrated\n                    data.tenantUrlSlug = await mainStore.getTenantUrlSlug([data.tenant as string])[data.tenant as string];\n                } else {\n                    data.tenantUrlSlug = tenantData.tenantUrlSlug;\n                }\n            }\n            //}\n            if (\"areaUrlSlug\" in template) {\n                if (data.areaUrlSlug) {\n                    // OK\n                } else if (data.areaCode) {\n                    data.areaUrlSlug = await mainStore.getTenantUrlSlug([data.areaCode as string])[data.areaCode as string];\n                } else if (data.area) {\n                    debugger;\n                    console.trace(\"Area\"); //To be migrated\n                    data.areaUrlSlug = await mainStore.getTenantUrlSlug([data.area as string])[data.area as string];\n                } else {\n                    data.areaUrlSlug = data.tenantUrlSlug;\n                }\n            }\n            //if (key == \"siteDesignIndexStyles\") {\n            //    debugger;\n            //}\n            Object.keys(data).forEach(key => {\n                if (template[key]) {\n                    if (url.includes(template[key])) {\n                        url = url.split(template[key]).join(encodeURIComponent(data![key] != null ? data![key]! : \"\")); // replace all\n                    } else if (data![key] != null && data![key] !== \"\") {\n                        queryString.append(urlParamsFlip[templateParamMap[key]], data![key]!.toString());\n                        //} else {\n                        //    debugger;\n                    }\n                    //} else {\n                    //    debugger;\n                }\n            });\n            if (Array.from(queryString.keys()).length > 0) {\n                url = url + \"?\" + queryString.toString();\n            }\n            return new URL(url, urlData).href;\n        };\n        const setComponentFromUrl = async () => {\n            const extraDataElement = document.getElementById(\"extraData\");\n            if (extraDataElement != null) {\n                const extraDataKey = extraDataElement.dataset[\"extradataKey\"];\n                if (extraDataKey != null) {\n                    if (extraDataKey == \"NotFound\" || extraDataKey == \"PageNotFound\" || extraDataKey == \"Error\" || extraDataKey == \"Offline\" || extraDataKey == \"AccessDenied\") {\n                        changePage({ page: extraDataKey }, true);\n                        return;\n                    }\n                }\n            }\n            const tenantData = await tenantDataPromise.value!;\n            function escapeRegExp(string: string) {\n                return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"); // $& means the whole matched string\n            }\n            function templatesToRegex(key: string) {\n                return [templateToRegex(\"defaultTenant\", key), templateToRegex(\"tenanted\", key)];\n            }\n            function templateToRegex(type: keyof TenantData[\"urlTemplates\"], key: string) {\n                const templateData = tenantData!.urlTemplates[type][key];\n                const partKeys = Object.keys(templateData).filter(i => i != \"template\");\n                const partFlip = partKeys.reduce(\n                    (a, c) => {\n                        a[templateData[c]] = c;\n                        return a;\n                    },\n                    {} as Record<string, string>,\n                );\n                if (templateData == null) throw new Error(type + \",\" + key + \"\\n\" + JSON.stringify(tenantData!.urlTemplates));\n                const templateUrl = new URL(templateData.template, window.location.href);\n                const templateUrlWithoutQueryString = templateUrl.pathname;\n                const templateQueryStringKeys = Array.from(templateUrl.searchParams.entries()).reduce(\n                    (r, [k, v]) => {\n                        //if (k != partFlip[v]) { debugger;}\n                        r[k] = partFlip[v];\n                        return r;\n                    },\n                    {} as Record<string, string>,\n                );\n                //const templateQueryString = templateUrl.searchParams;\n                //const templateFixedQueryString = new URLSearchParams();\n                //const templateQueryStringKeys = [];\n                //for(const key in templateQueryString.keys()) {\n                //    if (partKeys.includes(s)) {\n                //        templateQueryStringKeys.push(key);\n                //    } else {\n                //        for(const v in templateQueryString.getAll()) {\n                //            templateFixedQueryString.append(key, v);\n                //        }\n                //    }\n                //}\n                //const templateFixedQueryStringStr = templateFixedQueryString.toString();\n                //if (templateFixedQueryStringStr != \"\") {\n                //    templateUrlWithoutQueryString = templateUrlWithoutQueryString + \"?\" + templateFixedQueryString;\n                //}\n                let regex = \"\";\n                const matches = [];\n                let lastIndex = 0;\n                if (partKeys.length > 0) {\n                    const partRegex = new RegExp(\n                        \"(.*?)(\" +\n                            partKeys\n                                .map(i => templateData[i])\n                                .map(escapeRegExp)\n                                .join(\"|\") +\n                            \")\",\n                        \"g\",\n                    );\n                    //if (key == \"adminDataSources\" && type == \"tenanted\") {\n                    //    console.trace(templateUrlWithoutQueryString);\n                    //    console.trace(partKeys);\n                    //    console.trace(partRegex);\n                    //}\n                    let match = null;\n                    let optional = 0;\n                    let first = 1;\n                    while ((match = partRegex.exec(templateUrlWithoutQueryString))) {\n                        let groupRegex = \"([^/=?]*)\";\n                        const part = partFlip[match[2]];\n                        if ((key == \"testFormGoto\" || key == \"formGoto\" || key == \"formGotoLegacy\") && part == \"formName\") {\n                            groupRegex = \"([a-zA-Z0-9]{8}(?:-[a-zA-Z0-9]{4}){3}-[a-zA-Z0-9]{12})\";\n                        }\n                        var prefix = match[1];\n                        if (first || (prefix != \"/\" && prefix != \"\" && prefix[0] != \"?\" && prefix[0] != \"&\")) {\n                            if (optional > 0) {\n                                debugger;\n                                throw new Error(\"TODO\");\n                            }\n                        } else {\n                            optional++;\n                            groupRegex = \"(?:\" + escapeRegExp(prefix) + \"(?:\" + groupRegex;\n                            prefix = \"\";\n                        }\n                        regex = regex + escapeRegExp(prefix) + groupRegex;\n                        matches.push(part);\n                        lastIndex = match.index + match[0].length;\n                        first = 0;\n                    }\n                    while (optional-- > 0) {\n                        if (lastIndex == templateUrlWithoutQueryString.length) {\n                            regex += \")?)?\";\n                        } else {\n                            regex += \"))\";\n                        }\n                    }\n                }\n                regex = regex + escapeRegExp(templateUrlWithoutQueryString.substring(lastIndex));\n                regex = \"^\" + regex + \"[/]?$\";\n                return { regex: new RegExp(regex, \"i\"), matches, queryStringMatches: templateQueryStringKeys };\n            }\n            var patterns = {\n                Preview: templatesToRegex(\"adminPreview\"),\n                Preview2: templatesToRegex(\"adminPagePreview\"),\n                Index: templatesToRegex(\"index\"),\n                Directory: templatesToRegex(\"directory\"),\n                Page: templatesToRegex(\"testFormGoto\"),\n                PageSlug: templatesToRegex(\"testFormGotoSlug\"),\n                PageResumeFailure: templatesToRegex(\"resumeDraftFailure\"),\n                FailedPaymentResume: templatesToRegex(\"failedPaymentResume\"),\n\n                PageLegacy: templatesToRegex(\"formGotoLegacy\"),\n                PageSlugLegacy: templatesToRegex(\"formGotoSlugLegacy\"),\n                Draft: templatesToRegex(\"draftGoto\"),\n                SubmitDraftSuccess: templatesToRegex(\"submitDraftSuccess\"),\n                Admin: templatesToRegex(\"admin\"),\n                AdminSearch: templatesToRegex(\"adminSearch\"),\n                AdminTasksIndex: templatesToRegex(\"adminTasksIndex\"),\n                AdminSearchReview: templatesToRegex(\"adminSearchReview\"),\n                AdminPage: templatesToRegex(\"adminPageIndex\"),\n                AdminPageEdit: templatesToRegex(\"adminPageEdit\"),\n                AdminPageNew: templatesToRegex(\"adminPageNew\"),\n                AdminPageDiscontinue: templatesToRegex(\"adminPageDiscontinue\"),\n                AdminPageTransfer: templatesToRegex(\"adminPageTransfer\"),\n                AdminDataSources: templatesToRegex(\"adminDataSources\"),\n                AdminAddressBook: templatesToRegex(\"adminAddressBook\"),\n                AdminGuidedSearch: templatesToRegex(\"adminGuidedSearch\"),\n                AdminFeatureFlags: templatesToRegex(\"adminFeatureFlags\"),\n                AdminTenantManagementIndex: templatesToRegex(\"adminTenantManagementIndex\"),\n                AdminTenantManagementNew: templatesToRegex(\"adminTenantManagementNew\"),\n                AdminTenantManagementEdit: templatesToRegex(\"adminTenantManagementEdit\"),\n                AdminFormImport: templatesToRegex(\"adminFormImport\"),\n                AdminWidget: templatesToRegex(\"adminWidget\"),\n                AdminUserManagementUsers: templatesToRegex(\"adminUserManagementUsers\"),\n                AdminUserManagementGroups: templatesToRegex(\"adminUserManagementGroups\"),\n                AdminStats: templatesToRegex(\"adminStats\"),\n                AdminBilling: templatesToRegex(\"adminBilling\"),\n                MultiFactorAuthenticationIndex: templatesToRegex(\"multiFactorAuthenticationIndex\"),\n                MultiFactorAuthenticationEdit: templatesToRegex(\"multiFactorAuthenticationEdit\"),\n                MultiFactorAuthenticationVerifyToken: templatesToRegex(\"multiFactorAuthenticationVerifyToken\"),\n            };\n            let urlKey = null;\n            let urlData = null! as Record<string, string | null>;\n            const url = window.location.pathname;\n            const searchParams = new URLSearchParams(window.location.search);\n            ([\"AdminPageEdit\", \"AdminStats\", \"AdminTenantManagementIndex\", \"Page\", \"PageLegacy\"] as (keyof typeof patterns)[]).concat(Object.keys(patterns) as (keyof typeof patterns)[]).some(k => {\n                let urlMatch = null! as RegExpExecArray;\n                for (const pattern of patterns[k]) {\n                    const { regex, queryStringMatches, matches } = pattern;\n                    if ((urlMatch = regex.exec(url)!)) {\n                        urlData = {};\n                        matches.forEach((v, k) => {\n                            const m = urlMatch![k + 1];\n                            urlData[v] = m == null ? null : decodeURIComponent(m);\n                        });\n                        Object.entries(queryStringMatches).forEach(([k, v]) => {\n                            if (searchParams.has(k)) {\n                                urlData[v] = searchParams.get(k);\n                            }\n                        });\n                        urlKey = k;\n                    }\n                }\n                return !!urlMatch;\n            });\n            if (urlKey == \"AdminPageEdit\") {\n                const extraDataElement = document.getElementById(\"extraData\");\n                if (extraDataElement != null && extraDataElement.dataset[\"extradataKey\"] == \"AdminPagePreview\") {\n                    urlKey = \"Preview\";\n                }\n            }\n            if (urlKey == \"Preview\" || urlKey == \"Preview2\") {\n                changePage({ page: \"Page\", settings: { adminPreview: true } }, true, true);\n            } else if (urlKey == \"AdminSearchReview\") {\n                changePage({ page: \"Page\", settings: { adminReview: true, ...urlData } }, true, true);\n            } else {\n                if (urlKey == \"PageSlug\" && urlData.page == null) {\n                    if ((await mainStore.getTenantCodeByUrlSlug([urlData.areaUrlSlug!])[urlData.areaUrlSlug!]) == null) {\n                        // area token isn't an area URL slug, so probably actually a legacy page slug URL\n                        urlData.page = urlData.urlSlug;\n                        urlData.urlSlug = urlData.areaUrlSlug;\n                        urlData.areaUrlSlug = urlData.tenantUrlSlug;\n                    }\n                } else if (urlKey == \"Page\" && urlData.page == null) {\n                    if ((await mainStore.getTenantCodeByUrlSlug([urlData.areaUrlSlug!])[urlData.areaUrlSlug!]) == null) {\n                        // area token isn't an area URL slug, so probably actually a legacy page slug URL\n                        urlData.page = urlData.formName;\n                        urlData.urlSlug = urlData.areaUrlSlug;\n                        urlData.areaUrlSlug = urlData.tenantUrlSlug;\n                    }\n                } else if (urlKey == \"PageLegacy\") {\n                    if (!/^(0|[0-9A-F]{8}[-]?(?:[0-9A-F]{4}[-]?){3}[0-9A-F]{12})$/.test(urlData.formVersion!)) {\n                        urlKey = \"PageSlug\";\n                        urlData.urlSlug = urlData.formVersion;\n                        urlData.areaUrlSlug = urlData.formName;\n                        urlData.formName = null;\n                        urlData.formVersion = null;\n                        if (searchParams.has(\"testMode\")) {\n                            urlData.testMode = searchParams.get(\"testMode\");\n                        }\n                        if (searchParams.has(\"formHash\")) {\n                            urlData.formHash = searchParams.get(\"formHash\");\n                        }\n                    } else {\n                        urlKey = \"Page\";\n                        urlData.areaUrlSlug = urlData.tenantUrlSlug;\n                    }\n                } else if (urlKey == \"PageSlugLegacy\") {\n                    urlKey = \"PageSlug\";\n                    urlData.areaUrlSlug = urlData.tenantUrlSlug;\n                }\n                urlKey = urlKey == \"Draft\" || urlKey == \"PageSlug\" || urlKey == \"SubmitDraftSuccess\" ? \"Page\" : urlKey;\n                if (urlKey == null) {\n                    //throw new Error(\"A: [\" + patterns.Admin[0].regex + \"] [\" + JSON.stringify(patterns.Admin[0]) + \"] [\" + url + \"][\" + patterns.Admin[0].regex.test(url) + \"]\");\n                    urlKey = \"NotFound\";\n                    urlData = {};\n                }\n                changePage({ page: urlKey, settings: urlData }, true, true);\n            }\n        };\n\n        document.getElementsByTagName(\"body\")[0].classList.add(\"public-page-body\");\n        mainStore.urlFetcher = getUrl.bind(this);\n        loadTenantData();\n        tenantDataPromise.value!.then(data => {\n            displayLabelCache.value[data.tenantCode] = Promise.resolve(data.tenantDisplayLabel);\n        });\n        setupGoogleAnalytics();\n        setComponentFromUrl().then(() => {\n            if (userDataPromise.value == null) {\n                const isLoggedIn = document.cookie.split(\";\").some(item => item.trim().startsWith(\"DF_LoggedIn=\"));\n                if (isLoggedIn) {\n                    loadUserData();\n                } else {\n                    const userDataString = document.getElementById(\"anonUserData\")!.innerHTML;\n                    let userData = null;\n                    if (userDataString == \"/*6eb984f0-9ecc-4224-ac82-d82eee040f8e*/\") {\n                        userData = {}; // TODO\n                    } else {\n                        userData = JSON.parse(userDataString);\n                    }\n                    userDataPromise.value = Promise.resolve(userData);\n                    mainStore.activeFeatureFlagsPromise.resolve(userData.ActiveFeatureFlags);\n                    mainStore.setUserData(userData);\n                }\n            }\n        });\n        window.addEventListener(\"popstate\", applyHistoryState);\n        window.addEventListener(\n            \"keypress\",\n            (event: KeyboardEvent) => {\n                if ((event.target as HTMLElement).nodeName == \"A\" && ((event.code != null ? event.code == \"Enter\" : event.keyCode == 13) || (event.code != null ? event.code == \"Space\" : event.keyCode == 32))) {\n                    (event.target as HTMLElement).click();\n                }\n            },\n            { passive: true },\n        );\n\n        return {\n            //state\n            component,\n            componentSettings,\n            currentUrl,\n            displayLabelCache,\n            isAdminAreaEnabled,\n            isAdminComponent,\n            isPageEditorComponent,\n            isPublicAreaEnabled,\n            loaded,\n            searchRootTenant,\n            searchTextDebounced,\n            searchVisible,\n            shouldLoadSiteCss,\n            showAdminMenu,\n            showMobileNav,\n            tenantDataPromise,\n            userDataPromise,\n\n            // computed\n            allLoaded,\n            dataPromise,\n            needsLogin,\n            hasVersionMismatch,\n            siteDesignIndexStylesUrl,\n            siteDesignStylesUrl,\n            sessionTimeout,\n            showLoginExpiringBanner,\n            isLoggedIn,\n            hasSession,\n            //relativeSessionTimeout,\n\n            // async computed\n            customFooterHtml,\n            hasBillingPageFeature,\n            hasShowDataSourceTestModeSyncFeature,\n            hasMultiFactorAuthenticationFeature,\n            hasPageworkflowFeature,\n            hasTenantStatsFeature,\n            isUserLoginDisabled,\n            hasDeploymentToggle,\n            hasOverrideableNow,\n            overriddenNow,\n            isBridgeBrandEnabled,\n\n            // Methods\n            changePage,\n            setLoaded,\n            ensureSiteCssLoaded,\n            getLoginUrl,\n            getLogoutUrl,\n            getUrl,\n            globalClick,\n            loadUserData,\n            showSearch,\n            toggleDropdown,\n            toggleMobileNav,\n            updatePage,\n        };\n    },\n    components: {\n        SessionExpiringModal,\n        LoadingWheel,\n        Promised,\n        ModalsContainer,\n        VersionMismatchBanner,\n        LiveRegion,\n        IndexPage,\n        Offline: () => ({\n            loading: LoadingPlaceholder,\n            component: import(/* webpackChunkName: \"PageHttpStatus\", webpackPrefetch: true */ \"./public/pages/Offline.3.vue\"),\n        }),\n        Error: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"PageHttpStatus\" */ \"./public/pages/Error.3.vue\"),\n        }),\n        NotFound: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"PageHttpStatus\" */ \"./public/pages/NotFound.3.vue\"),\n        }),\n        PageNotFound: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"PageHttpStatus\" */ \"./public/pages/PageNotFound.3.vue\"),\n        }),\n        AccessDenied: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"PageHttpStatus\" */ \"./public/pages/AccessDenied.3.vue\"),\n        }),\n        SessionExpired: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"PageHttpStatus\" */ \"./public/pages/SessionExpired.3.vue\"),\n        }),\n        DirectoryPage: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"PageDirectory\" */ \"./public/pages/Directory.3.vue\"),\n        }),\n        PagePage: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"PagePage\" */ \"./public/pages/Page.3.vue\"),\n        }),\n        PageResumeFailure: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"PagePage\" */ \"./public/pages/PageResumeFailure.3.vue\"),\n        }),\n        Admin: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/Index.3.vue\"),\n        }),\n        AdminSearch: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/Search/Search.3.vue\"),\n        }),\n        AdminTasksIndex: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/Tasks/Index.3.vue\"),\n        }),\n        AdminDataSources: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/DataSources/DataSources.3.vue\"),\n        }),\n        AdminAddressBook: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/AddressBook/AddressBook.3.vue\"),\n        }),\n        AdminGuidedSearch: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/GuidedSearch/GuidedSearch.3.vue\"),\n        }),\n        AdminPage: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"AdminPage\" */ \"./admin/pages/Page/Index.3.vue\"),\n        }),\n        AdminPageNew: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"AdminPage\" */ \"./admin/pages/Page/New.3.vue\"),\n        }),\n        AdminPageEdit: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"AdminPage\" */ \"./admin/pages/Page/Edit.3.vue\"),\n        }),\n        AdminPageDiscontinue: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"AdminPage\" */ \"./admin/pages/Page/Discontinue.3.vue\"),\n        }),\n        AdminPageTransfer: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"AdminPage\" */ \"./admin/pages/Page/Transfer.3.vue\"),\n        }),\n        AdminFeatureFlags: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/FeatureFlags/FeatureFlags.3.vue\"),\n        }),\n        AdminTenantManagementIndex: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/Tenant/Index.3.vue\"),\n        }),\n        AdminTenantManagementNew: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/Tenant/New.3.vue\"),\n        }),\n        AdminTenantManagementEdit: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/Tenant/Edit.3.vue\"),\n        }),\n        AdminFormImport: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/FormImport/FormImport.3.vue\"),\n        }),\n        AdminWidget: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/Widget/Widget.3.vue\"),\n        }),\n        AdminUserManagementUsers: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/UserManagement/Users.3.vue\"),\n        }),\n        AdminUserManagementGroups: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/UserManagement/Groups.3.vue\"),\n        }),\n        AdminStats: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/Stats/Stats.3.vue\"),\n        }),\n        AdminBilling: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Admin\" */ \"./admin/pages/Stats/Billing.3.vue\"),\n        }),\n        MultiFactorAuthenticationIndex: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Wisconsin\" */ \"./wi/public/pages/MultiFactorAuthentication/Index.3.vue\"),\n        }),\n        MultiFactorAuthenticationEdit: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Wisconsin\" */ \"./wi/public/pages/MultiFactorAuthentication/Edit.3.vue\"),\n        }),\n        MultiFactorAuthenticationVerifyToken: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"Wisconsin\" */ \"./wi/public/pages/MultiFactorAuthentication/VerifyToken.3.vue\"),\n        }),\n        nonIndexStyles: defineAsyncComponent({\n            loader: () => import(/* webpackChunkName: \"nonIndexStyles\", webpackPrefetch: true */ \"./lib/nonIndexStyles.3.vue\"),\n        }),\n        AdminStyles: defineAsyncComponent({\n            loader: () => import(/* webpackChunkName: \"AdminStyles\", webpackPrefetch: true */ \"./admin/lib/AdminStyles.3.vue\"),\n        }),\n        FailedPaymentResume: defineAsyncComponent({\n            loadingComponent: LoadingPlaceholder,\n            loader: () => import(/* webpackChunkName: \"PagePage\" */ \"./public/pages/FailedPaymentResume.3.vue\"),\n        }),\n    },\n});\n</script>\n","<style scoped>\n::v-deep(.modal-container) {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n}\n::v-deep(.modal-content) {\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    /* margin: 0 1rem; */\n    padding: 0.3rem;\n    border: 1px solid #e2e8f0;\n    border-radius: 0.25rem;\n    background: #fff;\n    /*transform: scale(0.95);*/\n    width: min(90vw, 600px);\n}\n/*\n::v-deep(.modal-header) {\n    font-size: 1.5rem;\n    font-weight: 700;\n}\n*/\n.dark-mode div::v-deep(.modal-content) {\n    border-color: #2d3748;\n    background-color: #1a202c;\n}\n</style>\n<template>\n    <vue-final-modal v-slot=\"{ close, params }\" :focus-retain=\"false\" z-index=\"1002\" v-bind=\"$attrs\" classes=\"modal-container\">\n        <component :is=\"params.innerComponent\" v-bind=\"params.innerParams\" @close=\"close\"></component>\n    </vue-final-modal>\n</template>\n<script lang=\"ts\">\nimport { defineComponent } from \"vue\";\nexport default defineComponent({\n    props: [\"innerComponent\", \"innerParams\"],\n    inheritAttrs: false,\n});\n</script>\n","\n      import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!../node_modules/vue-loader/dist/stylePostLoader.js!../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./ModalWrapper.3.vue?vue&type=style&index=0&id=9e77df10&scoped=true&lang=css\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!../node_modules/vue-loader/dist/stylePostLoader.js!../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./ModalWrapper.3.vue?vue&type=style&index=0&id=9e77df10&scoped=true&lang=css\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render } from \"./ModalWrapper.3.vue?vue&type=template&id=9e77df10&scoped=true&ts=true\"\nimport script from \"./ModalWrapper.3.vue?vue&type=script&lang=ts\"\nexport * from \"./ModalWrapper.3.vue?vue&type=script&lang=ts\"\n\nimport \"./ModalWrapper.3.vue?vue&type=style&index=0&id=9e77df10&scoped=true&lang=css\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9e77df10\"]])\n\nexport default __exports__","<style>\n@media (max-width: 767px) {\n    .dropdown-menu {\n        position: static;\n    }\n}\n.previous-question {\n    background: none;\n    width: 100%;\n    display: block;\n    border-bottom: none;\n    border-left: none;\n    border-right: none;\n}\n.dropdown-menu.download-menu {\n    position: absolute;\n    padding: 5px;\n    min-width: 0;\n    max-width: 320px;\n    right: 0;\n    left: auto;\n}\n.dropdown-menu.download-menu a {\n    display: block;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\n.returning_user .nav-link {\n    display: flex;\n    align-items: center;\n    font-size: 0.9rem;\n    padding: 0.5rem 0.75rem;\n}\n.tab-content {\n    padding-left: 0;\n    padding-right: 0;\n}\n.help-block {\n    padding: 0.5rem;\n}\n.testMode {\n    background: #222;\n    color: #fff;\n    text-align: center;\n}\n</style>\n<template>\n    <Promised :promise=\"indexDataPromise!\" :pendingDelay=\"200\" v-slot:combined=\"{ isPending, isDelayElapsed, data }\">\n        <LoadingWheel :width=\"100\" v-if=\"isPending && data == null\" />\n        <template v-else>\n            <div class=\"index-container\" :class=\"{ 'logged-in': showSideBar }\">\n                <div class=\"returning_user\" v-show=\"showSideBar\" v-if=\"showSideBar\">\n                    <div role=\"complementary\" aria-labelledby=\"MyFormsHeading\">\n                        <div class=\"returning_user_header\">\n                            <h1 id=\"MyFormsHeading\">\n                                My Forms\n                                <template v-if=\"isPending && isDelayElapsed\">\n                                    <LoadingWheel :width=\"24\" style=\"display: inline-block\" />\n                                </template>\n                            </h1>\n                        </div>\n                        <div class=\"returning_user_body\">\n                            <ul class=\"nav nav-tabs\">\n                                <li @click=\"tab = 'to-do'\" class=\"nav-item\">\n                                    <a :class=\"{ active: tab == 'to-do' || tab == null }\" class=\"todo_forms_tab nav-link\" tabindex=\"0\" role=\"button\">\n                                        To Do\n                                        <span class=\"badge badge-light\" v-if=\"activeForms.length > 0\">{{ activeForms.length }}</span>\n                                    </a>\n                                </li>\n                                <li @click=\"tab = 'in-progress'\" class=\"nav-item\">\n                                    <a :class=\"{ active: tab == 'in-progress' }\" class=\"draft_forms_tab nav-link\" tabindex=\"0\" role=\"button\">\n                                        In Progress\n                                        <span class=\"badge badge-light\" v-if=\"inProgressForms.length > 0\">{{ inProgressForms.length }}</span>\n                                    </a>\n                                </li>\n                                <li @click=\"tab = 'done'\" class=\"nav-item\">\n                                    <a :class=\"{ active: tab == 'done' }\" class=\"submitted_forms_tab nav-link\" tabindex=\"0\" role=\"button\">Done</a>\n                                </li>\n                            </ul>\n                            <div class=\"tab-content\">\n                                <!-- To Do tab -->\n                                <div id=\"ToDoTab\" class=\"tab-pane fade show\" :class=\"{ active: tab == 'to-do' || tab == null, show: tab == 'to-do' || tab == null }\">\n                                    <ul class=\"returning_user_list_of_forms\" v-show=\"activeForms.length > 0\">\n                                        <li v-for=\"(item, itemIndex) in activeFormsSortedByLastUpdated\">\n                                            <div>\n                                                {{ item.effectiveDisplayLabel() }}\n                                            </div>\n                                            <ul v-if=\"item.visibleActiveTasks().length > 1\">\n                                                <li v-for=\"task in item.visibleActiveTasks()\">{{ task.DisplayLabel }}</li>\n                                            </ul>\n                                            <span class=\"submitted_timestamp\" title=\"Last Updated\">{{ localeDateTime(item.lastUpdated?.toISOString()) }}</span>\n                                            <div class=\"returning_user_actions\">\n                                                <Promised :promise=\"gotoDraftUrl(item)\" v-slot:combined=\"{ data: url }\">\n                                                    <a class=\"btn btn-xs btn-link\" :id=\"'gotoBtn_ToDo_' + itemIndex\" tabindex=\"0\" role=\"button\" v-show=\"url != null && !item.isDiscontinued && !item.isExpired\" @click.prevent=\"gotoDraft(item)\" :href=\"url\">\n                                                        Continue<span class=\"sr-only\"> {{ item.effectiveDisplayLabel() }}</span>\n                                                    </a>\n                                                </Promised>\n                                                <a class=\"btn btn-xs btn-link\" tabindex=\"0\" role=\"button\" :id=\"'deleteBtn_' + itemIndex\" @click.prevent=\"confirmDelete(item, $event)\" v-if=\"isDeletable(item)\">\n                                                    Delete<span class=\"sr-only\"> {{ item.effectiveDisplayLabel() }}</span>\n                                                </a>\n                                            </div>\n                                            <div v-show=\"item.isExpired\" class=\"my-forms-tag unavailable\">This form is no longer available.</div>\n                                            <div v-show=\"item.isDiscontinued\" class=\"my-forms-tag unavailable\">This form has been discontinued.</div>\n                                            <div v-show=\"item.isReturned\" class=\"my-forms-tag returned\">This form was returned.</div>\n                                            <span v-if=\"!item.isReturned && !item.isDiscontinued && !item.isExpired && item.visibleActiveTasks().length == 1\" class=\"my-forms-tag in-progress\">{{ item.visibleActiveTasks()[0].DisplayLabel }}</span>\n                                            <div v-if=\"item.testMode\" class=\"my-forms-tag testMode\">Test Submission</div>\n                                        </li>\n                                    </ul>\n                                    <p class=\"help-block\" v-show=\"activeForms.length == 0\">You do not currently have any items to do.</p>\n                                </div>\n                                <!-- In Progress tab -->\n                                <!-- TODO dedup these tabs -->\n                                <div id=\"InProgressTab\" class=\"tab-pane fade show\" :class=\"{ active: tab == 'in-progress', show: tab == 'in-progress' }\">\n                                    <ul class=\"returning_user_list_of_forms\" v-show=\"inProgressForms.length > 0\">\n                                        <li v-for=\"item in inProgressFormsSortedBySubmitDate\">\n                                            <div>\n                                                {{ item.effectiveDisplayLabel() }}\n                                            </div>\n                                            <ul v-if=\"item.visibleActiveTasks().length > 1\">\n                                                <li v-for=\"task in item.visibleActiveTasks()\">{{ task.DisplayLabel }}</li>\n                                            </ul>\n                                            <span class=\"submitted_timestamp\" title=\"Submitted Date\">{{ localeDateTime(item.submitDate?.toISOString()) }}</span>\n                                            <div class=\"returning_user_actions\">\n                                                <div v-if=\"item.hasFileUploads || item.viewTypes.length > 1\" class=\"dropdown\">\n                                                    <a tabindex=\"0\" role=\"button\" class=\"dropdown-toggle btn btn-xs btn-link\" @click.prevent.stop=\"toggleDropdown($event)\" aria-haspopup=\"menu\" :aria-controls=\"`${item.id}_DownloadOptions`\">Download<span class=\"sr-only\"> Options</span></a>\n                                                    <div class=\"dropdown-menu download-menu\" role=\"menu\" :aria-label=\"`${item.publicDisplayLabel} Download Options`\" :id=\"`${item.id}_DownloadOptions`\">\n                                                        <template v-for=\"view in item.viewTypes\">\n                                                            <Promised :promise=\"gotoViewUrl(item, view)\" v-slot:combined=\"{ data: url }\">\n                                                                <a v-show=\"url != null\" class=\"btn btn-xs btn-link\" tabindex=\"0\" role=\"menuitem\" @click.prevent=\"gotoView(item, view)\" :href=\"url\" target=\"_blank\"><span class=\"sr-only\">Download </span>{{ view == \"Builtin\" || view == \"Default\" ? \"Submission\" : view }}</a>\n                                                            </Promised>\n                                                        </template>\n                                                        <Promised :promise=\"gotoViewAttachmentsUrl(item)\" v-slot:combined=\"{ data: url }\" v-if=\"item.hasFileUploads\">\n                                                            <a v-show=\"url != null\" class=\"btn btn-xs btn-link\" tabindex=\"0\" role=\"menuitem\" @click.prevent=\"gotoViewAttachments(item)\" :href=\"url\" target=\"_blank\"><span class=\"sr-only\">Download </span>Attached File(s)</a>\n                                                        </Promised>\n                                                        <Promised :promise=\"gotoViewAllDocumentsUrl(item)\" v-slot:combined=\"{ data: url }\" v-if=\"item.hasFileUploads || item.viewTypes.length > 1\">\n                                                            <a v-show=\"url != null\" class=\"btn btn-xs btn-link\" tabindex=\"0\" role=\"menuitem\" @click.prevent=\"gotoViewAllDocuments(item)\" :href=\"url\" target=\"_blank\"><span class=\"sr-only\">Download </span>All Downloads</a>\n                                                        </Promised>\n                                                    </div>\n                                                </div>\n                                                <div v-else>\n                                                    <template v-for=\"view in item.viewTypes\">\n                                                        <Promised :promise=\"gotoViewUrl(item, view)\" v-slot:combined=\"{ data: url }\">\n                                                            <a v-show=\"url != null\" class=\"btn btn-xs btn-link\" tabindex=\"0\" role=\"button\" @click.prevent=\"gotoView(item, view)\" :href=\"url\" target=\"_blank\"><span class=\"sr-only\">Download </span>{{ view == \"Builtin\" || view == \"Default\" ? \"Submission\" : view }}</a>\n                                                        </Promised>\n                                                    </template>\n                                                </div>\n                                            </div>\n                                            <span class=\"my-forms-tag in-progress\">{{ item.effectiveInProgressStatusLabel() }}</span>\n                                            <div v-if=\"item.testMode\" class=\"my-forms-tag testMode\">Test Submission</div>\n                                        </li>\n                                    </ul>\n                                    <p class=\"help-block\" v-show=\"inProgressForms.length == 0\">You do not currently have any items in progress.</p>\n                                </div>\n                                <!-- Done tab -->\n                                <div id=\"DoneTab\" class=\"tab-pane fade\" :class=\"{ active: tab == 'done', show: tab == 'done' }\">\n                                    <ul class=\"returning_user_list_of_forms\" v-show=\"submittedForms.length > 0\">\n                                        <li v-for=\"item in completedFormsSortedBySubmitDate\">\n                                            <div>\n                                                {{ item.effectiveDisplayLabel() }}\n                                            </div>\n                                            <span class=\"submitted_timestamp\" title=\"Submitted Date\">{{ localeDateTime(item.submitDate?.toISOString()) }}</span>\n                                            <div class=\"returning_user_actions\">\n                                                <div v-if=\"item.hasFileUploads || item.viewTypes.length > 1\" class=\"dropdown\">\n                                                    <a tabindex=\"0\" role=\"button\" class=\"dropdown-toggle btn btn-xs btn-link\" @click.prevent.stop=\"toggleDropdown($event)\" aria-haspopup=\"menu\" :aria-controls=\"`${item.id}_DownloadOptions`\">Download<span class=\"sr-only\"> Options</span></a>\n                                                    <div class=\"dropdown-menu download-menu\" role=\"menu\" :aria-label=\"`${item.publicDisplayLabel} Download Options`\" :id=\"`${item.id}_DownloadOptions`\">\n                                                        <template v-for=\"view in item.viewTypes\">\n                                                            <Promised :promise=\"gotoViewUrl(item, view)\" v-slot:combined=\"{ data: url }\">\n                                                                <a v-show=\"url != null\" class=\"btn btn-xs btn-link\" tabindex=\"0\" role=\"menuitem\" @click.prevent=\"gotoView(item, view)\" :href=\"url\" target=\"_blank\"><span class=\"sr-only\">Download </span>{{ view == \"Builtin\" || view == \"Default\" ? \"Submission\" : view }}</a>\n                                                            </Promised>\n                                                        </template>\n                                                        <Promised :promise=\"gotoViewAttachmentsUrl(item)\" v-slot:combined=\"{ data: url }\" v-if=\"item.hasFileUploads\">\n                                                            <a v-show=\"url != null\" class=\"btn btn-xs btn-link\" tabindex=\"0\" role=\"menuitem\" @click.prevent=\"gotoViewAttachments(item)\" :href=\"url\" target=\"_blank\"><span class=\"sr-only\">Download </span>Uploaded File(s)</a>\n                                                        </Promised>\n                                                        <Promised :promise=\"gotoViewAllDocumentsUrl(item)\" v-slot:combined=\"{ data: url }\" v-if=\"item.hasFileUploads || item.viewTypes.length > 1\">\n                                                            <a v-show=\"url != null\" class=\"btn btn-xs btn-link\" tabindex=\"0\" role=\"menuitem\" @click.prevent=\"gotoViewAllDocuments(item)\" :href=\"url\" target=\"_blank\"><span class=\"sr-only\">Download </span>All Downloads</a>\n                                                        </Promised>\n                                                    </div>\n                                                </div>\n                                                <div v-else>\n                                                    <template v-for=\"view in item.viewTypes\">\n                                                        <Promised :promise=\"gotoViewUrl(item, view)\" v-slot:combined=\"{ data: url }\">\n                                                            <a v-show=\"url != null\" class=\"btn btn-xs btn-link\" tabindex=\"0\" role=\"button\" @click.prevent=\"gotoView(item, view)\" :href=\"url\" target=\"_blank\"><span class=\"sr-only\">Download </span>{{ view == \"Builtin\" || view == \"Default\" ? \"Submission\" : view }}</a>\n                                                        </Promised>\n                                                    </template>\n                                                </div>\n                                            </div>\n                                            <span class=\"my-forms-tag done\">{{ item.effectiveDoneStatusLabel() }}</span>\n                                            <div v-if=\"item.testMode\" class=\"my-forms-tag testMode\">Test Submission</div>\n                                        </li>\n                                    </ul>\n                                    <p class=\"help-block\" v-show=\"completedForms.length == 0\">You do not currently have any completed items.</p>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"index-content\">\n                    <div class=\"container tile\">\n                        <div v-if=\"contentHtml\" v-html=\"contentHtml\" role=\"main\" aria-label=\"Home Page Content\"></div>\n                        <div v-if=\"!contentHtml\" role=\"main\" aria-label=\"Home Page Content\">\n                            <div class=\"text-center\">\n                                <div><img src=\"../../images/accessgov_empowered_homepage_logo.png\" class=\"index-logo\" alt=\"AccessGov: Empowered by Tyler Technologies\" /></div>\n                            </div>\n                            <br />\n                            <div class=\"text-center\">\n                                <p class=\"lead\">Use the search bar, guided search, or directory to interact with government-related applications and content.</p>\n                            </div>\n                        </div>\n                        <br />\n                        <div class=\"text-center\" id=\"questionsDiv\" v-if=\"questionRootNode != null && currentQuestion != null\" role=\"complementary\" aria-label=\"Guided Search\">\n                            <!--\n                            @*<div data-bind=\"visible: false\">\n                                <LoadingWheel :width=\"100\" />\n                            </div>\n                            <div style=\"display: none;\" data-bind=\"visible: true\">*@\n                            -->\n                            <div>\n                                <button ref=\"previousAnswersRef\" @click=\"priorAnswerClick(answer)\" class=\"previous-question\" v-for=\"answer in previousAnswers\" aria-description=\"Click to return to this question\">\n                                    <span class=\"d-block\">\n                                        <span class=\"sr-only\">Question:&nbsp;</span>\n                                        <strong>{{ answer.parentQuestion.text }}</strong>\n                                    </span>\n                                    <span class=\"d-block\">\n                                        <span class=\"sr-only\">&comma;&nbsp;Answer:&nbsp;</span>\n                                        {{ answer.answer.text }}\n                                        <HelpIcon :text=\"answer.answer.helpText\" aria-hidden=\"true\" />\n                                    </span>\n                                </button>\n                            </div>\n                            <div id=\"question1\" class=\"current-question\">\n                                <fieldset>\n                                    <legend style=\"margin-bottom: 5px; padding-top: 15px; border: none\">{{ currentQuestion.text }}</legend>\n                                    <div class=\"text-left\" style=\"display: inline-block\">\n                                        <template v-for=\"answer in currentQuestion.answers\">\n                                            <div class=\"form-check answer\" :class=\"{ disabled: !answer.valid }\">\n                                                <label class=\"form-check-label\">\n                                                    <input class=\"form-check-input\" type=\"radio\" name=\"question1\" @click=\"answerClick($event, answer)\" :value=\"answer\" v-model=\"selectedAnswer\" :disabled=\"!answer.valid\" />\n                                                    {{ answer.text }}\n                                                    <HelpIcon :text=\"answer.helpText\" />\n                                                    <small v-show=\"!answer.valid\" style=\"color: red\">(answer is no longer valid)</small>\n                                                </label>\n                                            </div>\n                                        </template>\n                                    </div>\n                                </fieldset>\n                                <div v-show=\"selectedAnswer != null\">\n                                    <button tabindex=\"0\" @click=\"answerClick(null, selectedAnswer!)\">Next</button>\n                                </div>\n                            </div>\n                            <div class=\"current-question\" v-show=\"currentQuestionLoading\">\n                                <LoadingWheel :width=\"100\" />\n                            </div>\n                            <!--</div>-->\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </template>\n    </Promised>\n</template>\n<script lang=\"ts\">\nimport { QuestionNode as QuestionNodeData } from \"@cs/QuestionNode\";\nimport { QuestionLinkNode as QuestionLinkNodeData } from \"@cs/QuestionLinkNode\";\nimport { FormNode as FormNodeData } from \"@cs/FormNode\";\nimport { AnswerNode as AnswerNodeData } from \"@cs/AnswerNode\";\nimport { Object as Node } from \"@cs/Node\";\nimport { FormListItem } from \"@cs/FormListItem\";\nimport { UserTask } from \"@cs/UserTask\";\nimport { Index as IndexVm } from \"@cs/Index\";\nimport delayPromise from \"@/lib/delayPromise\";\n\nclass Submission {\n    id: string;\n    areaCode: string;\n    formName: string;\n    formVersion: string;\n    formHash: string;\n    formTitle?: string;\n    publicDisplayLabel?: string;\n    submitterStatusLabel?: string;\n    lastUpdated: Date;\n    submitDate: Date | null;\n    viewTypes: string[];\n    hasFileUploads: boolean;\n    testMode: boolean;\n    isExpired: boolean;\n    isDeletable: boolean;\n    isDiscontinued: boolean;\n    isReturned: boolean;\n    activeTasks: UserTask[];\n\n    constructor(data: FormListItem) {\n        this.id = data.Id!;\n        this.areaCode = data.Tenant;\n        this.formName = data.FormName;\n        this.formVersion = data.FormVersion;\n        this.formHash = data.FormHash;\n        this.formTitle = data.FormTitle;\n        this.publicDisplayLabel = data.PublicDisplayLabel;\n        this.submitterStatusLabel = data.SubmitterStatusLabel;\n        this.lastUpdated = new Date(data.LastUpdated);\n        this.submitDate = data.SubmitDate == null ? null : new Date(data.SubmitDate);\n        this.viewTypes = data.ViewTypes!;\n        this.hasFileUploads = data.HasFileUploads;\n        this.testMode = data.TestMode;\n        this.isExpired = data.IsExpired;\n        this.isDeletable = data.IsDeletable;\n        this.isDiscontinued = data.IsDiscontinued;\n        this.isReturned = data.IsReturned;\n        this.activeTasks = data.UserTasks.filter(i => [UserTaskStatus.Active, UserTaskStatus.WaitingAssignment, UserTaskStatus.Returned].includes(i.Status));\n    }\n\n    visibleActiveTasks() {\n        return this.activeTasks.filter(i => i.DisplayLabel != null && !/^\\s*$/.test(i.DisplayLabel));\n    }\n\n    effectiveDisplayLabel() {\n        var displayLabel = this.publicDisplayLabel;\n        if (displayLabel == null || /^\\s*$/.test(displayLabel)) {\n            displayLabel = this.formTitle;\n        }\n        return displayLabel;\n    }\n\n    effectiveInProgressStatusLabel() {\n        return this.submitterStatusLabel || \"In Progress\";\n    }\n\n    effectiveDoneStatusLabel() {\n        return this.submitterStatusLabel || \"Done\";\n    }\n}\n\nclass QuestionNode {\n    text: string;\n    answers: AnswerNode[];\n    constructor(data: QuestionNodeData) {\n        this.text = data.QuestionText;\n        this.answers = data.Children.map(d => new AnswerNode(d as AnswerNodeData));\n    }\n}\n\nclass AnswerNode {\n    text: string;\n    helpText?: string;\n    type: string;\n    question: QuestionNode | null | undefined = null;\n    linkedId: string | null | undefined = null;\n    linkedTenant: string | null | undefined = null;\n    link: Promise<QuestionNode | undefined> | null | undefined = null;\n    valid = false;\n    formUrlSlug: string | null | undefined = null;\n    formName: string | null | undefined = null;\n    formVersion: string | null | undefined = null;\n    formHash: string | null | undefined = null;\n    formTenant: string | null | undefined = null;\n    openInNewTab: boolean | null | undefined = null;\n\n    constructor(data: AnswerNodeData) {\n        this.text = data.AnswerText;\n        this.helpText = data.HelpText;\n        const child = data.Children[0] as Node;\n        if (this.isQuestion(child)) {\n            this.type = \"SubQuestion\";\n            this.question = new QuestionNode(child as QuestionNodeData);\n            this.valid = true;\n        } else if (this.isLink(child)) {\n            this.type = \"Link\";\n            this.linkedId = child.LinkedId;\n            this.linkedTenant = child.Tenant;\n            this.link = null;\n            this.valid = true;\n        } else if (this.isForm(child)) {\n            this.type = \"Page\";\n            this.formUrlSlug = child.FormUrlSlug;\n            this.formName = child.FormName;\n            this.formVersion = child.FormVersion;\n            this.formHash = child.FormHash;\n            this.formTenant = child.FormTenant;\n            this.valid = true; // TODO?\n            this.openInNewTab = child.OpenInNewTab;\n        } else {\n            this.valid = false;\n            throw new Error(`Unknown type: ${JSON.stringify(child)}`);\n        }\n    }\n\n    isQuestion(node: Node): node is QuestionNodeData {\n        return !!(node as QuestionNodeData).QuestionText;\n    }\n\n    isLink(node: Node): node is QuestionLinkNodeData {\n        return !!(node as QuestionLinkNodeData).LinkedId;\n    }\n\n    isForm(node: Node): node is FormNodeData {\n        return !!(node as FormNodeData).FormName;\n    }\n\n    resolveLink(urlFetch: ReturnType<typeof useMainStore>[\"getUrl\"]) {\n        if (this.type != \"Link\" || this.link != null) {\n            return;\n        }\n        this.link = (async () => {\n            const url = await urlFetch(\"getQuestionData\", { tenantCode: this.linkedTenant, rootId: this.linkedId });\n            const data = await fetch(url);\n            if (data.status == 200) {\n                const json = await data.json();\n                return new QuestionNode(json);\n            } else {\n                this.valid = false;\n            }\n        })();\n    }\n}\n\nimport { defineComponent, ref, computed, watch, inject, onActivated, Ref } from \"vue\";\nimport { localeDateTime } from \"@/lib/localeDatetime.3\";\nimport { asyncComputed } from \"@vueuse/core\";\nimport { useMainStore } from \"../../mainStore\";\nimport { UserTaskStatus } from \"@cs/UserTaskStatus\";\nimport LoadingWheel from \"@/lib/LoadingWheel.3.vue\";\nimport HelpIcon from \"@/lib/HelpIcon.3.vue\";\nimport { Promised } from \"vue-promised\";\nimport { showModalInjectKey, showModal, changePageInjectKey, changePage, ModalEvent } from \"@/AppShell.3.vue.InjectKeys\";\nimport DeleteConfirmModal from \"./dialogs/DeleteConfirm.3.vue\";\nimport { fetchXsrf } from \"@/lib/fetchHelpers.3\";\nimport { toggleDropdown } from \"@/lib/toggleDropdown.3\";\ninterface ViewData {\n    activeForms: Submission[];\n    submittedForms: Submission[];\n    contentHtml?: string;\n    questionRootNode: QuestionNode | null;\n}\ninterface AnswerQuestion {\n    parentQuestion: QuestionNode;\n    answer: AnswerNode;\n}\nexport default defineComponent({\n    components: {\n        LoadingWheel,\n        HelpIcon,\n        Promised,\n    },\n    props: [\"settings\"],\n    emits: [\"changePage\", \"updatePage\"], // TODO remove?\n    setup() {\n        const previousAnswersRef = ref<HTMLInputElement[]>(null!);\n        const firstLoad = ref(true);\n        const indexDataPromise = ref<Promise<ViewData> | null>(null);\n        const showSideBar = ref(true);\n        const tab = ref<\"done\" | \"in-progress\" | \"to-do\" | null>(null);\n        const previousAnswers = ref<AnswerQuestion[]>([]);\n        const currentQuestion = ref<null | QuestionNode>(null);\n        const selectedAnswer = ref<null | AnswerNode>(null);\n        const currentQuestionLoading = ref(false);\n\n        const mainStore = useMainStore();\n        const showModal = inject(showModalInjectKey)! as showModal;\n        const changePage = inject(changePageInjectKey)! as changePage;\n\n        const activeFormsSortedByLastUpdated = computed(() => {\n            return activeForms.value.slice().sort((a, b) => (a.lastUpdated == b.lastUpdated ? 0 : a.lastUpdated < b.lastUpdated ? 1 : -1));\n        });\n        const inProgressForms = computed(() => {\n            return submittedForms.value.filter(i => i.activeTasks.length > 0);\n        });\n        const completedForms = computed(() => {\n            return submittedForms.value.filter(i => i.activeTasks.length == 0);\n        });\n        const inProgressFormsSortedBySubmitDate = computed(() => {\n            return inProgressForms.value.slice().sort((a, b) => (a.submitDate == b.submitDate ? 0 : (a.submitDate ?? 10000000) < (b.submitDate ?? 10000000) ? 1 : -1));\n        });\n        const completedFormsSortedBySubmitDate = computed(() => {\n            return completedForms.value.slice().sort((a, b) => (a.submitDate == b.submitDate ? 0 : a.submitDate! < b.submitDate! ? 1 : -1));\n        });\n\n        const activeForms = asyncComputed(\n            async () => {\n                const data = await indexDataPromise.value;\n                return data == null ? [] : data.activeForms;\n            },\n            [] as ViewData[\"activeForms\"],\n        );\n        const submittedForms = asyncComputed(\n            async () => {\n                const data = await indexDataPromise.value;\n                return data == null ? [] : data.submittedForms;\n            },\n            [] as ViewData[\"submittedForms\"],\n        );\n        const contentHtml = asyncComputed(async () => {\n            const data = await indexDataPromise.value;\n            return data == null ? [] : data.contentHtml;\n        }, \"Loading...\") as unknown as Ref<string>;\n        const questionRootNode = asyncComputed(async () => {\n            const data = await indexDataPromise.value;\n            return data == null ? null : data.questionRootNode;\n        });\n\n        watch(\n            () => questionRootNode.value,\n            val => {\n                if (currentQuestion.value == null) {\n                    currentQuestion.value = val;\n                }\n                val?.answers.forEach(answer => answer.resolveLink(mainStore.getUrl));\n            },\n        );\n\n        const gotoDraftUrl = (item: Submission) => {\n            return mainStore.getUrl(\"draftGoto\", {\n                tenantCode: mainStore.tenantCode,\n                areaCode: item.areaCode,\n                formId: item.id,\n                page: 0,\n            });\n        };\n        const gotoDraft = (item: Submission) => {\n            changePage({\n                page: \"Page\",\n                settings: {\n                    areaCode: item.areaCode,\n                    formId: item.id,\n                    formName: item.formName,\n                    formVersion: item.formVersion,\n                    formHash: item.formHash,\n                    page: 0,\n                },\n            });\n        };\n        const isDeletable = (item: Submission) => {\n            return item.isDeletable;\n        };\n        const confirmDelete = async (item: Submission, event: Event) => {\n            await mainStore.ensureSiteCssLoaded();\n            let deleting = false;\n            showModal(\n                DeleteConfirmModal,\n                {\n                    // TODO styling without bootstrap/sitecss\n                    deleteFunction: async () => {\n                        if (!deleting) {\n                            deleting = true;\n                            const url = await mainStore.getUrl(\"deleteDraft\", { asAdmin: false, tenantCode: item.areaCode, formId: item.id });\n                            const response = await fetchXsrf(mainStore, url, {\n                                method: \"POST\",\n                                headers: {\n                                    \"Content-Type\": \"application/json\",\n                                },\n                                credentials: \"same-origin\",\n                            });\n                            deleting = false;\n                            if (response.status == 200) {\n                                loadData();\n                            } else {\n                                throw new Error(\"Not 200 OK: \" + response.status + \" \" + response.statusText);\n                            }\n                        }\n                    },\n                    triggerElement: event.target,\n                },\n                {\n                    \"before-close\": (event: ModalEvent) => {\n                        if (deleting) {\n                            event.stop();\n                        }\n                    },\n                },\n            );\n        };\n        const loadData = async () => {\n            await mainStore.ensureSiteCssLoaded();\n            indexDataPromise.value = (async () => {\n                const url = await mainStore.getUrl(\"getIndexData\");\n                const response = await fetch(url, { cache: \"reload\" });\n                const data = (await response.json()) as IndexVm;\n                mainStore.hasSession = data.HasSubmissions;\n                return {\n                    activeForms: data.ActiveForms.map(d => new Submission(d)),\n                    submittedForms: data.SubmittedForms.map(d => new Submission(d)),\n                    contentHtml: data.ContentHtml,\n                    questionRootNode: data.RootNode != null ? new QuestionNode(data.RootNode as QuestionNodeData) : null,\n                };\n            })();\n            await indexDataPromise.value;\n        };\n        const gotoViewUrl = (item: Submission, view: string) => {\n            return mainStore.getUrl(\"downloadDocument\", {\n                tenantCode: item.areaCode,\n                formId: item.id,\n                document: view,\n            });\n        };\n        const gotoView = async (item: Submission, view: string) => {\n            window.open(await gotoViewUrl(item, view), \"_blank\");\n        };\n        const gotoViewAttachmentsUrl = (item: Submission) => {\n            return mainStore.getUrl(\"submissionGotoAttachments\", {\n                tenantCode: item.areaCode,\n                formId: item.id,\n            });\n        };\n        const gotoViewAttachments = async (item: Submission) => {\n            window.open(await gotoViewAttachmentsUrl(item), \"_blank\");\n        };\n        const gotoViewAllDocumentsUrl = (item: Submission) => {\n            return mainStore.getUrl(\"submissionGotoAllDocuments\", {\n                tenantCode: item.areaCode,\n                formId: item.id,\n            });\n        };\n        const gotoViewAllDocuments = async (item: Submission) => {\n            window.open(await gotoViewAllDocumentsUrl(item), \"_blank\");\n        };\n        const answerClick = async (event: MouseEvent | null, answer: AnswerNode) => {\n            if (event != null && event.pageX == 0 && event.pageY == 0) {\n                // Enter key\n                selectedAnswer.value = answer;\n            } else {\n                if (event != null) {\n                    event.preventDefault();\n                }\n                if (answer.type == \"SubQuestion\") {\n                    previousAnswers.value.push({ parentQuestion: currentQuestion.value!, answer: answer });\n                    currentQuestion.value = answer.question!;\n                    selectedAnswer.value = null;\n                    currentQuestion.value!.answers.forEach(answer => answer.resolveLink(mainStore.getUrl));\n                } else if (answer.type == \"Link\") {\n                    currentQuestionLoading.value = true;\n                    answer.link!.then(linkedQuestion => {\n                        if (linkedQuestion) {\n                            previousAnswers.value.push({ parentQuestion: currentQuestion.value!, answer: answer });\n                            selectedAnswer.value = null;\n                            currentQuestion.value = linkedQuestion;\n                        }\n                        currentQuestionLoading.value = false;\n                    });\n                } else if (answer.type == \"Page\") {\n                    selectedAnswer.value = null;\n                    changePage(\n                        {\n                            page: \"Page\",\n                            settings: {\n                                areaCode: answer.formTenant,\n                                urlSlug: answer.formUrlSlug,\n                                formName: answer.formName,\n                                formVersion: answer.formVersion,\n                                formHash: answer.formHash,\n                                page: 0,\n                            },\n                        },\n                        false,\n                        false,\n                        !!answer.openInNewTab,\n                    );\n                } else {\n                    throw new Error(`Unknown type: ${answer.type}`);\n                }\n            }\n            focusFirstAnswer();\n        };\n        const priorAnswerClick = (answerQuestion: AnswerQuestion) => {\n            previousAnswers.value.splice(previousAnswers.value.indexOf(answerQuestion));\n            currentQuestion.value = answerQuestion.parentQuestion;\n            selectedAnswer.value = null;\n            focusFirstAnswer();\n        };\n        const focusFirstAnswer = async () => {\n            await delayPromise(0);\n            if (selectedAnswer.value == null) {\n                previousAnswersRef.value[0]?.focus();\n            }\n        };\n\n        onActivated(async () => {\n            await loadData();\n        });\n\n        return {\n            //$refs\n            previousAnswersRef,\n\n            // Refs\n            firstLoad,\n            indexDataPromise,\n            showSideBar,\n            tab,\n            previousAnswers,\n            currentQuestion,\n            selectedAnswer,\n            currentQuestionLoading,\n\n            //computed\n            activeFormsSortedByLastUpdated,\n            inProgressForms,\n            completedForms,\n            inProgressFormsSortedBySubmitDate,\n            completedFormsSortedBySubmitDate,\n            activeForms,\n            submittedForms,\n            contentHtml,\n            questionRootNode,\n\n            //methods\n            gotoDraftUrl,\n            gotoDraft,\n            isDeletable,\n            confirmDelete,\n            loadData,\n            gotoViewUrl,\n            gotoView,\n            gotoViewAttachmentsUrl,\n            gotoViewAttachments,\n            gotoViewAllDocumentsUrl,\n            gotoViewAllDocuments,\n            answerClick,\n            priorAnswerClick,\n\n            toggleDropdown,\n            localeDateTime,\n        };\n    },\n});\n</script>\n","\n      import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./Index.3.vue?vue&type=style&index=0&id=52cce70f&lang=css\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./Index.3.vue?vue&type=style&index=0&id=52cce70f&lang=css\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render } from \"./Index.3.vue?vue&type=template&id=52cce70f&ts=true\"\nimport script from \"./Index.3.vue?vue&type=script&lang=ts\"\nexport * from \"./Index.3.vue?vue&type=script&lang=ts\"\n\nimport \"./Index.3.vue?vue&type=style&index=0&id=52cce70f&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n    <div class=\"modal-content\" ref=\"container\">\n        <template v-if=\"wasLoggedIn\">\n            <div class=\"modal-header\">\n                <h2 class=\"modal-title\">Re-Log In Required</h2>\n            </div>\n            <div class=\"modal-body\">\n                <template v-if=\"isLoggedIn\">Your login is invalid for this area. You must log in again to continue.</template>\n                <template v-else>Your login has expired. Log in again to preserve your changes.</template>\n            </div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" id=\"loginBtn\" @click=\"login\">Log In</button>\n            </div>\n        </template>\n        <template v-else>\n            <div class=\"modal-header\">\n                <h2 class=\"modal-title\">Session Expired</h2>\n            </div>\n            <div class=\"modal-body\">Your session has expired. You must start over.</div>\n            <div class=\"modal-footer\">\n                <!--\n                <a class=\"btn btn-primary\" :href=\"homeUrl\">Home</a>\n                -->\n            </div>\n        </template>\n    </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, ref, SetupContext } from \"vue\";\nimport { useMainStore } from \"./mainStore\";\nimport { computedAsync } from \"@vueuse/core\";\nimport { getLoginUrlInjectKey } from \"@/AppShell.3.vue.InjectKeys\";\nimport { focusTrapSetup } from \"@/lib/focusTrapMixin.3\";\ninterface Props {\n    callback: () => void;\n    mode: string;\n    isLoggedIn: boolean;\n    wasLoggedIn: boolean;\n    isLoggedInNow: () => Promise<boolean>;\n}\nexport default defineComponent({\n    props: [\"callback\", \"mode\", \"isLoggedIn\", \"wasLoggedIn\", \"isLoggedInNow\"],\n    emits: [\"close\"],\n    //eslint-disable-next-line @typescript-eslint/no-explicit-any -- TODO - figure out why SetupContext gives overload failure\n    setup(props: Props, setupContextUntyped: any) {\n        const emit = (setupContextUntyped as SetupContext).emit;\n        const containerRef = ref<HTMLElement>(null!);\n        focusTrapSetup(containerRef);\n        const getLoginUrl = inject(getLoginUrlInjectKey)!;\n        const loginUrl = computedAsync(async () => {\n            const mainStore = useMainStore();\n            const url = await mainStore.getUrl(\"loginReturnAndClose\");\n            return await getLoginUrl(props.mode, url); //\n        });\n        //const homeUrl = computedAsync(async () => {\n        //    const mainStore = useMainStore();\n        //    return await mainStore.getUrl(\"index\");\n        //});\n\n        const login = async () => {\n            const loginWindow = window.open(loginUrl.value);\n            await waitForWindow(loginWindow!);\n            if (await props.isLoggedInNow()) {\n                emit(\"close\");\n                props.callback();\n            } else {\n                debugger;\n            }\n        };\n\n        const waitForWindow = (winObj: Window) => {\n            return new Promise((resolve, reject) => {\n                const f = () => {\n                    try {\n                        if (winObj.closed) {\n                            resolve(null);\n                        } else {\n                            setTimeout(f, 100);\n                        }\n                    } catch (e) {\n                        reject(e);\n                    }\n                };\n                f();\n            });\n        };\n\n        return {\n            container: containerRef,\n            login,\n        };\n    },\n});\n</script>\n","import { render } from \"./LoginModal.3.vue?vue&type=template&id=d3c97f28&ts=true\"\nimport script from \"./LoginModal.3.vue?vue&type=script&lang=ts\"\nexport * from \"./LoginModal.3.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n    <div class=\"notificationBarTop\" v-show=\"showSlidedown\" style=\"display: none\" :aria-hidden=\"!showSlidedown\" role=\"alert\">\n        You are not running the latest version of this service. To prevent issues, please save your current action and <button type=\"button\" class=\"btn align-baseline\" @click.prevent=\"refresh\">refresh the page</button>.\n\n        <button type=\"button\" class=\"close icon icon-close\" @click.prevent=\"showSlidedown = false\"><span class=\"sr-only\">Close</span></button>\n    </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from \"vue\";\nexport default defineComponent({\n    setup() {\n        const showSlidedown = ref(true);\n\n        const refresh = () => {\n            window.location.reload();\n        };\n\n        return {\n            showSlidedown,\n            refresh,\n        };\n    },\n});\n</script>\n","import { render } from \"./VersionMismatchBanner.3.vue?vue&type=template&id=6403fe63&ts=true\"\nimport script from \"./VersionMismatchBanner.3.vue?vue&type=script&lang=ts\"\nexport * from \"./VersionMismatchBanner.3.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n    <div :class=\"asModal ? 'modal-content' : 'notificationBarTop'\" v-show=\"asModal || showSlidedown\" :aria-hidden=\"!(asModal || showSlidedown)\" role=\"alert\" ref=\"container\">\n        <template v-if=\"asModal\">\n            <div class=\"modal-header\">\n                <h2 class=\"modal-title\">{{ sessionExpired ? \"Session Expired\" : \"Session Expiring\" }}</h2>\n            </div>\n            <div class=\"modal-body\">\n                <template v-if=\"!sessionExpired\">\n                    Your session will expire in\n                    <span role=\"timer\">{{ relativeSessionTimeoutDisplay }}</span>\n                    .\n                </template>\n                <template v-else-if=\"isLoggedIn\">Your login has expired. Log in again to resume your session.</template>\n                <template v-else>Your session has expired. You must start over.</template>\n            </div>\n            <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-primary\" id=\"refreshBtn\" v-if=\"!sessionExpired\" @click=\"refresh\">Refresh</button>\n                <button type=\"button\" class=\"btn btn-primary\" id=\"loginBtn\" v-else-if=\"isLoggedIn\" @click=\"login\">Log In</button>\n            </div>\n        </template>\n        <template v-else>\n            <template v-if=\"!sessionExpired\">\n                Your session will expire in <span role=\"timer\">{{ relativeSessionTimeoutDisplay }}</span\n                >.\n            </template>\n            <template v-else-if=\"isLoggedIn\">Your login has expired. Log in again to resume your session.</template>\n            <template v-else>Your session has expired. You must start over.</template>\n            <button type=\"button\" class=\"btn align-baseline\" id=\"refreshBtn\" v-if=\"!sessionExpired\" @click=\"refresh\">Refresh</button>\n            <button type=\"button\" class=\"btn align-baseline\" id=\"loginBtn\" v-else-if=\"isLoggedIn\" @click=\"login\">Log In</button>\n\n            <button type=\"button\" aria-label=\"Close\" class=\"close icon icon-close\" @click.prevent=\"hideSlidedown\" id=\"closeBtn\"></button>\n        </template>\n    </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, watch, onUnmounted, SetupContext, inject } from \"vue\";\nimport { asyncComputed } from \"@vueuse/core\";\nimport { useMainStore } from \"@/mainStore\";\nimport { loadUserDataInjectKey, loadUserData as loadUserDataType, getLoginUrlInjectKey, getLoginUrl as getLoginUrlType } from \"./AppShell.3.vue.InjectKeys\";\nimport { focusTrapSetup } from \"@/lib/focusTrapMixin.3\";\ninterface Props {\n    expireTime: Date;\n    isLoggedIn: boolean;\n    asModal: boolean;\n}\nexport default defineComponent({\n    props: {\n        asModal: Boolean,\n        expireTime: Date,\n        isLoggedIn: Boolean,\n    },\n    //@ts-expect-error\n    setup(props: Props, context: SetupContext) {\n        const containerRef = ref<HTMLElement>(null!);\n        const focusTrap = focusTrapSetup(containerRef);\n        const loadUserData = inject(loadUserDataInjectKey) as loadUserDataType;\n        const getLoginUrl = inject(getLoginUrlInjectKey) as getLoginUrlType;\n\n        const now = ref(Date.now());\n        const nowTimerId = ref(null as null | ReturnType<typeof setInterval>);\n        const showSlidedown = ref(true);\n\n        const mainStore = useMainStore();\n\n        nowTimerId.value = setInterval(() => {\n            now.value = Date.now();\n        }, 100);\n        focusTrap.focusTrapSetEnabled(props.asModal);\n\n        onUnmounted(() => {\n            const nowTimerIdValue = nowTimerId.value;\n            if (nowTimerIdValue != null) {\n                clearInterval(nowTimerIdValue);\n            }\n        });\n\n        const sessionExpired = computed(() => {\n            return relativeSessionTimeout.value <= 0;\n        });\n        const relativeSessionTimeout = computed(() => {\n            return props.expireTime.getTime() - now.value;\n        });\n\n        const loginUrl = asyncComputed(async () => {\n            const url = await mainStore.getUrl(\"loginReturnAndClose\");\n            return await getLoginUrl(0, url);\n        });\n\n        const relativeSessionTimeoutDisplay = computed(() => {\n            const relativeSessionTimeoutNumber = relativeSessionTimeout.value;\n            if (relativeSessionTimeoutNumber < 10 * 1000) {\n                return new Intl.NumberFormat([], { maximumFractionDigits: 1, minimumFractionDigits: 1 }).format(relativeSessionTimeoutNumber / 1000) + \" seconds\";\n            } else {\n                const relativeSessionTimeoutSeconds = Math.round(relativeSessionTimeoutNumber / 1000);\n                const formatList = (list: string[]) => {\n                    list = list.filter(a => a != \"\");\n                    if (list.length == 0) return \"\";\n                    let result = list[0];\n                    if (list.length == 1) return result;\n                    for (let i = 1; i < list.length - 1; i++) {\n                        result += \", \" + list[i];\n                    }\n                    result += \" and \" + list[list.length - 1];\n                    return result;\n                };\n                const formatUnit = (number: number, unit: string) => {\n                    if (number == 0) return \"\";\n                    return new Intl.NumberFormat([], { unit, style: \"unit\", unitDisplay: \"long\" }).format(number);\n                };\n                //cspell:ignore trunc\n                const hours = Math.trunc(relativeSessionTimeoutSeconds / 3600);\n                const minutes = Math.trunc((relativeSessionTimeoutSeconds / 60) % 60);\n                const seconds = Math.trunc(relativeSessionTimeoutSeconds % 60);\n                const parts = relativeSessionTimeoutSeconds >= 3600 ? [formatUnit(hours, \"hour\"), formatUnit(minutes, \"minute\")] : relativeSessionTimeoutSeconds >= 600 ? [formatUnit(minutes, \"minute\")] : [formatUnit(minutes, \"minute\"), formatUnit(seconds, \"second\")];\n                return formatList(parts);\n            }\n        });\n\n        watch(\n            () => sessionExpired.value,\n            newVal => {\n                if (newVal && !props.isLoggedIn) {\n                    context.emit(\"close\");\n                }\n            },\n        );\n\n        const login = async () => {\n            const loginWindow = window.open(loginUrl.value)!;\n            await waitForWindow(loginWindow);\n            await loadUserData();\n            if (await mainStore.isLoggedInPromise) {\n                if (props.asModal) {\n                    context.emit(\"close\");\n                } else {\n                    showSlidedown.value = true;\n                }\n            } else {\n                debugger;\n            }\n        };\n\n        const waitForWindow = (winObj: Window) => {\n            return new Promise((resolve, reject) => {\n                const f = () => {\n                    try {\n                        if (winObj.closed) {\n                            resolve(null);\n                        } else {\n                            setTimeout(f, 100);\n                        }\n                    } catch (e) {\n                        reject(e);\n                    }\n                };\n                f();\n            });\n        };\n\n        const refresh = async () => {\n            const refreshUrl = await mainStore.getUrl(\"extendSession\");\n            await fetch(refreshUrl, { headers: { \"X-Session-Refresh\": \"force\" } });\n            if (props.asModal) {\n                context.emit(\"close\");\n            } else {\n                showSlidedown.value = true;\n            }\n        };\n\n        const hideSlidedown = () => {\n            showSlidedown.value = false;\n        };\n\n        return {\n            // Refs\n            container: containerRef,\n\n            // State\n            now,\n            nowTimerId,\n            showSlidedown,\n\n            //Computed\n            sessionExpired,\n            relativeSessionTimeout,\n            relativeSessionTimeoutDisplay,\n            loginUrl,\n\n            //Methods\n            login,\n            refresh,\n            hideSlidedown,\n        };\n    },\n});\n</script>\n","import { render } from \"./SessionExpiringModal.3.vue?vue&type=template&id=1c53ed1c&ts=true\"\nimport script from \"./SessionExpiringModal.3.vue?vue&type=script&lang=ts\"\nexport * from \"./SessionExpiringModal.3.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","/*!\n * Cookie-store v4.0.0-next.2\n * https://github.com/markcellus/cookie-store\n *\n * Copyright (c) 2022 Mark\n * Licensed under the MIT license\n */\n\nconst decode = decodeURIComponent;\nconst pairSplitRegExp = /; */;\n// Try decoding a string using a decoding function.\nfunction tryDecode(str, decode) {\n    try {\n        return typeof decode === \"boolean\" ? decodeURIComponent(str) : decode(str);\n    } catch (e) {\n        return str;\n    }\n}\nvar CookieSameSite;\n(function (CookieSameSite) {\n    CookieSameSite[\"strict\"] = \"strict\";\n    CookieSameSite[\"lax\"] = \"lax\";\n    CookieSameSite[\"none\"] = \"none\";\n})(CookieSameSite || (CookieSameSite = {}));\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n */\nfunction parse(str, options = {}) {\n    if (typeof str !== \"string\") {\n        throw new TypeError(\"argument str must be a string\");\n    }\n    const obj = [];\n    const opt = options || {};\n    const pairs = str.split(pairSplitRegExp);\n    const dec = opt.decode || decode;\n    for (let i = 0; i < pairs.length; i++) {\n        const pair = pairs[i];\n        let eqIdx = pair.indexOf(\"=\");\n        // skip things that don't look like key=value\n        if (eqIdx < 0) {\n            continue;\n        }\n        const key = pair.substr(0, eqIdx).trim();\n        let val = pair.substr(++eqIdx, pair.length).trim();\n        // quoted values\n        if ('\"' == val[0]) {\n            val = val.slice(1, -1);\n        }\n        // only assign once\n        // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n        // @ts-ignore\n        if (undefined == obj[key]) {\n            obj.push({\n                name: key,\n                value: tryDecode(val, dec),\n            });\n        }\n    }\n    return obj;\n}\nclass CookieChangeEvent extends Event {\n    constructor(type, eventInitDict = { changed: [], deleted: [] }) {\n        super(type, eventInitDict);\n        this.changed = eventInitDict.changed || [];\n        this.deleted = eventInitDict.deleted || [];\n    }\n}\nclass CookieStore extends EventTarget {\n    constructor() {\n        super();\n        throw new TypeError(\"Illegal Constructor\");\n    }\n    get [Symbol.toStringTag]() {\n        return \"CookieStore\";\n    }\n    async get(init) {\n        if (init == null) {\n            throw new TypeError(\"CookieStoreGetOptions must not be empty\");\n        } else if (init instanceof Object && !Object.keys(init).length) {\n            throw new TypeError(\"CookieStoreGetOptions must not be empty\");\n        }\n        return (await this.getAll(init))[0];\n    }\n    async set(init, possibleValue) {\n        var _a, _b, _c;\n        const item = {\n            name: \"\",\n            value: \"\",\n            path: \"/\",\n            secure: false,\n            sameSite: CookieSameSite.strict,\n            expires: null,\n            domain: null,\n        };\n        if (typeof init === \"string\") {\n            item.name = init;\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n            item.value = possibleValue;\n        } else {\n            Object.assign(item, init);\n            if (item.path && !item.path.startsWith(\"/\")) {\n                throw new TypeError('Cookie path must start with \"/\"');\n            }\n            if ((_a = item.domain) === null || _a === void 0 ? void 0 : _a.startsWith(\".\")) {\n                throw new TypeError('Cookie domain cannot start with \".\"');\n            }\n            if (item.domain && item.domain !== window.location.hostname) {\n                throw new TypeError(\"Cookie domain must domain-match current host\");\n            }\n            if (((_b = item.name) === null || _b === void 0 ? void 0 : _b.startsWith(\"__Host\")) && item.domain) {\n                throw new TypeError(\"Cookie domain must not be specified for host cookies\");\n            }\n            if (((_c = item.name) === null || _c === void 0 ? void 0 : _c.startsWith(\"__Host\")) && item.path != \"/\") {\n                throw new TypeError(\"Cookie path must not be specified for host cookies\");\n            }\n            if (item.path && item.path.endsWith(\"/\")) {\n                item.path = item.path.slice(0, -1);\n            }\n            if (item.path === \"\") {\n                item.path = \"/\";\n            }\n        }\n        if (item.name === \"\" && item.value && item.value.includes(\"=\")) {\n            throw new TypeError(\"Cookie value cannot contain '=' if the name is empty\");\n        }\n        if (item.name && item.name.startsWith(\"__Host\")) {\n            item.secure = true;\n        }\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        let cookieString = `${item.name}=${encodeURIComponent(item.value)}`;\n        if (item.domain) {\n            cookieString += \"; Domain=\" + item.domain;\n        }\n        if (item.path) {\n            cookieString += \"; Path=\" + item.path;\n        }\n        if (typeof item.expires === \"number\") {\n            cookieString += \"; Expires=\" + new Date(item.expires).toUTCString();\n        } else if (item.expires instanceof Date) {\n            cookieString += \"; Expires=\" + item.expires.toUTCString();\n        }\n        if ((item.name && item.name.startsWith(\"__Secure\")) || item.secure) {\n            item.sameSite = CookieSameSite.lax;\n            cookieString += \"; Secure\";\n        }\n        switch (item.sameSite) {\n            case CookieSameSite.lax:\n                cookieString += \"; SameSite=Lax\";\n                break;\n            case CookieSameSite.strict:\n                cookieString += \"; SameSite=Strict\";\n                break;\n            case CookieSameSite.none:\n                cookieString += \"; SameSite=None\";\n                break;\n        }\n        const previousCookie = this.get(item);\n        document.cookie = cookieString;\n        if (this.onchange) {\n            const changed = [];\n            const deleted = [];\n            if (previousCookie && !(await this.get(item))) {\n                deleted.push({ ...item, value: undefined });\n            } else {\n                changed.push(item);\n            }\n            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n            // @ts-ignore\n            const event = new CookieChangeEvent(\"change\", { changed, deleted });\n            this.onchange(event);\n        }\n    }\n    async getAll(init) {\n        const cookies = parse(document.cookie);\n        if (init == null || Object.keys(init).length === 0) {\n            return cookies;\n        }\n        let name;\n        let url;\n        if (typeof init === \"string\") {\n            name = init;\n        } else {\n            name = init.name;\n            url = init.url;\n        }\n        if (url) {\n            const parsedURL = new URL(url, window.location.origin);\n            if (window.location.href !== parsedURL.href || window.location.origin !== parsedURL.origin) {\n                throw new TypeError(\"URL must match the document URL\");\n            }\n            return cookies.slice(0, 1);\n        }\n        return cookies.filter(cookie => cookie.name === name);\n    }\n    async delete(init) {\n        const item = {\n            name: \"\",\n            value: \"\",\n            path: \"/\",\n            secure: false,\n            sameSite: CookieSameSite.strict,\n            expires: null,\n            domain: null,\n        };\n        if (typeof init === \"string\") {\n            item.name = init;\n        } else {\n            Object.assign(item, init);\n        }\n        item.expires = 0;\n        await this.set(item);\n    }\n}\nconst workerSubscriptions = new WeakMap();\nconst registrations = new WeakMap();\nclass CookieStoreManager {\n    get [Symbol.toStringTag]() {\n        return \"CookieStoreManager\";\n    }\n    constructor() {\n        throw new TypeError(\"Illegal Constructor\");\n    }\n    async subscribe(subscriptions) {\n        const currentSubcriptions = workerSubscriptions.get(this) || [];\n        const worker = registrations.get(this);\n        if (!worker) throw new TypeError(\"Illegal invocation\");\n        for (const subscription of subscriptions) {\n            const name = subscription.name;\n            const url = new URL(subscription.url || \"\", worker.scope).toString();\n            if (currentSubcriptions.some(x => x.name === name && x.url === url)) continue;\n            currentSubcriptions.push({\n                name: subscription.name,\n                url,\n            });\n        }\n        workerSubscriptions.set(this, currentSubcriptions);\n    }\n    async getSubscriptions() {\n        return (workerSubscriptions.get(this) || []).map(({ name, url }) => ({\n            name,\n            url,\n        }));\n    }\n    async unsubscribe(subscriptions) {\n        let currentSubcriptions = workerSubscriptions.get(this) || [];\n        const worker = registrations.get(this);\n        if (!worker) throw new TypeError(\"Illegal invocation\");\n        for (const subscription of subscriptions) {\n            const name = subscription.name;\n            // TODO: Parse the url with the relevant settings objects API base URL.\n            // https://wicg.github.io/cookie-store/#CookieStoreManager-unsubscribe\n            const url = new URL(subscription.url || \"\", worker.scope).toString();\n            currentSubcriptions = currentSubcriptions.filter(x => {\n                if (x.name !== name) return true;\n                if (x.url !== url) return true;\n                return false;\n            });\n        }\n        workerSubscriptions.set(this, currentSubcriptions);\n    }\n}\nif (!(\"cookies\" in ServiceWorkerRegistration.prototype)) {\n    Object.defineProperty(ServiceWorkerRegistration.prototype, \"cookies\", {\n        configurable: true,\n        enumerable: true,\n        get() {\n            const manager = Object.create(CookieStoreManager.prototype);\n            registrations.set(manager, this);\n            Object.defineProperty(this, \"cookies\", { value: manager });\n            return manager;\n        },\n    });\n}\nconst cookieStore = Object.create(CookieStore.prototype);\nexport { cookieStore, CookieStore, CookieChangeEvent };\n","<template>\n    <div class=\"sr-only\" role=\"status\" aria-live=\"polite\">\n        {{ currentMessage }}\n    </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, computed, watch, ref } from \"vue\";\nimport { useMainStore } from \"../mainStore\";\nimport { Subject, Observable } from \"rxjs\";\nimport { switchAll } from \"rxjs/operators\";\nimport delayPromise from \"@/lib/delayPromise\";\nlet isResetSkipped = false;\nexport default defineComponent({\n    skipReset() {\n        isResetSkipped = true;\n    },\n    setup() {\n        const message$ = new Subject<Observable<string>>();\n        const defaultMessage = { success: \"Success\", failure: \"Failed\", pending: \"Loading\" };\n        const mainStore = useMainStore();\n        const currentMessage = ref<string | null>(null);\n        const promise = computed(() => mainStore.liveRegionPromise);\n\n        watch(promise, promiseVal => {\n            message$.next(\n                new Observable(subscriber => {\n                    (async () => {\n                        subscriber.next(mainStore.liveRegionPendingMessage ?? defaultMessage.pending);\n                        try {\n                            subscriber.next((await promiseVal) ?? defaultMessage.success);\n                        } catch (e) {\n                            subscriber.next((e as string) ?? defaultMessage.failure);\n                        }\n                        if (!isResetSkipped) {\n                            await delayPromise(200);\n                            subscriber.next(\"\");\n                        }\n                        subscriber.complete();\n                    })();\n                }),\n            );\n        });\n\n        message$.pipe(switchAll()).subscribe(message => {\n            currentMessage.value = message;\n        });\n        const exposed = { currentMessage };\n\n        (\"#if JEST\");\n        //@ts-ignore\n        exposed.promise = promise;\n        (\"#endif\");\n\n        return exposed;\n    },\n});\n</script>\n","import { render } from \"./LiveRegion.3.vue?vue&type=template&id=46576a8f&ts=true\"\nimport script from \"./LiveRegion.3.vue?vue&type=script&lang=ts\"\nexport * from \"./LiveRegion.3.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<style lang=\"less\" scoped>\n@import \"/styles/SiteColors.less\";\nbutton.close {\n    position: fixed;\n    top: 30px;\n    right: 30px;\n    color: #fff;\n    font-size: 2em;\n    opacity: 1;\n}\n.modal-content {\n    background: transparent;\n    border: unset;\n\n    .search-group {\n        label {\n            font-size: 1.5em;\n            color: #aaa;\n            margin-bottom: 0;\n            -webkit-transition: all 0.25s;\n            transition: all 0.25s;\n        }\n\n        input#navSearch {\n            background: none;\n            height: 40px;\n            color: #ddd;\n            border: none;\n            padding: 10px;\n            border-bottom: 1px solid #aaa;\n            border-radius: 0;\n            box-shadow: none;\n            padding-right: 1.75rem;\n\n            /**\n            * Remove default clear icon of search input type.\n            * https://stackoverflow.com/a/77190241\n            */\n            appearance: textfield;\n            outline-offset: -2px; // Fix outline style in Safari\n\n            &::-webkit-search-decoration,\n            &::-webkit-search-cancel-button,\n            &::-webkit-search-results-button,\n            &::-webkit-search-results-decoration {\n                -webkit-appearance: none;\n            }\n\n            &:focus {\n                border-color: @link-color;\n                border-bottom-width: 2px;\n            }\n        }\n\n        .clear {\n            position: absolute;\n            right: 0;\n            z-index: 3;\n\n            &:focus {\n                outline-offset: 0;\n                outline-color: white;\n            }\n        }\n    }\n\n    .nav-search-results {\n        width: calc(590px - 2rem);\n    }\n}\n</style>\n<template>\n    <div class=\"modal-content\" ref=\"container\">\n        <form id=\"navSearchForm\" asp-antiforgery=\"false\" @submit.prevent=\"searchTextSet(searchText2)\" role=\"search\">\n            <button type=\"button\" class=\"close icon icon-close\" @click=\"close\" aria-label=\"Close\"></button>\n            <div class=\"modal-body\">\n                <div class=\"form-group form-group-lg search-group\">\n                    <label for=\"navSearch\">Search</label>\n                    <div class=\"input-group align-items-center\">\n                        <!-- eslint-disable-next-line vue/no-mutating-props -->\n                        <input v-debounce=\"searchTextSet\" type=\"search\" class=\"form-control\" id=\"navSearch\" ref=\"navSearch\" aria-label=\"Search\" autocomplete=\"off\" v-model=\"searchText2\" />\n                        <button v-show=\"(searchText2 || '').length > 0\" type=\"button\" class=\"clear btn btn-bare icon icon-close text-white px-1 py-0\" aria-label=\"Clear search\" @click.stop=\"clearSearch\"></button>\n                    </div>\n                </div>\n                <Promised :promise=\"searchResultsPromise\" v-slot:combined=\"{ isPending, data: searchData, error }\" :pendingDelay=\"0\" v-if=\"searchResultsPromise != null\">\n                    <div class=\"nav-search-results\" id=\"searchResults\" v-show=\"isPending || searchData != null || error != null\">\n                        <div class=\"nav-search-results-inner\">\n                            <span class=\"nav-search-results-caption\">\n                                Search results\n                                {{ searchRootTenant ? \"for all sites\" : \"for this site\" }}\n                            </span>\n                            <div style=\"width: 100%\">\n                                <div v-show=\"isPending\" style=\"display: none; width: 100%\">\n                                    <LoadingWheel :width=\"40\" />\n                                </div>\n                                <div v-show=\"!isPending\">\n                                    <div v-show=\"searchData && !searchData.length\" class=\"no_results_found\" style=\"display: none; width: 100%\">No results were found.</div>\n                                    <div v-show=\"searchData && searchData.length\" style=\"width: 100%\">\n                                        <div class=\"result\" v-for=\"result in searchData\">\n                                            <Promised :promise=\"searchResultUrl(result)\" v-slot=\"url\">\n                                                <a @click.prevent=\"gotoSearchResult(result)\" :href=\"url\">{{ result.label }}</a>\n                                            </Promised>\n                                            <Promised :promise=\"result.tenantDisplay\" v-slot=\"tenantDisplay\" v-if=\"result.tenant != data.tenantData.tenantCode\">\n                                                &nbsp;\n                                                <span class=\"badge badge-light\">{{ tenantDisplay }}</span>\n                                            </Promised>\n                                            <p style=\"margin-bottom: 5px\">{{ result.description }}</p>\n                                        </div>\n                                    </div>\n                                    <div v-show=\"searchData\">\n                                        <hr />\n                                        <button class=\"btn btn-link\" type=\"button\" @click=\"searchRootTenant = !searchRootTenant\">\n                                            Search\n                                            {{ searchRootTenant ? \"in this site\" : \"all sites\" }}\n                                        </button>\n                                    </div>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </Promised>\n            </div>\n        </form>\n    </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, inject, onMounted, toRef, SetupContext, ComputedRef } from \"vue\";\nimport { useMainStore, TenantData } from \"./mainStore\";\nimport { focusTrapSetup } from \"@/lib/focusTrapMixin.3\";\nimport { changePageInjectKey } from \"@/AppShell.3.vue.InjectKeys\";\nimport { Promised } from \"vue-promised\";\nimport LoadingWheel from \"./lib/LoadingWheel.3.vue\";\nimport type { SearchResults } from \"@cs/SearchResults\";\nimport type { UserData } from \"@cs/UserData\";\ninterface Props {\n    data: { userData: UserData | null; tenantData: TenantData | null };\n    searchText: string | null;\n    updateSearchText: (text: string | null) => void;\n}\nexport default defineComponent({\n    props: [\"data\", \"searchText\", \"updateSearchText\"],\n    emits: [\"close\"],\n    components: { Promised, LoadingWheel },\n    setup(props: Props, context: SetupContext) {\n        const mainStore = useMainStore();\n        const changePage = inject(changePageInjectKey)!;\n\n        //$refs\n        const navSearchRef = ref<HTMLInputElement>(null!);\n        const containerRef = ref<HTMLElement>(null!);\n        focusTrapSetup(containerRef);\n\n        //States\n        const searchText2 = toRef(props.searchText);\n        const searchTextDebounced = ref(null as string | null);\n        const searchRootTenant = ref(false as boolean);\n\n        //Computed\n        const searchResultsPromise = computed(async () => {\n            if (searchTextDebounced.value == null || /^\\s*$/.test(searchTextDebounced.value)) {\n                return null;\n            }\n            const searchTextDebouncedVal = searchTextDebounced.value;\n            const searchFromRoot = searchRootTenant.value;\n            const searchUrl = await mainStore.getUrl(\"appShellSearch\", {\n                searchText: searchTextDebouncedVal,\n                searchFromRoot: searchFromRoot,\n            });\n            const searchResultJsonPromise = fetch(searchUrl).then(i => i.json());\n            mainStore.setLiveRegion(\n                searchResultJsonPromise.then(search => {\n                    return search.Results.length == 0 ? \"No results were found.\" : `${search.Results.length} ${search.Results.length > 1 ? \"results\" : \"result\"} found.`;\n                }),\n            );\n            const searchResultJson = (await searchResultJsonPromise) as SearchResults;\n            const tenantDisplayLabel = mainStore.getTenantDisplayLabel(searchResultJson.Results.map(i => i.FormTenant));\n            return searchResultJson.Results.map(v => ({\n                tenant: v.FormTenant,\n                tenantDisplay: tenantDisplayLabel[v.FormTenant],\n                label: v.Label,\n                description: v.Description,\n                urlSlug: v.FormUrlSlug,\n                formName: v.FormName,\n                formVersion: v.FormVersion,\n                formHash: v.FormHash,\n                openInNewTab: v.OpenInNewTab,\n            }));\n        });\n\n        //Methods\n        const searchTextSet = (searchTextValue: string | null) => {\n            searchTextDebounced.value = searchTextValue;\n        };\n        const clearSearch = () => {\n            searchText2.value = null;\n            searchTextDebounced.value = null;\n            navSearchRef.value?.focus();\n        };\n        const close = () => {\n            context.emit(\"close\");\n            props.updateSearchText(searchText2.value);\n        };\n        const gotoSearchResult = (result: SearchResult) => {\n            changePage(\n                {\n                    page: \"Page\",\n                    settings: {\n                        areaCode: result.tenant,\n                        urlSlug: result.urlSlug,\n                        formName: result.formName,\n                        formVersion: result.formVersion,\n                        formHash: result.formHash,\n                        page: 0,\n                    },\n                },\n                false,\n                false,\n                !!result.openInNewTab,\n            );\n            close();\n        };\n        type extractComputedRef<Type> = Type extends ComputedRef<Promise<infer T>> ? T : Type extends ComputedRef<infer T2> ? T2 : never;\n        type SearchResult = NonNullable<extractComputedRef<typeof searchResultsPromise>>[0];\n        const searchResultUrl = (result: SearchResult) => {\n            if (result.urlSlug) {\n                return mainStore.getUrl(\"formGotoSlug\", {\n                    areaCode: result.tenant,\n                    urlSlug: result.urlSlug,\n                    page: 0,\n                });\n            } else {\n                return mainStore.getUrl(\"formGoto\", {\n                    areaCode: result.tenant,\n                    formName: result.formName,\n                    formVersion: result.formVersion,\n                    formHash: result.formHash,\n                    page: 0,\n                });\n            }\n        };\n\n        onMounted(() => searchTextSet(searchText2.value));\n\n        return {\n            container: containerRef,\n            navSearch: navSearchRef,\n            searchText2,\n            searchRootTenant,\n            searchResultsPromise,\n            gotoSearchResult,\n            searchResultUrl,\n            searchTextSet,\n            clearSearch,\n            close,\n        };\n    },\n});\n</script>\n","\n      import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../node_modules/vue-loader/dist/stylePostLoader.js!../node_modules/less-loader/dist/cjs.js??clonedRuleSet-5.use[2]!../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./NavSearchModal.3.vue?vue&type=style&index=0&id=4561adb8&lang=less&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../node_modules/vue-loader/dist/stylePostLoader.js!../node_modules/less-loader/dist/cjs.js??clonedRuleSet-5.use[2]!../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./NavSearchModal.3.vue?vue&type=style&index=0&id=4561adb8&lang=less&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render } from \"./NavSearchModal.3.vue?vue&type=template&id=4561adb8&scoped=true&ts=true\"\nimport script from \"./NavSearchModal.3.vue?vue&type=script&lang=ts\"\nexport * from \"./NavSearchModal.3.vue?vue&type=script&lang=ts\"\n\nimport \"./NavSearchModal.3.vue?vue&type=style&index=0&id=4561adb8&lang=less&scoped=true\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4561adb8\"]])\n\nexport default __exports__","import { VueFinalModalProperty } from \"vue-final-modal\";\nimport { InjectionKey } from \"vue\";\n\nexport const vfmInjectKey = Symbol() as InjectionKey<VueFinalModalProperty>;\n","\n      import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../../node_modules/vue-loader/dist/stylePostLoader.js!../../node_modules/less-loader/dist/cjs.js??clonedRuleSet-5.use[2]!./DFStyle_SiteIndex_Template.less?vue&type=style&index=0&lang=less&external\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../../node_modules/vue-loader/dist/stylePostLoader.js!../../node_modules/less-loader/dist/cjs.js??clonedRuleSet-5.use[2]!./DFStyle_SiteIndex_Template.less?vue&type=style&index=0&lang=less&external\";\n       export default content && content.locals ? content.locals : undefined;\n","\n      import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!../node_modules/vue-loader/dist/stylePostLoader.js!../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./AppShell.3.vue?vue&type=style&index=1&id=56dcb51c&lang=css\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!../node_modules/vue-loader/dist/stylePostLoader.js!../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./AppShell.3.vue?vue&type=style&index=1&id=56dcb51c&lang=css\";\n       export default content && content.locals ? content.locals : undefined;\n","\n      import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../node_modules/vue-loader/dist/stylePostLoader.js!../node_modules/less-loader/dist/cjs.js??clonedRuleSet-5.use[2]!../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./AppShell.3.vue?vue&type=style&index=2&id=56dcb51c&lang=less&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../node_modules/css-loader/dist/cjs.js??clonedRuleSet-5.use[1]!../node_modules/vue-loader/dist/stylePostLoader.js!../node_modules/less-loader/dist/cjs.js??clonedRuleSet-5.use[2]!../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./AppShell.3.vue?vue&type=style&index=2&id=56dcb51c&lang=less&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render } from \"./AppShell.3.vue?vue&type=template&id=56dcb51c&scoped=true&ts=true\"\nimport script from \"./AppShell.3.vue?vue&type=script&lang=ts\"\nexport * from \"./AppShell.3.vue?vue&type=script&lang=ts\"\n\nimport \"./styles/DFStyle_SiteIndex_Template.less?vue&type=style&index=0&lang=less&external\"\nimport \"./AppShell.3.vue?vue&type=style&index=1&id=56dcb51c&lang=css\"\nimport \"./AppShell.3.vue?vue&type=style&index=2&id=56dcb51c&lang=less&scoped=true\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-56dcb51c\"]])\n\nexport default __exports__","//window.onerror = (a,b,c) => {\n//    debugger;\n//}\nimport \"whatwg-fetch\";\nimport \"./config\";\nimport \"./polyfill\";\nimport \"skipto/downloads/js/skipto.min.js\";\nimport \"./publicPath\";\nimport { createApp } from \"vue\";\nimport { createPinia } from \"pinia\"; //cspell:ignore pinia // todo global\nimport { useMainStore, TenantData } from \"./mainStore\";\nimport { GlobalConfigData } from \"@cs/GlobalConfigData\";\nimport { vue3Debounce } from \"vue-debounce\";\nimport AppShell from \"./AppShell.3.vue\";\nimport { vfmPlugin } from \"vue-final-modal\";\nimport { vfmInjectKey } from \"./appExportKeys.3\";\n\nconst tenantDataString = document.getElementById(\"tenantData\")?.innerHTML;\nlet tenantData: TenantData;\nif (tenantDataString == \"/*644f65f6-b806-49fe-927a-000a3a40d73e*/\" || tenantDataString == null) {\n    tenantData = {} as TenantData; // TODO\n} else {\n    tenantData = JSON.parse(tenantDataString);\n}\n\nconst globalConfigDataString = document.getElementById(\"globalConfigData\")?.innerHTML;\nlet globalConfigData: GlobalConfigData;\nif (globalConfigDataString == \"/*d599d548-2a76-4900-805c-c00672ca77af*/\" || globalConfigDataString == null) {\n    globalConfigData = {} as GlobalConfigData; // TODO\n} else {\n    globalConfigData = JSON.parse(globalConfigDataString);\n}\n\nArray.from(document.getElementsByTagName(\"link\"))\n    .filter(i => i.dataset.rel != null)\n    .forEach(i => {\n        i.rel = i.dataset.rel!;\n    });\n\nconst pinia = createPinia();\nconst app = createApp({\n    ...AppShell,\n});\n//@ts-ignore\napp.use(pinia);\napp.use(\n    vfmPlugin({\n        key: vfmInjectKey as unknown as string,\n    }),\n);\napp.directive(\"debounce\", vue3Debounce({ trim: true }));\n\nconst mainStore = useMainStore();\nmainStore.tenantData = tenantData;\nmainStore.globalConfigData = globalConfigData;\napp.mount(\"#container\");\n\nexport default app;\n\n////@ts-ignore\n//if (module.hot) {\n//    // accept actions and mutations as hot modules\n//    //@ts-ignore\n//    module.hot.accept([\"./pages/pageState/module.js\"], () => {\n//        //@ts-ignore\n//        const newPageModule = require(\"./pages/pageState/module.js\").default; // eslint-disable-line @typescript-eslint/no-var-requires\n//\n//        // swap in the new modules and mutations\n//        store.hotUpdate({\n//            modules: {\n//                page: newPageModule,\n//            },\n//        });\n//    });\n//}\n\n//if (\"serviceWorker\" in navigator) {\n//    window.addEventListener(\"load\", () => {\n//        navigator.serviceWorker.register(tenantData.urlTemplates.defaultTenant.serviceWorker);\n//    });\n//}\n","//@ts-ignore\nwindow.SkipToConfig = {\n    settings: {\n        skipTo: {\n            displayOption: \"popup\",\n        },\n    },\n};\n","//@ts-nocheck\n/**\n * This is a TypeGen auto-generated file.\n * Any changes made to this file can be lost when this file is regenerated.\n */\n\nimport { FeatureFlag } from \"./FeatureFlag\";\n\nexport class KnownFeatureFlags {\n    static readonly EditOtherTenantsFeatureFlags: FeatureFlag = {\"Id\":\"EditOtherTenantsFeatureFlags\",\"Label\":\"Edit Other Tenants Feature Flags\",\"Mode\":2,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":5};\n    static readonly EditOtherUsersFeatureFlags: FeatureFlag = {\"Id\":\"EditOtherUsersFeatureFlags\",\"Label\":\"Edit Other Users Feature Flags\",\"Mode\":2,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":5};\n    static readonly MassUpgradeFeatureFlags: FeatureFlag = {\"Id\":\"MassUpgradeFeatureFlags\",\"Label\":\"Mass Upgrade Feature Flags\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":5};\n    static readonly EnforceContentSecurityPolicy: FeatureFlag = {\"Id\":\"EnforceContentSecurityPolicy\",\"Label\":\"Enforce Content Security Policy\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly ShowMyFormsWidget: FeatureFlag = {\"Id\":\"ShowMyFormsWidget\",\"Label\":\"Show MyForms Widget\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly BillingStatsPage: FeatureFlag = {\"Id\":\"BillingStatsPage\",\"Label\":\"Show Billing Pages\",\"Mode\":2,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly TenantStats: FeatureFlag = {\"Id\":\"TenantStats\",\"Label\":\"Show stats for non-staff\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly SecurityAuthV3UserBasedConnection: FeatureFlag = {\"Id\":\"SecurityAuthV3UserBasedConnection\",\"Label\":\"Use User Auth for Security Auth WS session\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly DisableMultipleInProgressSubmissionsCheck: FeatureFlag = {\"Id\":\"DisableMultipleInProgressSubmissionsCheck\",\"Label\":\"(Performance) Disable the check for multiple in-progress submissions \",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly DisableSubmissionRepopulation: FeatureFlag = {\"Id\":\"DisableSubmissionRepopulation\",\"Label\":\"(Performance) Disable repopulating submissions \",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly DisableSaveOnSectionChange: FeatureFlag = {\"Id\":\"DisableSaveOnSectionChange\",\"Label\":\"(Performance) Disable save on section change \",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly DisableUserLogin: FeatureFlag = {\"Id\":\"DisableUserLogin\",\"Label\":\"(Performance) Disable allowing users to login \",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly DisableLockedSaving: FeatureFlag = {\"Id\":\"DisableLockedSaving\",\"Label\":\"(Performance) Disable guaranteeing saves happen in order \",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly PageWorkflow: FeatureFlag = {\"Id\":\"PageWorkflow\",\"Label\":\"Enable pages with workflow\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly WorkflowSettingsInModal: FeatureFlag = {\"Id\":\"WorkflowSettingsInModal\",\"Label\":\"Workflow - open settings in modal\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly Signature: FeatureFlag = {\"Id\":\"Signature\",\"Label\":\"Enable signature addon\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly SmsMessages: FeatureFlag = {\"Id\":\"SmsMessages\",\"Label\":\"Enable sending SMS Messages\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly UseIronPdfExtensions: FeatureFlag = {\"Id\":\"UseIronPdfExtensions\",\"Label\":\"Use IronPdf Extensions for signing\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly MultiFactorAuthentication: FeatureFlag = {\"Id\":\"MultiFactorAuthentication\",\"Label\":\"Enable multi-factor authentication for WI logins\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly PermitInlineStyles: FeatureFlag = {\"Id\":\"PermitInlineStyles\",\"Label\":\"Allow html to contain inline styles\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly CacheSecAuth: FeatureFlag = {\"Id\":\"CacheSecAuth\",\"Label\":\"Cache SecAuth tenant lookup\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly TestMode: FeatureFlag = {\"Id\":\"TestMode\",\"Label\":\"Expose test mode\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly TestModeTestPayments: FeatureFlag = {\"Id\":\"TestModeTestPayments\",\"Label\":\"Use Test Payments in Test Mode\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly ExplicitDateParsing: FeatureFlag = {\"Id\":\"ExplicitDateParsing\",\"Label\":\"Use explicit date parse for new form definition\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly StyleEditorMode: FeatureFlag = {\"Id\":\"StyleEditorMode\",\"Label\":\"Enable Tenant Style Editor mode\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":4};\n    static readonly ShortInviteExpire: FeatureFlag = {\"Id\":\"ShortInviteExpire\",\"Label\":\"(QA) Expire invites after 1 minute\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly RequireModeLogin: FeatureFlag = {\"Id\":\"RequireModeLogin\",\"Label\":\"Require login type to match mode default\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":3};\n    static readonly ShowDataSourceTestModeSync: FeatureFlag = {\"Id\":\"ShowDataSourceTestModeSync\",\"Label\":\"Show test data auto-sync toggle on data sources\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly UnshadowBlocks: FeatureFlag = {\"Id\":\"UnshadowBlocks\",\"Label\":\"Unshadow calculation blocks in toolkit\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly StrictWorkflowManualOverrideConfirm: FeatureFlag = {\"Id\":\"StrictWorkflowManualOverrideConfirm\",\"Label\":\"Use strict confirm for Workflow Manual Override\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly Gov2GoIntegration: FeatureFlag = {\"Id\":\"Gov2GoIntegration\",\"Label\":\"Sync pages with Gov2Go\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly RestCcpService: FeatureFlag = {\"Id\":\"RestCcpService\",\"Label\":\"Use REST CCP webservice\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly RunDataSourceLookupOnBackend: FeatureFlag = {\"Id\":\"RunDataSourceLookupOnBackend\",\"Label\":\"Run datasource lookup on backend\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":3};\n    static readonly SearchableDropdown: FeatureFlag = {\"Id\":\"SearchableDropdown\",\"Label\":\"Enable search on select dropdown\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly DatasourceChunks: FeatureFlag = {\"Id\":\"DatasourceChunks\",\"Label\":\"Enable chunked indexing for datasources\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":3};\n    static readonly ForceFailCaptcha: FeatureFlag = {\"Id\":\"ForceFailCaptcha\",\"Label\":\"(QA) FORCE ALL CAPTCHA CHECKS TO FAIL\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":4};\n    static readonly ForceFailNotifications: FeatureFlag = {\"Id\":\"ForceFailNotifications\",\"Label\":\"(QA) FORCE ALL NOTIFICATION TO FAIL\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly UseReadonlyDbReplicas: FeatureFlag = {\"Id\":\"UseReadonlyDbReplicas\",\"Label\":\"Use readonly DB replicas\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly VirusScan: FeatureFlag = {\"Id\":\"VirusScan\",\"Label\":\"Enable virus scanning\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly AppVersionMismatchBanner: FeatureFlag = {\"Id\":\"AppVersionMismatchBanner\",\"Label\":\"Show banner when app version mismatch between frontend and backend\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly NestedFoldersCreationInSites: FeatureFlag = {\"Id\":\"NestedFoldersCreationInSites\",\"Label\":\"Can create nested folders in sites\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":3};\n    static readonly DbTempFileHandler: FeatureFlag = {\"Id\":\"DbTempFileHandler\",\"Label\":\"Use DB as temp file storage\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":3};\n    static readonly UseTenantTimeService: FeatureFlag = {\"Id\":\"UseTenantTimeService\",\"Label\":\"Use tenant time service\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly EmailSearchExports: FeatureFlag = {\"Id\":\"EmailSearchExports\",\"Label\":\"Email search exports on completion\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly MspExternalReferenceRepository: FeatureFlag = {\"Id\":\"MspExternalReferenceRepository\",\"Label\":\"Support MSP external references\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly PreferMspExternalReferenceRepository: FeatureFlag = {\"Id\":\"PreferMspExternalReferenceRepository\",\"Label\":\"Prefer saving external references to MSP document storage\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly AlwaysUseStreamableEncryptionForExternalReferences: FeatureFlag = {\"Id\":\"AlwaysUseStreamableEncryptionForExternalReferences\",\"Label\":\"Always use streamable encryption for external references\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly DeploymentToggle: FeatureFlag = {\"Id\":\"DeploymentToggle\",\"Label\":\"Allow toggling deployments\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":4};\n    static readonly TargetedSubmissionUpgrades: FeatureFlag = {\"Id\":\"TargetedSubmissionUpgrades\",\"Label\":\"Allow targeting submission definition upgrades\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly EngagementBuilderBridgeBrand: FeatureFlag = {\"Id\":\"EngagementBuilderBridgeBrand\",\"Label\":\"Enable Engagement Builder bridge brand\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly GroupPermissions: FeatureFlag = {\"Id\":\"GroupPermissions\",\"Label\":\"Show permission assignment for groups\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly BulkInvoke: FeatureFlag = {\"Id\":\"BulkInvoke\",\"Label\":\"Bulk call backend invoke\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly ApiFormFileDirectReturn: FeatureFlag = {\"Id\":\"ApiFormFileDirectReturn\",\"Label\":\"Include file contents in the submission API\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly Gov2GoAlert: FeatureFlag = {\"Id\":\"Gov2GoAlert\",\"Label\":\"Enable Gov2Go Alert\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly HideCommenterFullName: FeatureFlag = {\"Id\":\"HideCommenterFullName\",\"Label\":\"Hide Commenter Full Name\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly NonLiveTextboxes: FeatureFlag = {\"Id\":\"NonLiveTextboxes\",\"Label\":\"Delay calculations and validations until user leaves textual inputs\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly Gov2GoCcpRedirectPayment: FeatureFlag = {\"Id\":\"Gov2GoCcpRedirectPayment\",\"Label\":\"Enable Gov2Go Redirect Payment (Post Auth Callback)\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly ShortenSmsUrl: FeatureFlag = {\"Id\":\"ShortenSmsUrl\",\"Label\":\"Shorten URLs in SMS\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly DeleteExpiredExternalReferencesInMsp: FeatureFlag = {\"Id\":\"DeleteExpiredExternalReferencesInMsp\",\"Label\":\"Delete purged/expired external references in MSP\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly PurgingSubmissionsActive: FeatureFlag = {\"Id\":\"PurgingSubmissionsActive\",\"Label\":\"Purging expired submissions enabled\",\"Mode\":0,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly OverridableNow: FeatureFlag = {\"Id\":\"OverridableNow\",\"Label\":\"Allow overriding what is considered the current datetime\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly AllowIgnoreApiCacheControl: FeatureFlag = {\"Id\":\"AllowIgnoreApiCacheControl\",\"Label\":\"Allow ignoring API Cache-Control response header\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly SupportDatasourceElasticTypes: FeatureFlag = {\"Id\":\"SupportDatasourceElasticTypes\",\"Label\":\"Support both elastic index types for datasources\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":3};\n    static readonly PreferDatasourceElasticTypes: FeatureFlag = {\"Id\":\"PreferDatasourceElasticTypes\",\"Label\":\"Prefer dynamic elastic index for datasources\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly LogSensitiveData: FeatureFlag = {\"Id\":\"LogSensitiveData\",\"Label\":\"Write sensitive data to logs (not comprehensive)\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly WriteDatasourceUsage: FeatureFlag = {\"Id\":\"WriteDatasourceUsage\",\"Label\":\"Write usage of datasource\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly BlockInUseDatasourceDeletion: FeatureFlag = {\"Id\":\"BlockInUseDatasourceDeletion\",\"Label\":\"Block deletion of in-use datasource columns\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly WritableODataDatasources: FeatureFlag = {\"Id\":\"WritableODataDatasources\",\"Label\":\"Writable OData-linked datasources\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly SendNotificationInBackground: FeatureFlag = {\"Id\":\"SendNotificationInBackground\",\"Label\":\"Send notifications in the background\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly TwoPartSubmissions: FeatureFlag = {\"Id\":\"TwoPartSubmissions\",\"Label\":\"Two-part submissions process\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly ShortBehaviorRetries: FeatureFlag = {\"Id\":\"ShortBehaviorRetries\",\"Label\":\"(QA) Failed behaviors retry after 1 second\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly DeleteCommentsAttachments: FeatureFlag = {\"Id\":\"DeleteCommentsAttachments\",\"Label\":\"Allow reviewers to delete comments and attachments\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly PaymentLocks: FeatureFlag = {\"Id\":\"PaymentLocks\",\"Label\":\"Lock/fixate submissions while out for payment\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly PreferOpenSearch: FeatureFlag = {\"Id\":\"PreferOpenSearch\",\"Label\":\"Prefer Open Search search index (manual steps required before enabling)\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly WriteToNonPreferredSearchIndex: FeatureFlag = {\"Id\":\"WriteToNonPreferredSearchIndex\",\"Label\":\"Write to non-preferred search index (manual steps required before enabling)\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly MergedDatasourceIndexes: FeatureFlag = {\"Id\":\"MergedDatasourceIndexes\",\"Label\":\"Merged datasource indexes\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly Break6236: FeatureFlag = {\"Id\":\"Break6236\",\"Label\":\"(QA) RE-BREAK 6236\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly Break6312: FeatureFlag = {\"Id\":\"Break6312\",\"Label\":\"(QA) RE-BREAK 6312\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly UnhandledExceptionFromNotification: FeatureFlag = {\"Id\":\"UnhandledExceptionFromNotification\",\"Label\":\"(QA) FAIL ALL NOTIFICATIONS WITH A UNHANDLED EXCEPTION\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly UnhandledExceptionFromApi: FeatureFlag = {\"Id\":\"UnhandledExceptionFromApi\",\"Label\":\"(QA) FAIL ALL API NOTIFICATIONS WITH A UNHANDLED EXCEPTION\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly UnhandledExceptionFromSwitch: FeatureFlag = {\"Id\":\"UnhandledExceptionFromSwitch\",\"Label\":\"(QA) FAIL ALL SWITCHES WITH A UNHANDLED EXCEPTION\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly UnhandledExceptionFromPayment: FeatureFlag = {\"Id\":\"UnhandledExceptionFromPayment\",\"Label\":\"(QA) FAIL ALL PAYMENT WITH A UNHANDLED EXCEPTION\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly UnhandledExceptionOnSubmit: FeatureFlag = {\"Id\":\"UnhandledExceptionOnSubmit\",\"Label\":\"(QA) FAIL ALL SUBMITS WITH A UNHANDLED EXCEPTION\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly UnhandledExceptionOnSave: FeatureFlag = {\"Id\":\"UnhandledExceptionOnSave\",\"Label\":\"(QA) FAIL ALL SAVES WITH A UNHANDLED EXCEPTION\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly EnableIdVerification: FeatureFlag = {\"Id\":\"EnableIdVerification\",\"Label\":\"Enable Identity Verification\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly FormEditSubmissionSearch: FeatureFlag = {\"Id\":\"FormEditSubmissionSearch\",\"Label\":\"Show links to Submission Search in the Form Editor\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly RollbackSubmitWithoutTargetStatus: FeatureFlag = {\"Id\":\"RollbackSubmitWithoutTargetStatus\",\"Label\":\"Rollback Submit without Target Status\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1};\n    static readonly ForcePassCaptcha: FeatureFlag = {\"Id\":\"ForcePassCaptcha\",\"Label\":\"(QA) FORCE ALL CAPTCHA CHECKS TO PASS\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":6};\n    static readonly EnableAddressVerify: FeatureFlag = {\"Id\":\"EnableAddressVerify\",\"Label\":\"Enable Address Verification\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly NewPostSubmitAccessCheck: FeatureFlag = {\"Id\":\"NewPostSubmitAccessCheck\",\"Label\":\"(KILL)NewPostSubmitAccessCheck\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly NewPreSubmitAccessCheck: FeatureFlag = {\"Id\":\"NewPreSubmitAccessCheck\",\"Label\":\"(KILL)NewPreSubmitAccessCheck\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly DirectRedirectForSubmit: FeatureFlag = {\"Id\":\"DirectRedirectForSubmit\",\"Label\":\"(KILL)DirectRedirectForSubmit\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly StateRetry: FeatureFlag = {\"Id\":\"StateRetry\",\"Label\":\"(KILL)StateRetry\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly BehaviorAndTimerExceptionRetry: FeatureFlag = {\"Id\":\"BehaviorAndTimerExceptionRetry\",\"Label\":\"(KILL)BehaviorAndTimerExceptionRetry\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly PaymentExceptionRetry: FeatureFlag = {\"Id\":\"PaymentExceptionRetry\",\"Label\":\"(KILL)PaymentExceptionRetry\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly SubmitRedirectInPost: FeatureFlag = {\"Id\":\"SubmitRedirectInPost\",\"Label\":\"(KILL)SubmitRedirectInPost\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly InvalidSubmitThrows: FeatureFlag = {\"Id\":\"InvalidSubmitThrows\",\"Label\":\"(KILL)InvalidSubmitThrows\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly FilterTimersEvents: FeatureFlag = {\"Id\":\"FilterTimersEvents\",\"Label\":\"(KILL)FilterTimersEvents\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly SaveAtSubmitting: FeatureFlag = {\"Id\":\"SaveAtSubmitting\",\"Label\":\"(Technical)SaveAtSubmitting\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly PostSubmitInBackground: FeatureFlag = {\"Id\":\"PostSubmitInBackground\",\"Label\":\"(Technical)PostSubmitInBackground\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly ElementTransactions: FeatureFlag = {\"Id\":\"ElementTransactions\",\"Label\":\"(KILL)ElementTransactions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly FormTransactions: FeatureFlag = {\"Id\":\"FormTransactions\",\"Label\":\"(KILL)FormTransactions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly BehaviorFailuresAreExceptions: FeatureFlag = {\"Id\":\"BehaviorFailuresAreExceptions\",\"Label\":\"(KILL)BehaviorFailuresAreExceptions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly TrapPreSubmitExceptions: FeatureFlag = {\"Id\":\"TrapPreSubmitExceptions\",\"Label\":\"(KILL)TrapPreSubmitExceptions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly TrapTimerExceptions: FeatureFlag = {\"Id\":\"TrapTimerExceptions\",\"Label\":\"(KILL)TrapTimerExceptions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly TrapPostSubmitExceptions: FeatureFlag = {\"Id\":\"TrapPostSubmitExceptions\",\"Label\":\"(KILL)TrapPostSubmitExceptions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly BlockRetryOnUnstartedOrSucceededBehaviors: FeatureFlag = {\"Id\":\"BlockRetryOnUnstartedOrSucceededBehaviors\",\"Label\":\"(KILL)BlockRetryOnUnstartedOrSucceededBehaviors\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly HandleOnEventException: FeatureFlag = {\"Id\":\"HandleOnEventException\",\"Label\":\"(KILL)HandleOnEventException\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly ApiTimerSubmitWithTryTrigger: FeatureFlag = {\"Id\":\"ApiTimerSubmitWithTryTrigger\",\"Label\":\"(KILL)ApiTimerSubmitWithTryTrigger\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly HandleStateTransactionExceptions: FeatureFlag = {\"Id\":\"HandleStateTransactionExceptions\",\"Label\":\"(KILL)HandleStateTransactionExceptions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly IgnoreSafeBranchException: FeatureFlag = {\"Id\":\"IgnoreSafeBranchException\",\"Label\":\"(KILL)IgnoreSafeBranchException\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly ReturnInvalidFromSubmitIfNotSubmitableAndNotAlreadySubmitted: FeatureFlag = {\"Id\":\"ReturnInvalidFromSubmitIfNotSubmitableAndNotAlreadySubmitted\",\"Label\":\"(KILL)ReturnInvalidFromSubmitIfNotSubmitableAndNotAlreadySubmitted\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly WrapEventExceptionInEventExceptions: FeatureFlag = {\"Id\":\"WrapEventExceptionInEventExceptions\",\"Label\":\"(KILL)WrapEventExceptionInEventExceptions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly EmailForPreSubmitFailure: FeatureFlag = {\"Id\":\"EmailForPreSubmitFailure\",\"Label\":\"(KILL)EmailForPreSubmitFailure\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly ResetBehaviorTriesInInitialize: FeatureFlag = {\"Id\":\"ResetBehaviorTriesInInitialize\",\"Label\":\"(KILL)ResetBehaviorTriesInInitialize\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly RedirectInFrontendEvenWithoutBackendRedirect: FeatureFlag = {\"Id\":\"RedirectInFrontendEvenWithoutBackendRedirect\",\"Label\":\"(KILL)RedirectInFrontendEvenWithoutBackendRedirect\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly ChainForms: FeatureFlag = {\"Id\":\"ChainForms\",\"Label\":\"(KILL)ChainForms\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly SaveOnlyEditable: FeatureFlag = {\"Id\":\"SaveOnlyEditable\",\"Label\":\"(KILL)SaveOnlyEditable\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly ExistingTransactionAreCommitted: FeatureFlag = {\"Id\":\"ExistingTransactionAreCommitted\",\"Label\":\"(KILL)ExistingTransactionAreCommitted\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly ClearPaymentTokenOnCancel: FeatureFlag = {\"Id\":\"ClearPaymentTokenOnCancel\",\"Label\":\"(KILL)ClearPaymentTokenOnCancel\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly TransferPages: FeatureFlag = {\"Id\":\"TransferPages\",\"Label\":\"Allow moving engagements\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly PdfShowsSubmitting: FeatureFlag = {\"Id\":\"PdfShowsSubmitting\",\"Label\":\"(KILL)PdfShowsSubmitting\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7};\n    static readonly LIST: FeatureFlag[] = [{\"Id\":\"EditOtherTenantsFeatureFlags\",\"Label\":\"Edit Other Tenants Feature Flags\",\"Mode\":2,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":5},{\"Id\":\"EditOtherUsersFeatureFlags\",\"Label\":\"Edit Other Users Feature Flags\",\"Mode\":2,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":5},{\"Id\":\"MassUpgradeFeatureFlags\",\"Label\":\"Mass Upgrade Feature Flags\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":5},{\"Id\":\"EnforceContentSecurityPolicy\",\"Label\":\"Enforce Content Security Policy\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"ShowMyFormsWidget\",\"Label\":\"Show MyForms Widget\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"BillingStatsPage\",\"Label\":\"Show Billing Pages\",\"Mode\":2,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"TenantStats\",\"Label\":\"Show stats for non-staff\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"SecurityAuthV3UserBasedConnection\",\"Label\":\"Use User Auth for Security Auth WS session\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"DisableMultipleInProgressSubmissionsCheck\",\"Label\":\"(Performance) Disable the check for multiple in-progress submissions \",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"DisableSubmissionRepopulation\",\"Label\":\"(Performance) Disable repopulating submissions \",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"DisableSaveOnSectionChange\",\"Label\":\"(Performance) Disable save on section change \",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"DisableUserLogin\",\"Label\":\"(Performance) Disable allowing users to login \",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"DisableLockedSaving\",\"Label\":\"(Performance) Disable guaranteeing saves happen in order \",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"PageWorkflow\",\"Label\":\"Enable pages with workflow\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"WorkflowSettingsInModal\",\"Label\":\"Workflow - open settings in modal\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"Signature\",\"Label\":\"Enable signature addon\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"SmsMessages\",\"Label\":\"Enable sending SMS Messages\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"UseIronPdfExtensions\",\"Label\":\"Use IronPdf Extensions for signing\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"MultiFactorAuthentication\",\"Label\":\"Enable multi-factor authentication for WI logins\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"PermitInlineStyles\",\"Label\":\"Allow html to contain inline styles\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"CacheSecAuth\",\"Label\":\"Cache SecAuth tenant lookup\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"TestMode\",\"Label\":\"Expose test mode\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"TestModeTestPayments\",\"Label\":\"Use Test Payments in Test Mode\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"ExplicitDateParsing\",\"Label\":\"Use explicit date parse for new form definition\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"StyleEditorMode\",\"Label\":\"Enable Tenant Style Editor mode\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":4},{\"Id\":\"ShortInviteExpire\",\"Label\":\"(QA) Expire invites after 1 minute\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"RequireModeLogin\",\"Label\":\"Require login type to match mode default\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":3},{\"Id\":\"ShowDataSourceTestModeSync\",\"Label\":\"Show test data auto-sync toggle on data sources\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"UnshadowBlocks\",\"Label\":\"Unshadow calculation blocks in toolkit\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"StrictWorkflowManualOverrideConfirm\",\"Label\":\"Use strict confirm for Workflow Manual Override\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"Gov2GoIntegration\",\"Label\":\"Sync pages with Gov2Go\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"RestCcpService\",\"Label\":\"Use REST CCP webservice\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"SearchableDropdown\",\"Label\":\"Enable search on select dropdown\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"DatasourceChunks\",\"Label\":\"Enable chunked indexing for datasources\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":3},{\"Id\":\"ForceFailCaptcha\",\"Label\":\"(QA) FORCE ALL CAPTCHA CHECKS TO FAIL\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":4},{\"Id\":\"ForceFailNotifications\",\"Label\":\"(QA) FORCE ALL NOTIFICATION TO FAIL\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"UseReadonlyDbReplicas\",\"Label\":\"Use readonly DB replicas\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"VirusScan\",\"Label\":\"Enable virus scanning\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"AppVersionMismatchBanner\",\"Label\":\"Show banner when app version mismatch between frontend and backend\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"NestedFoldersCreationInSites\",\"Label\":\"Can create nested folders in sites\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":3},{\"Id\":\"DbTempFileHandler\",\"Label\":\"Use DB as temp file storage\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":3},{\"Id\":\"EmailSearchExports\",\"Label\":\"Email search exports on completion\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"UseTenantTimeService\",\"Label\":\"Use tenant time service\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"MspExternalReferenceRepository\",\"Label\":\"Support MSP external references\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"AlwaysUseStreamableEncryptionForExternalReferences\",\"Label\":\"Always use streamable encryption for external references\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"PreferMspExternalReferenceRepository\",\"Label\":\"Prefer saving external references to MSP document storage\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"DeploymentToggle\",\"Label\":\"Allow toggling deployments\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":4},{\"Id\":\"TargetedSubmissionUpgrades\",\"Label\":\"Allow targeting submission definition upgrades\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"EngagementBuilderBridgeBrand\",\"Label\":\"Enable Engagement Builder bridge brand\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"GroupPermissions\",\"Label\":\"Show permission assignment for groups\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"BulkInvoke\",\"Label\":\"Bulk call backend invoke\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"ApiFormFileDirectReturn\",\"Label\":\"Include file contents in the submission API\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"Gov2GoAlert\",\"Label\":\"Enable Gov2Go Alert\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"HideCommenterFullName\",\"Label\":\"Hide Commenter Full Name\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"NonLiveTextboxes\",\"Label\":\"Delay calculations and validations until user leaves textual inputs\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"Gov2GoCcpRedirectPayment\",\"Label\":\"Enable Gov2Go Redirect Payment (Post Auth Callback)\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"ShortenSmsUrl\",\"Label\":\"Shorten URLs in SMS\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"DeleteExpiredExternalReferencesInMsp\",\"Label\":\"Delete purged/expired external references in MSP\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"PurgingSubmissionsActive\",\"Label\":\"Purging expired submissions enabled\",\"Mode\":0,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"OverridableNow\",\"Label\":\"Allow overriding what is considered the current datetime\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"AllowIgnoreApiCacheControl\",\"Label\":\"Allow ignoring API Cache-Control response header\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"SupportDatasourceElasticTypes\",\"Label\":\"Support both elastic index types for datasources\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":3},{\"Id\":\"PreferDatasourceElasticTypes\",\"Label\":\"Prefer dynamic elastic index for datasources\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"LogSensitiveData\",\"Label\":\"Write sensitive data to logs (not comprehensive)\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"WriteDatasourceUsage\",\"Label\":\"Write usage of datasource\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"BlockInUseDatasourceDeletion\",\"Label\":\"Block deletion of in-use datasource columns\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"WritableODataDatasources\",\"Label\":\"Writable OData-linked datasources\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"SendNotificationInBackground\",\"Label\":\"Send notifications in the background\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"TwoPartSubmissions\",\"Label\":\"Two-part submissions process\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"ShortBehaviorRetries\",\"Label\":\"(QA) Failed behaviors retry after 1 second\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"DeleteCommentsAttachments\",\"Label\":\"Allow reviewers to delete comments and attachments\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"PaymentLocks\",\"Label\":\"Lock/fixate submissions while out for payment\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"PreferOpenSearch\",\"Label\":\"Prefer Open Search search index (manual steps required before enabling)\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"WriteToNonPreferredSearchIndex\",\"Label\":\"Write to non-preferred search index (manual steps required before enabling)\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"MergedDatasourceIndexes\",\"Label\":\"Merged datasource indexes\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"Break6236\",\"Label\":\"(QA) RE-BREAK 6236\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"EnableIdVerification\",\"Label\":\"Enable Identity Verification\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"FormEditSubmissionSearch\",\"Label\":\"Show links to Submission Search in the Form Editor\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"RollbackSubmitWithoutTargetStatus\",\"Label\":\"Rollback Submit without Target Status\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"Break6312\",\"Label\":\"(QA) RE-BREAK 6312\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"ForcePassCaptcha\",\"Label\":\"(QA) FORCE ALL CAPTCHA CHECKS TO PASS\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":6},{\"Id\":\"EnableAddressVerify\",\"Label\":\"Enable Address Verification\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"NewPreSubmitAccessCheck\",\"Label\":\"(KILL)NewPreSubmitAccessCheck\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"NewPostSubmitAccessCheck\",\"Label\":\"(KILL)NewPostSubmitAccessCheck\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"DirectRedirectForSubmit\",\"Label\":\"(KILL)DirectRedirectForSubmit\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"UnhandledExceptionFromNotification\",\"Label\":\"(QA) FAIL ALL NOTIFICATIONS WITH A UNHANDLED EXCEPTION\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"UnhandledExceptionFromApi\",\"Label\":\"(QA) FAIL ALL API NOTIFICATIONS WITH A UNHANDLED EXCEPTION\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"UnhandledExceptionFromSwitch\",\"Label\":\"(QA) FAIL ALL SWITCHES WITH A UNHANDLED EXCEPTION\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"UnhandledExceptionFromPayment\",\"Label\":\"(QA) FAIL ALL PAYMENT WITH A UNHANDLED EXCEPTION\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"UnhandledExceptionOnSubmit\",\"Label\":\"(QA) FAIL ALL SUBMITS WITH A UNHANDLED EXCEPTION\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"UnhandledExceptionOnSave\",\"Label\":\"(QA) FAIL ALL SAVES WITH A UNHANDLED EXCEPTION\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":1},{\"Id\":\"StateRetry\",\"Label\":\"(KILL)StateRetry\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"BehaviorAndTimerExceptionRetry\",\"Label\":\"(KILL)BehaviorAndTimerExceptionRetry\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"PaymentExceptionRetry\",\"Label\":\"(KILL)PaymentExceptionRetry\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"SubmitRedirectInPost\",\"Label\":\"(KILL)SubmitRedirectInPost\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"InvalidSubmitThrows\",\"Label\":\"(KILL)InvalidSubmitThrows\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"FilterTimersEvents\",\"Label\":\"(KILL)FilterTimersEvents\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"SaveAtSubmitting\",\"Label\":\"(Technical)SaveAtSubmitting\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"PostSubmitInBackground\",\"Label\":\"(Technical)PostSubmitInBackground\",\"Mode\":1,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"ElementTransactions\",\"Label\":\"(KILL)ElementTransactions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"FormTransactions\",\"Label\":\"(KILL)FormTransactions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"BehaviorFailuresAreExceptions\",\"Label\":\"(KILL)BehaviorFailuresAreExceptions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"TrapPreSubmitExceptions\",\"Label\":\"(KILL)TrapPreSubmitExceptions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"TrapPostSubmitExceptions\",\"Label\":\"(KILL)TrapPostSubmitExceptions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"TrapTimerExceptions\",\"Label\":\"(KILL)TrapTimerExceptions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"BlockRetryOnUnstartedOrSucceededBehaviors\",\"Label\":\"(KILL)BlockRetryOnUnstartedOrSucceededBehaviors\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"HandleOnEventException\",\"Label\":\"(KILL)HandleOnEventException\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"ApiTimerSubmitWithTryTrigger\",\"Label\":\"(KILL)ApiTimerSubmitWithTryTrigger\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"HandleStateTransactionExceptions\",\"Label\":\"(KILL)HandleStateTransactionExceptions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"IgnoreSafeBranchException\",\"Label\":\"(KILL)IgnoreSafeBranchException\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"ReturnInvalidFromSubmitIfNotSubmitableAndNotAlreadySubmitted\",\"Label\":\"(KILL)ReturnInvalidFromSubmitIfNotSubmitableAndNotAlreadySubmitted\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"WrapEventExceptionInEventExceptions\",\"Label\":\"(KILL)WrapEventExceptionInEventExceptions\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"EmailForPreSubmitFailure\",\"Label\":\"(KILL)EmailForPreSubmitFailure\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"ResetBehaviorTriesInInitialize\",\"Label\":\"(KILL)ResetBehaviorTriesInInitialize\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"RedirectInFrontendEvenWithoutBackendRedirect\",\"Label\":\"(KILL)RedirectInFrontendEvenWithoutBackendRedirect\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"ChainForms\",\"Label\":\"(KILL)ChainForms\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"SaveOnlyEditable\",\"Label\":\"(KILL)SaveOnlyEditable\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"ExistingTransactionAreCommitted\",\"Label\":\"(KILL)ExistingTransactionAreCommitted\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"ClearPaymentTokenOnCancel\",\"Label\":\"(KILL)ClearPaymentTokenOnCancel\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"TransferPages\",\"Label\":\"Allow moving engagements\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7},{\"Id\":\"PdfShowsSubmitting\",\"Label\":\"(KILL)PdfShowsSubmitting\",\"Mode\":3,\"ActiveOn\":null,\"ActiveUntil\":null,\"GlobalEnabled\":false,\"TenantEnabled\":null,\"UserEnabled\":null,\"Scope\":7}];\n}\n","//@ts-nocheck\n/**\n * This is a TypeGen auto-generated file.\n * Any changes made to this file can be lost when this file is regenerated.\n */\n\nexport enum UserTaskStatus {\n    Inactive = 0,\n    WaitingAssignment = 1,\n    Active = 2,\n    Completed = 3,\n    Returned = 4,\n    Locked = 5,\n    Submitting = 6,\n}\n","//@ts-nocheck\n/**\n * This is a TypeGen auto-generated file.\n * Any changes made to this file can be lost when this file is regenerated.\n */\n\nexport enum UserTaskType {\n    Any = 0,\n    Group = 1,\n    Specific = 2,\n    NonUser = 3,\n    Invite = 4,\n    Issue = 5,\n}\n","export default function (mills: number) {\n    return new Promise(resolve => setTimeout(resolve, mills));\n}\n","//cspell:ignore vnode, describedby\nimport { ref, onMounted, onUnmounted, getCurrentInstance, Ref } from \"vue\";\nimport { focusTrapSetup } from \"@/lib/focusTrapMixin.3\";\n\nexport const dialogProps = [\"triggerElement\"];\nexport const dialogPropsObject = { triggerElement: [HTMLElement, String] };\nexport type DialogProps = {\n    triggerElement: HTMLElement | string;\n};\nexport function dialogSetup(containerRef: Ref<HTMLElement>, props?: DialogProps) {\n    const focusTrap = focusTrapSetup(containerRef);\n    const componentInstance = getCurrentInstance();\n    const dialogRenderPromise = ref<Promise<void>>(null!);\n    const linkModalDescriptionTexts = () => {\n        const describedbyElements: HTMLElement[] = Array.from(containerRef.value?.querySelectorAll(\"[describedby-text]\"));\n        if (describedbyElements.length > 0) {\n            const describedbyTexts: string[] = [];\n            describedbyElements.forEach((elem: HTMLElement, index: number) => {\n                const modalDescriptionText = `modal-description-text-${componentInstance?.uid}-${index}`;\n                (elem as HTMLElement).setAttribute(\"id\", modalDescriptionText);\n                describedbyTexts.push(modalDescriptionText);\n            });\n            containerRef.value?.closest(\".modal-container\")?.setAttribute(\"aria-describedby\", describedbyTexts.join(\" \"));\n        }\n    };\n\n    onMounted(async () => {\n        containerRef.value?.querySelector(\".modal-title\")?.setAttribute(\"id\", `modal-header-text-${componentInstance?.uid}`);\n        containerRef.value?.closest(\".modal-container\")?.setAttribute(\"aria-labelledby\", `modal-header-text-${componentInstance?.uid}`);\n\n        if (dialogRenderPromise.value != null) {\n            containerRef.value?.closest(\".vfm__content\")?.setAttribute(\"tabindex\", \"-1\");\n            // Disable focus trap in order to focus modal container temporarily.\n            // This will enable screen readers to properly scan the label and all of its linked descriptions.\n            focusTrap.focusTrapSetEnabled(false);\n            (containerRef.value?.closest(\".vfm__content\") as HTMLElement)?.focus();\n            await dialogRenderPromise.value;\n            await new Promise(resolve => setTimeout(resolve, 0));\n            linkModalDescriptionTexts();\n            // Re-enable focus trap.\n            focusTrap.focusTrapSetEnabled(true);\n        } else {\n            linkModalDescriptionTexts();\n        }\n    });\n\n    onUnmounted(async () => {\n        if (!props?.triggerElement) return;\n        if (typeof props.triggerElement === \"string\") {\n            await new Promise(resolve => setTimeout(resolve, 0));\n            (document.querySelector(props.triggerElement as string) as unknown as HTMLElement)?.focus();\n        } else {\n            props.triggerElement?.focus();\n        }\n    });\n\n    return {\n        dialogRenderPromise,\n        ...focusTrap,\n    };\n}\n","export default <T>(array: T[]) => {\n    const set = new Set<T>();\n    array.forEach(v => set.add(v));\n    const result: T[] = [];\n    set.forEach(v => result.push(v));\n    return result;\n};\n//eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function objectDistinct<T>(array: T[], map?: (i: T) => any) {\n    const result = [];\n    const obj: Record<string, 1> = {};\n    for (const item of array) {\n        const json = JSON.stringify(map == null ? item : map(item));\n        if (!(json in obj)) {\n            obj[json] = 1;\n            result.push(item);\n        }\n    }\n    return result;\n}\n","import type { mainStore } from \"@/mainStore\";\nimport { refreshXsrfToken, getXsrfToken } from \"./getXsrfToken.3\";\ninterface RequestOptions extends Omit<RequestInit, \"headers\"> {\n    headers?: HeadersInit & {\n        \"X-Return401\"?: boolean;\n        \"X-AccessGov-VersionHash\"?: string;\n        \"X-XSRF-TOKEN\"?: string | null;\n    };\n}\nexport function throwIfNonSuccessStatus(response: Response) {\n    if (response.status != 200) {\n        throw new Error(\"error: \" + response.status);\n    }\n}\nexport async function fetchAuth(context: mainStore, url: string, options?: RequestOptions, fetchM?: (input: RequestInfo | URL, init: RequestInit) => Promise<Response>) {\n    if (options == null) {\n        options = {};\n    }\n    if (options.headers == null) {\n        options.headers = {};\n    }\n    options.headers[\"X-Return401\"] = true;\n    const versionHash = context.globalConfigData?.VersionHash?.toString();\n    url = addQueryParam(url, \"4dfa77b6\", versionHash);\n    options.headers[\"X-AccessGov-VersionHash\"] = versionHash;\n    return await fetch(url, options).then(async response => {\n        const latestVersionHash = response.headers.get(\"X-AccessGov-VersionHash\");\n        if (latestVersionHash != null && latestVersionHash != versionHash) {\n            context.setVersionMismatch(latestVersionHash);\n        }\n        if (response.status == 401) {\n            const mode = await response.json();\n            context.setNeedsLogin(mode);\n            await context.needsLoginPromise;\n            return await (fetchM ?? fetch)(url, options!);\n        } else {\n            return response;\n        }\n    });\n}\n\nfunction addQueryParam(url: string, name: string, value: string) {\n    if (value != null) {\n        const urlUrl = new URL(url);\n        const searchParams = new URLSearchParams(urlUrl.search);\n        searchParams.set(name, value);\n        const newUrl = new URL(`${urlUrl.origin}${urlUrl.pathname}?${searchParams}`);\n        return newUrl.href;\n    } else {\n        return url;\n    }\n}\n\nexport async function fetchXsrf(context: mainStore, url: string, options?: RequestOptions): Promise<Response> {\n    if (options == null) {\n        options = {};\n    }\n    if (options.headers == null) {\n        options.headers = {};\n    }\n    options.headers[\"X-XSRF-TOKEN\"] = await getXsrfToken(context);\n    return await fetchAuth(context, url, options).then(async response => {\n        if (response.status == 400) {\n            options!.headers![\"X-XSRF-TOKEN\"] = await refreshXsrfToken(context);\n            return await fetchAuth(context, url, options, (a, b) => fetchXsrf(context, a as string, b));\n        } else {\n            return response;\n        }\n    });\n}\n","import { ref, onMounted, onUnmounted, Ref, nextTick } from \"vue\";\nimport { useMainStore } from \"@/mainStore\";\n\n// export const focusTrapProps = [\"focusTrapContainer\"];\n// export const focusTrapPropsObject = { focusTrapContainer: [HTMLElement, String] };\n// export type FocusTrapProps = {\n//     focusTrapContainer: HTMLElement | string;\n// };\n\nconst focusQuery = [\"input\", \"select\", \"textarea\", \"button\", \"object\", \"a[href]\", \"area[href]\", \"[tabindex]\"].map(i => i + ':not([disabled]):not([tabindex=\"-1\"])').join(\", \");\nexport function focusTrapSetup(focusTrapContainer: Ref<HTMLElement>) {\n    const mainStore = useMainStore();\n    const focusTrapEnabled = ref(true);\n\n    const focusTrapSetEnabled = (input: boolean) => {\n        focusTrapEnabled.value = input;\n    };\n    const focusTrapListener = (event: FocusEvent) => {\n        /**\n         * Check if active element is the dialog itself.\n         * This means user is clicking to non-focusable elements, for example, text nodes and there's no need to redirect focus.\n         * Fix for text selection not persisting due to focus being redirected.\n         */\n        const dialogFocused = document.activeElement == focusTrapContainer.value.closest(\"[role='dialog']\");\n        if (!focusTrapEnabled.value || dialogFocused) {\n            return;\n        }\n        const parents = [];\n        let currentEl = event.target! as HTMLElement;\n        while (currentEl.parentElement != null) {\n            parents.push(currentEl.parentElement);\n            currentEl = currentEl.parentElement;\n            if (currentEl == focusTrapContainer.value) {\n                // Abort if focused element within trap\n                return;\n            }\n        }\n        const focusableElements = focusTrapContainer.value.querySelectorAll(focusQuery) as unknown as HTMLInputElement[];\n        if (focusableElements.length == 0) {\n            return;\n        }\n        let focusFirstElement = null;\n        if (event.target == document.querySelector(focusQuery)) {\n            // first element in HTML - focus likely came from outside HTML\n            focusFirstElement = true;\n        } else {\n            currentEl = focusTrapContainer.value;\n            while (currentEl.parentElement != null) {\n                const parentIndex = parents.indexOf(currentEl.parentElement);\n                if (parentIndex >= 0) {\n                    if (parentIndex == parents.length - 1) {\n                        focusFirstElement = false;\n                    } else {\n                        const sibs = [...parents[parentIndex].children];\n                        const targetIndex = sibs.indexOf(parents[parentIndex + 1]);\n                        const thisIndex = sibs.indexOf(currentEl);\n                        focusFirstElement = thisIndex < targetIndex;\n                    }\n                    break;\n                }\n                currentEl = currentEl.parentElement;\n            }\n        }\n        const focusElement = focusableElements[focusFirstElement ? 0 : focusableElements.length - 1];\n        focusTrapEnabled.value = false;\n        focusElement.focus();\n        focusTrapEnabled.value = true;\n    };\n\n    onMounted(async () => {\n        document.addEventListener(\"focusin\", focusTrapListener);\n        const focusableElements = focusTrapContainer.value.querySelectorAll(focusQuery) as unknown as HTMLInputElement[];\n        if (focusableElements.length > 0) {\n            await nextTick();\n            focusableElements[0].focus();\n        }\n    });\n    onUnmounted(() => {\n        document.removeEventListener(\"focusin\", focusTrapListener);\n        mainStore.removeLastActiveModal();\n        mainStore.toggleFocusTrapActiveModals(true);\n    });\n\n    mainStore.toggleFocusTrapActiveModals(false);\n    mainStore.addActiveModal(focusTrapEnabled);\n\n    return {\n        focusTrapSetEnabled,\n    };\n}\n","import { UserData } from \"@/cs-ts-bridge/cs/UserData\";\nimport type { mainStore } from \"@/mainStore\";\nexport async function getXsrfToken(context: mainStore) {\n    let xsrfToken = context.xsrfToken;\n    if (!xsrfToken) {\n        xsrfToken = await refreshXsrfToken(context);\n    }\n    return xsrfToken;\n}\n\nexport function refreshXsrfToken(context: mainStore): Promise<string> {\n    if (context.xsrfTokenPromise == null) {\n        context.xsrfTokenPromise = (async () => {\n            const url = await context.urlFetcher(\"getUserData\");\n            const response = await fetch(url, { cache: \"reload\" });\n            const json = (await response.json()) as UserData;\n            const xsrfToken = json.XsrfToken ?? json.XrsfToken; // TODO backward compatibility - remove after release // cspell:ignore xrsf\n            context.setXsrfToken(xsrfToken);\n            return xsrfToken;\n        })();\n    }\n    return context.xsrfTokenPromise;\n}\n\nexport async function getXsftHeader(context: mainStore) {\n    return {\n        \"X-XSRF-TOKEN\": await getXsrfToken(context),\n    };\n}\n","import { convertUtcToTimeZone } from \"./timezoneFunctions\";\nimport { useMainStore } from \"@/mainStore\";\nexport function localeDateTime(value: string | null | undefined | Date) {\n    return value == null ? value : new Date(value).toLocaleString();\n}\nexport function localeDate(value: string | null | undefined | Date) {\n    return value == null ? value : new Date(value).toLocaleDateString();\n}\nexport function localeTime(value: string | null | undefined | Date) {\n    return value == null ? value : new Date(value).toLocaleTimeString();\n}\nexport function tenantDateTime(value: string | null | undefined | Date) {\n    return value == null ? value : convertUtcToTimeZone(value, useMainStore().getTimeZone(null), \"yyyy-MM-DD hh:mm:ss A z\");\n}\n","import moment from \"moment\";\nimport \"moment-timezone\";\nexport function convertTimeZone(datetime: Date | string, oldTimeZone: string, newTimeZone: string, format: string) {\n    const zonedDateTime = moment.tz(datetime, oldTimeZone);\n    zonedDateTime.tz(newTimeZone);\n    return zonedDateTime.format(format);\n}\nexport function convertUtcToTimeZone(datetime: Date | string, newTimeZone: string, format: string) {\n    return convertTimeZone(datetime, \"Etc/UTC\", newTimeZone, format);\n}\nexport function convertTimeZoneToUtc(datetime: Date | string, newTimeZone: string, format: string) {\n    return convertTimeZone(datetime, newTimeZone, \"Etc/UTC\", format);\n}\n","export interface ResolvablePromise<T> extends Promise<T> {\n    resolve(value: T): void;\n    reject(reason: any): void; // eslint-disable-line @typescript-eslint/no-explicit-any\n}\nexport default function resolvablePromise<T>(): ResolvablePromise<T> {\n    const b = {\n        resolve: null! as (v: T) => void,\n        //eslint-disable-next-line @typescript-eslint/no-explicit-any\n        reject: null! as (r: any) => void,\n    };\n    const a = new Promise((resolve, reject) => {\n        b.resolve = resolve;\n        b.reject = reject;\n    });\n    //@ts-ignore\n    a.resolve = b.resolve;\n    //@ts-ignore\n    a.reject = b.reject;\n    return a as ResolvablePromise<T>;\n}\n","export const toggleDropdown = (event: Event) => {\n    const $el = event.target! as HTMLElement;\n    $el.classList.contains(\"show\") ? $el.classList.remove(\"show\") : $el.classList.add(\"show\");\n};\n","import { defineStore } from \"pinia\"; //cspell:ignore pinia // todo global\nimport distinct from \"./lib/distinct\";\nimport resolvablePromise, { ResolvablePromise } from \"./lib/resolvablePromise\";\nimport { LoginJson } from \"@cs/LoginJson\";\nimport { GlobalConfigData } from \"@cs/GlobalConfigData\";\nimport { UserData } from \"@cs/UserData\";\nimport type { Pinia } from \"pinia\";\nimport { flatObjectOfFunc } from \"@/lib/piniaHelper\";\nimport { Ref } from \"vue\";\n\nexport interface TenantData {\n    customFooterHtml: string;\n    customErrorHtml: string;\n    customNotFoundHtml: string;\n    customSessionExpiredHtml: string;\n    tenantCode: string;\n    tenantUrlSlug: string;\n    logoUrl: string;\n    logoAlt: string;\n    timeZone: string;\n    externalHomePageUrl: string;\n    tenantDisplayLabel: string;\n    publicAreaEnabled: boolean;\n    adminAreaEnabled: boolean;\n    googleAnalyticsIds: string[];\n    urlTemplates: {\n        tenanted: Record<string, Record<string, string>>;\n        defaultTenant: Record<string, Record<string, string>>;\n    };\n}\nexport interface LiveRegionMessage {\n    success: string;\n    failure: string;\n    pending: string;\n}\n\nfunction _getTenantLookup(codes: string[], urlPromise: () => Promise<string>, idKey: string, cache: { [key: string]: Promise<string> }, refreshCache: boolean | undefined): { [key: string]: Promise<string> } {\n    codes = distinct(codes);\n    const missingCodes = refreshCache ? codes : codes.filter(i => !cache[i]);\n    if (missingCodes.length > 0) {\n        let index = 0;\n        while (missingCodes.length > index) {\n            let urlParams = \"\";\n            const startIndex = index;\n            while (missingCodes.length > index) {\n                const urlParam = (urlParams == \"\" ? \"?\" : \"&\") + idKey + \"=\" + missingCodes[index];\n                if (urlParam.length + urlParams.length > 6000) {\n                    break;\n                } else {\n                    urlParams += urlParam;\n                    index++;\n                }\n            }\n            const fetchData = urlPromise()\n                .then(baseUrl => fetch(baseUrl + urlParams, { cache: refreshCache ? \"reload\" : \"default\" }))\n                .then(i => i.json());\n            missingCodes.slice(startIndex, index).forEach(code => {\n                //if (code in cache) {\n                //    throw new Error(\"A:\"+JSON.stringify(code));\n                //}\n                cache[code] = fetchData.then(i => i[code.toLowerCase()]);\n            });\n        }\n        //const a = missingCodes.filter(i => !(i in cache));\n        //if (a.length > 0) {\n        //    throw new Error(\"B:\"+JSON.stringify(a));\n        //}\n    }\n    const result = {} as Record<string, Promise<string>>;\n    codes.forEach(code => {\n        result[code] = cache[code];\n    });\n    return result;\n}\nfunction _getTenantDisplayLabel(state: storeState, codes: string[], refreshCache?: boolean | undefined): { [key: string]: Promise<string> } {\n    return _getTenantLookup(codes, () => state.urlFetcher(\"getTenantDisplayLabel\"), \"tenantCodes\", state.tenantDisplayLabelsCache, refreshCache);\n}\nfunction _getTenantUrlSlug(state: storeState, codes: string[], refreshCache?: boolean | undefined): { [key: string]: Promise<string> } {\n    return _getTenantLookup(codes, () => state.urlFetcher(\"getTenantUrlSlugs\"), \"tenantCodes\", state.tenantUrlSlugCache, refreshCache);\n}\nfunction _getTenantCodeByUrlSlug(state: storeState, urlSlugs: string[], refreshCache?: boolean | undefined): { [key: string]: Promise<string> } {\n    return _getTenantLookup(urlSlugs, () => state.urlFetcher(\"getTenantCodeByUrlSlugs\"), \"urlSlugs\", state.tenantCodeByUrlSlugCache, refreshCache);\n}\nfunction _getTenantDisplayLabelByUrlSlug(state: storeState, urlSlugs: string[], refreshCache?: boolean | undefined): { [key: string]: Promise<string> } {\n    return _getTenantLookup(urlSlugs, () => state.urlFetcher(\"getTenantDisplayLabelByUrlSlugs\"), \"urlSlugs\", state.tenantDisplayLabelByUrlSlugCache, refreshCache);\n}\ntype storeState = ReturnType<typeof stateFunc>;\nconst stateFunc = () => ({\n    activeFeatureFlagsPromise: resolvablePromise<string[]>(),\n    xsrfToken: null as null | string,\n    xsrfTokenPromise: null as null | Promise<string>,\n    urlFetcher: null! as (key: string, data?: { [key: string]: string | number | boolean | null | undefined }) => Promise<string>,\n    globalConfigData: null! as GlobalConfigData,\n    userDataPromise: resolvablePromise<UserData>(),\n    tenantData: null! as TenantData,\n    tenantDisplayLabelsCache: {} as { [key: string]: Promise<string> },\n    tenantUrlSlugCache: {} as { [key: string]: Promise<string> },\n    tenantCodeByUrlSlugCache: {} as { [key: string]: Promise<string> },\n    tenantDisplayLabelByUrlSlugCache: {} as { [key: string]: Promise<string> },\n    loginSessionExpire: null as null | Date,\n    hasVersionMismatch: false,\n    hasSession: false,\n    wantedVersionHash: null as null | string,\n    needsLogin: false,\n    needsLoginMode: null as null | LoginJson,\n    needsLoginPromise: null as null | ResolvablePromise<void>,\n    shouldEnsureSiteCssLoaded: false,\n    siteCssLoaded: resolvablePromise<void>(),\n    activeModals: [] as Ref<boolean>[],\n    liveRegionPromise: null as Promise<string> | null | undefined,\n    liveRegionPendingMessage: undefined as string | undefined,\n});\nconst getters = {\n    tenantCode: (state: storeState) => (state.tenantData || {}).tenantCode as string,\n    getTenantDisplayLabel: (state: storeState) => (codes: string[], refreshCache?: boolean | undefined) => _getTenantDisplayLabel(state, codes, refreshCache),\n    getTenantUrlSlug: (state: storeState) => (codes: string[], refreshCache?: boolean | undefined) => _getTenantUrlSlug(state, codes, refreshCache),\n    getTenantCodeByUrlSlug: (state: storeState) => (urlSlugs: string[], refreshCache?: boolean | undefined) => _getTenantCodeByUrlSlug(state, urlSlugs, refreshCache),\n    getTenantDisplayLabelByUrlSlug: (state: storeState) => (urlSlugs: string[], refreshCache?: boolean | undefined) => _getTenantDisplayLabelByUrlSlug(state, urlSlugs, refreshCache),\n    getTimeZone: (state: storeState) => (code: string[] | string | null | undefined) => (state.tenantData || {}).timeZone as string, // TODO per container\n    isFeatureFlagActiveAsync: (state: storeState) => async (flag: string) => (await state.activeFeatureFlagsPromise).includes(flag),\n    getUrl: (state: storeState) => (key: string, data?: { [key: string]: string | number | boolean | null | undefined }) => state.urlFetcher(key, data),\n    isLoggedInPromise: async (state: storeState) => (await state.userDataPromise)?.IsLoggedIn,\n    now: (state: storeState) => () => {\n        const nowStr = state.globalConfigData?.OverriddenNow as unknown as string | null;\n        let now = nowStr == null || nowStr == \"\" ? null : new Date(nowStr);\n        const autoAdvance = state.globalConfigData?.OverriddenNowAutoAdvance ?? true;\n        if (now == null) {\n            now = new Date();\n        } else if (autoAdvance) {\n            const autoAdvanceFromStr = state.globalConfigData?.OverriddenNowOn as unknown as string | null;\n            const autoAdvanceFrom = autoAdvanceFromStr == null || autoAdvanceFromStr == \"\" ? null : new Date(autoAdvanceFromStr);\n            const diff = Date.now() - autoAdvanceFrom!.getTime();\n            now = new Date(now!.getTime() + diff);\n        }\n        return now;\n    },\n};\nconst actions = {\n    setNeedsLogin(this: storeState, mode: LoginJson) {\n        this.needsLoginPromise = resolvablePromise();\n        this.needsLogin = true;\n        this.needsLoginMode = mode;\n        this.needsLoginPromise.then(() => {\n            this.needsLogin = false;\n        });\n    },\n    setVersionMismatch(this: storeState, wantedVersionHash: string) {\n        this.hasVersionMismatch = true;\n        this.wantedVersionHash = wantedVersionHash;\n    },\n    setXsrfToken(this: storeState, xsrfToken: string) {\n        this.xsrfToken = xsrfToken;\n    },\n    async ensureSiteCssLoaded(this: storeState) {\n        this.shouldEnsureSiteCssLoaded = true;\n        return this.siteCssLoaded;\n    },\n    setUserData(this: storeState, userData: UserData) {\n        this.userDataPromise = resolvablePromise<UserData>();\n        this.userDataPromise.resolve(userData);\n    },\n    addActiveModal(this: storeState, newModal: Ref<boolean>) {\n        this.activeModals.push(newModal);\n    },\n    removeLastActiveModal(this: storeState) {\n        this.activeModals.pop();\n    },\n    toggleFocusTrapActiveModals(this: storeState, focusTrapState: boolean) {\n        const activeModals = this.activeModals;\n        if (!activeModals.length) return;\n        if (focusTrapState) {\n            activeModals[activeModals.length - 1].value = focusTrapState;\n        } else {\n            for (const activeModal of activeModals) {\n                activeModal.value = focusTrapState;\n            }\n        }\n    },\n    setLiveRegion(this: storeState, promise: null | Promise<string>, pendingMessage?: string) {\n        this.liveRegionPendingMessage = pendingMessage;\n        this.liveRegionPromise = promise;\n    },\n};\nexport const useMainStore = defineStore<string, storeState, typeof getters, typeof actions>(\"main\", {\n    state: stateFunc,\n    getters,\n    actions,\n}) as (pinia?: Pinia | null | undefined) => mainStore;\nexport type mainStore = storeState & flatObjectOfFunc<typeof getters> & typeof actions;\n","//@ts-ignore\nwindow.ServiceWorkerRegistration = window.ServiceWorkerRegistration ?? { prototype: {} };\n","const publicPath = document.getElementById(\"publicPath\")?.innerHTML;\n/* global __webpack_public_path__:writable */ // eslint-disable-line @typescript-eslint/no-unused-vars\n//@ts-ignore\n__webpack_public_path__ = publicPath;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\nbody {\n    position: relative;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./AppShell.3.vue\"],\"names\":[],\"mappings\":\";AAEA;IACI,kBAAkB;AACtB\",\"sourcesContent\":[\"<style lang=\\\"less\\\" src=\\\"./styles/DFStyle_SiteIndex_Template.less\\\"></style>\\n<style>\\nbody {\\n    position: relative;\\n}\\n</style>\\n<style lang=\\\"less\\\" scoped>\\n.dropdown-toggle {\\n    cursor: pointer;\\n}\\n.user-control a {\\n    color: #fff;\\n    &.icon {\\n        display: flex;\\n        align-items: center;\\n        text-decoration: none;\\n        &:before {\\n            color: #fff;\\n            margin-right: 0.5rem;\\n        }\\n        &:after {\\n            color: #fff;\\n            margin-left: 0.5rem;\\n        }\\n    }\\n}\\n.navbar .user-menu {\\n    margin-top: 10px;\\n}\\n</style>\\n<template>\\n    <Promised :promise=\\\"dataPromise\\\" v-slot:combined=\\\"{ isPending, isDelayOver, data, error }\\\">\\n        <LoadingWheel :width=\\\"100\\\" v-if=\\\"isPending && isDelayOver && data == null\\\" />\\n        <template v-if=\\\"error != null\\\">\\n            <div>An error occurred!</div>\\n        </template>\\n        <link rel=\\\"stylesheet\\\" href=\\\"https://fonts.googleapis.com/css?family=Open+Sans:400,600,700\\\" @load=\\\"setLoaded('opensans')\\\" />\\n        <template v-if=\\\"data != null && !isAdminComponent\\\">\\n            <Promised :promise=\\\"siteDesignIndexStylesUrl\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                <link rel=\\\"stylesheet\\\" :href=\\\"resolvedUrl\\\" @load=\\\"setLoaded('siteIndexCss')\\\" />\\n            </Promised>\\n            <template v-if=\\\"component != 'IndexPage' || loaded.siteCss || shouldLoadSiteCss\\\">\\n                <nonIndexStyles :siteDesignStylesUrl=\\\"siteDesignStylesUrl\\\" @load=\\\"setLoaded('siteCss')\\\" />\\n            </template>\\n            <template v-else>\\n                <Promised :promise=\\\"siteDesignStylesUrl\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\"><link rel=\\\"prefetch\\\" :href=\\\"resolvedUrl\\\" /></Promised>\\n            </template>\\n        </template>\\n        <template v-if=\\\"isAdminComponent\\\">\\n            <AdminStyles />\\n        </template>\\n        <LoadingWheel :width=\\\"100\\\" v-show=\\\"data != null && !allLoaded\\\" />\\n        <div v-show=\\\"allLoaded\\\" v-if=\\\"data != null\\\" @click=\\\"globalClick($event)\\\">\\n            <SessionExpiringModal v-if=\\\"showLoginExpiringBanner\\\" :as-modal=\\\"false\\\" :expireTime=\\\"sessionTimeout\\\" :isLoggedIn=\\\"true\\\" />\\n            <VersionMismatchBanner v-if=\\\"hasVersionMismatch\\\" />\\n            <!-- <pre>HS:{{ hasSession }}, RST: {{ relativeSessionTimeout }}</pre> -->\\n            <!-- Admin Top Navigation -->\\n            <nav id=\\\"AdminTopNavigation\\\" class=\\\"navbar flex-md-nowrap p-0\\\" v-if=\\\"isAdminComponent && !isPageEditorComponent\\\" role=\\\"banner\\\">\\n                <div class=\\\"navbar-brand\\\">\\n                    <img v-if=\\\"isBridgeBrandEnabled\\\" src=\\\"./images/eb_logo_white_bridge.png\\\" alt=\\\"AccessGov\\\" />\\n                    <img v-else src=\\\"./images/eb_logo_white.png\\\" alt=\\\"AccessGov\\\" />\\n                </div>\\n                <div class=\\\"navbar-right ml-auto form-inline\\\">\\n                    <div class=\\\"tenant-control\\\">\\n                        <!-- TODO: Use Display Label and show caret with dropdown-toggle class if user has more than one tenant to choose from -->\\n                        <div class=\\\"\\\">{{ data.tenantData.tenantDisplayLabel }}</div>\\n                    </div>\\n                    <div v-show=\\\"isLoggedIn\\\" class=\\\"user-control\\\">\\n                        <div class=\\\"dropdown\\\">\\n                            <a role=\\\"button\\\" tabindex=\\\"0\\\" class=\\\"dropdown-toggle icon icon-user-solid\\\" @click.prevent.stop=\\\"toggleDropdown($event)\\\" aria-haspopup=\\\"menu\\\" aria-controls=\\\"AdminUserMenu\\\" aria-label=\\\"User Name and Options Toggle\\\">\\n                                {{ data.userData == null ? null : data.userData.UserName }}\\n                            </a>\\n                            <ul class=\\\"dropdown-menu user-menu\\\" role=\\\"menu\\\" id=\\\"AdminUserMenu\\\" aria-label=\\\"User Options\\\">\\n                                <li v-show=\\\"hasMultiFactorAuthenticationFeature\\\">\\n                                    <Promised :promise=\\\"getUrl('multiFactorAuthenticationIndex')\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                                        <a @click.prevent=\\\"changePage({ page: 'MultiFactorAuthenticationIndex' })\\\" :href=\\\"resolvedUrl\\\" role=\\\"menuitem\\\">MFA Settings</a>\\n                                    </Promised>\\n                                </li>\\n                                <Promised :promise=\\\"getLogoutUrl()\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                                    <li>\\n                                        <a :href=\\\"resolvedUrl\\\" role=\\\"menuitem\\\"> Log Out </a>\\n                                    </li>\\n                                </Promised>\\n                            </ul>\\n                        </div>\\n                    </div>\\n                    <div v-show=\\\"!isLoggedIn\\\" class=\\\"user-control\\\">\\n                        <Promised :promise=\\\"getLoginUrl(1)\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                            <a :href=\\\"resolvedUrl\\\">Log In</a>\\n                        </Promised>\\n                    </div>\\n                </div>\\n            </nav>\\n            <!-- Admin Left Navigation -->\\n            <nav id=\\\"AdminLeftNavigation\\\" class=\\\"sidebar-sticky left-nav-pri live flex-column d-flex\\\" v-if=\\\"isAdminComponent && !isPageEditorComponent && data.userData != null\\\" role=\\\"navigation\\\" aria-label=\\\"Admin Links\\\">\\n                <ul class=\\\"nav flex-column\\\">\\n                    <li class=\\\"nav-item\\\">\\n                        <Promised :promise=\\\"getUrl('admin')\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                            <a class=\\\"nav-link icon icon-lg-home\\\" :class=\\\"component == 'Admin' ? ['active'] : []\\\" @click.prevent=\\\"changePage({ page: 'Admin' })\\\" :href=\\\"resolvedUrl\\\"><div class=\\\"nav-caption\\\">Dashboard</div></a>\\n                        </Promised>\\n                    </li>\\n                    <li class=\\\"nav-item\\\" v-show=\\\"data.userData.CanTestForms || data.userData.CanReview\\\" v-if=\\\"hasPageworkflowFeature\\\">\\n                        <Promised :promise=\\\"getUrl('adminTasksIndex')\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                            <a class=\\\"nav-link icon icon-lg-tasks\\\" :class=\\\"component == 'AdminTasksIndex' ? ['active'] : []\\\" @click.prevent=\\\"changePage({ page: 'AdminTasksIndex' })\\\" :href=\\\"resolvedUrl\\\"><div class=\\\"nav-caption\\\">Tasks</div></a>\\n                        </Promised>\\n                    </li>\\n                    <li class=\\\"nav-item\\\" v-show=\\\"data.userData.CanTestForms || data.userData.CanReview\\\">\\n                        <Promised :promise=\\\"getUrl('adminSearch')\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                            <a class=\\\"nav-link icon icon-lg-submissions\\\" :class=\\\"component == 'AdminSearch' ? ['active'] : []\\\" @click.prevent=\\\"changePage({ page: 'AdminSearch' })\\\" :href=\\\"resolvedUrl\\\"><div class=\\\"nav-caption\\\">Submissions</div></a>\\n                        </Promised>\\n                    </li>\\n                    <li class=\\\"nav-item\\\" v-show=\\\"data.userData.CanEditForms\\\">\\n                        <Promised :promise=\\\"getUrl('adminPageIndex')\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                            <a class=\\\"nav-link icon icon-lg-sites\\\" :class=\\\"component == 'AdminPage' || component == 'AdminPageNew' || component == 'AdminPageDiscontinue' || component == 'AdminPageTransfer' || component == 'AdminPageEdit' || component == 'AdminGuidedSearch' || component == 'AdminWidget' ? ['active'] : []\\\" @click.prevent=\\\"changePage({ page: 'AdminPage' })\\\" :href=\\\"resolvedUrl\\\"><div class=\\\"nav-caption\\\">Sites</div></a>\\n                        </Promised>\\n                    </li>\\n                    <li class=\\\"nav-item\\\" v-show=\\\"data.userData.CanViewDataSources\\\">\\n                        <Promised :promise=\\\"getUrl('adminDataSources', { id: null })\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                            <a class=\\\"nav-link icon icon-lg-data\\\" :class=\\\"component == 'AdminDataSources' ? ['active'] : []\\\" @click.prevent=\\\"changePage({ page: 'AdminDataSources', settings: { id: null } })\\\" :href=\\\"resolvedUrl\\\"><div class=\\\"nav-caption\\\">Data Sources</div></a>\\n                        </Promised>\\n                    </li>\\n                    <li class=\\\"nav-item\\\" v-show=\\\"data.userData.CanManageUsers\\\">\\n                        <Promised :promise=\\\"getUrl('adminUserManagementUsers')\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                            <a class=\\\"nav-link icon icon-lg-users\\\" :class=\\\"component == 'AdminUserManagementUsers' || component == 'AdminUserManagementGroups' ? ['active'] : []\\\" @click.prevent=\\\"changePage({ page: 'AdminUserManagementUsers' })\\\" :href=\\\"resolvedUrl\\\"\\n                                ><div class=\\\"nav-caption\\\">User<br />Management</div></a\\n                            >\\n                        </Promised>\\n                    </li>\\n                </ul>\\n                <ul class=\\\"nav flex-column admin-bottom-links\\\">\\n                    <li class=\\\"nav-item\\\" v-show=\\\"(data.userData.CanViewAllTenantsBilling || data.userData.CanViewTenantBilling) && hasBillingPageFeature\\\">\\n                        <Promised :promise=\\\"getUrl('adminBilling', { includeAllTenants: false, start: null, end: null })\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                            <a class=\\\"nav-link icon icon-lg-billing\\\" :class=\\\"component == 'AdminBilling' ? ['active'] : []\\\" @click.prevent=\\\"changePage({ page: 'AdminBilling', settings: { includeAllTenants: false, start: null, end: null } })\\\" :href=\\\"resolvedUrl\\\"><div class=\\\"nav-caption\\\">Billing</div></a>\\n                        </Promised>\\n                    </li>\\n                    <li class=\\\"nav-item\\\" v-show=\\\"data.userData.CanViewAllTenantsStats || (data.userData.CanViewTenantStats && hasTenantStatsFeature)\\\">\\n                        <Promised :promise=\\\"getUrl('adminStats', { includePageDetails: false, includeAllTenants: false, start: null, end: null })\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                            <a class=\\\"nav-link icon icon-lg-stats\\\" :class=\\\"component == 'AdminStats' ? ['active'] : []\\\" @click.prevent=\\\"changePage({ page: 'AdminStats', settings: { includePageDetails: false, includeAllTenants: false, start: null, end: null } })\\\" :href=\\\"resolvedUrl\\\"><div class=\\\"nav-caption\\\">Stats</div></a>\\n                        </Promised>\\n                    </li>\\n                    <li class=\\\"nav-item\\\" v-show=\\\"data.userData.CanViewFeatureFlags\\\">\\n                        <Promised :promise=\\\"getUrl('adminFeatureFlags')\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                            <a class=\\\"nav-link icon icon-lg-flag\\\" :class=\\\"component == 'AdminFeatureFlags' ? ['active'] : []\\\" @click.prevent=\\\"changePage({ page: 'AdminFeatureFlags' })\\\" :href=\\\"resolvedUrl\\\"><div class=\\\"nav-caption\\\">Feature Flags</div></a>\\n                        </Promised>\\n                    </li>\\n                    <li class=\\\"nav-item\\\" v-show=\\\"data.userData.CanManageTenants\\\">\\n                        <Promised :promise=\\\"getUrl('adminTenantManagementIndex')\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                            <a class=\\\"nav-link icon icon-lg-settings\\\" :class=\\\"component == 'AdminTenantManagementIndex' || component == 'AdminTenantManagementEdit' ? ['active'] : []\\\" @click.prevent=\\\"changePage({ page: 'AdminTenantManagementIndex' })\\\" :href=\\\"resolvedUrl\\\"><div class=\\\"nav-caption\\\">Tenants</div></a>\\n                        </Promised>\\n                    </li>\\n                </ul>\\n            </nav>\\n            <!-- Public Top Navigation -->\\n            <div id=\\\"public-nav-wrapper\\\" v-if=\\\"!isAdminComponent\\\">\\n                <div id=\\\"layoutContainer\\\">\\n                    <nav class=\\\"navbar fixed-top navbar-expand-md navbar-inverse navbar-dark\\\" role=\\\"banner\\\">\\n                        <div class=\\\"container-fluid\\\">\\n                            <button type=\\\"button\\\" class=\\\"navbar-toggler pull-right\\\" data-toggle=\\\"collapse\\\" data-target=\\\"#collapse2\\\" aria-expanded=\\\"false\\\" @click.capture=\\\"toggleMobileNav\\\">\\n                                <span class=\\\"sr-only\\\">Toggle navigation</span>\\n                                <span class=\\\"icon-bar\\\"></span>\\n                                <span class=\\\"icon-bar\\\"></span>\\n                                <span class=\\\"icon-bar\\\"></span>\\n                            </button>\\n                            <div class=\\\"navbar-brand\\\">\\n                                <picture>\\n                                    <source :srcset=\\\"data.tenantData.logoUrl + '&height=50 1x, ' + data.tenantData.logoUrl + '&height=75 1.5x, ' + data.tenantData.logoUrl + '&height=100 2x, ' + data.tenantData.logoUrl + '&height=200 4x'\\\" />\\n                                    <img :src=\\\"data.tenantData.logoUrl + '&height=50'\\\" height=\\\"50\\\" :alt=\\\"(data.tenantData.logoAlt || data.tenantData.tenantDisplayLabel) + ' - AccessGov: Empowered by Tyler Technologies'\\\" />\\n                                </picture>\\n                            </div>\\n                            <a class=\\\"d-block d-md-none search-toggle nav-item nav-link\\\" @click=\\\"showSearch(data)\\\" v-if=\\\"data.userData != null && data.userData.CanUserSearchPages\\\">\\n                                <span class=\\\"sr-only\\\">Search</span>\\n                                <span class=\\\"icon icon-search\\\"></span>\\n                            </a>\\n                            <div class=\\\"navbar-collapse\\\" :class=\\\"showMobileNav ? [] : ['collapse']\\\" id=\\\"collapse2\\\" @click=\\\"toggleMobileNav\\\">\\n                                <ul class=\\\"nav navbar-nav navbar-right\\\">\\n                                    <!-- @Html.RenderResources(LayoutInsertions.PreHeaderLinks) -->\\n                                    <li class=\\\"d-none d-md-block search-toggle nav-item\\\" id=\\\"searchNavLink\\\" v-if=\\\"data.userData != null && data.userData.CanUserSearchPages\\\">\\n                                        <a class=\\\"nav-link\\\" role=\\\"button\\\" tabindex=\\\"0\\\" @click=\\\"showSearch(data)\\\">\\n                                            <span class=\\\"icon icon-search\\\"></span>\\n                                            <span>&nbsp;Search</span>\\n                                        </a>\\n                                    </li>\\n                                    <li id=\\\"homeNavLink\\\" class=\\\"nav-item\\\" v-show=\\\"data.userData != null && data.userData.CanUserViewHomePage\\\">\\n                                        <Promised :promise=\\\"getUrl('index')\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\"><a role=\\\"button\\\" tabindex=\\\"0\\\" class=\\\"nav-link\\\" @click.prevent=\\\"changePage({ page: 'Index' })\\\" :href=\\\"resolvedUrl\\\">Home</a></Promised>\\n                                    </li>\\n                                    <li id=\\\"directoryNavLink\\\" class=\\\"nav-item\\\" v-show=\\\"data.userData != null && data.userData.CanUserViewDirectory\\\">\\n                                        <Promised :promise=\\\"getUrl('directory')\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\"><a role=\\\"button\\\" tabindex=\\\"0\\\" class=\\\"nav-link\\\" @click.prevent=\\\"changePage({ page: 'Directory' })\\\" :href=\\\"resolvedUrl\\\">Directory</a></Promised>\\n                                    </li>\\n                                    <!-- @Html.RenderResources(LayoutInsertions.InnerHeaderLinks) -->\\n                                    <li class=\\\"nav-item user-control\\\" v-show=\\\"isLoggedIn\\\">\\n                                        <div class=\\\"dropdown\\\">\\n                                            <a role=\\\"button\\\" tabindex=\\\"0\\\" class=\\\"dropdown-toggle nav-link icon icon-user-solid\\\" @click.prevent.stop=\\\"toggleDropdown($event)\\\" aria-haspopup=\\\"menu\\\" aria-controls=\\\"PublicUserMenu\\\" aria-label=\\\"User Name and Options Toggle\\\">\\n                                                {{ data.userData != null ? data.userData.UserName : null }}\\n                                            </a>\\n                                            <ul class=\\\"dropdown-menu user-menu\\\" role=\\\"menu\\\" id=\\\"PublicUserMenu\\\" aria-label=\\\"User Options\\\">\\n                                                <!--@Html.RenderResources(LayoutInsertions.PreUserMenu) -->\\n                                                <li v-show=\\\"data.userData == null ? false : data.userData.IsAdmin\\\">\\n                                                    <Promised :promise=\\\"getUrl('admin')\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                                                        <a @click.prevent=\\\"changePage({ page: 'Admin' })\\\" :href=\\\"resolvedUrl\\\" role=\\\"menuitem\\\">Admin Dashboard</a>\\n                                                    </Promised>\\n                                                </li>\\n                                                <li v-show=\\\"hasMultiFactorAuthenticationFeature\\\">\\n                                                    <Promised :promise=\\\"getUrl('multiFactorAuthenticationIndex')\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                                                        <a @click.prevent=\\\"changePage({ page: 'MultiFactorAuthenticationIndex' })\\\" :href=\\\"resolvedUrl\\\">MFA Settings</a>\\n                                                    </Promised>\\n                                                </li>\\n                                                <!--@Html.RenderResources(LayoutInsertions.InnerUserMenu) -->\\n                                                <li role=\\\"separator\\\" class=\\\"divider\\\"></li>\\n                                                <li>\\n                                                    <Promised :promise=\\\"getLogoutUrl()\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\">\\n                                                        <a :href=\\\"resolvedUrl\\\"> Log Out </a>\\n                                                    </Promised>\\n                                                </li>\\n                                                <!--@Html.RenderResources(LayoutInsertions.PostUserMenu)-->\\n                                            </ul>\\n                                        </div>\\n                                    </li>\\n                                    <li class=\\\"login nav-item\\\" v-show=\\\"!isLoggedIn && !isUserLoginDisabled\\\">\\n                                        <Promised :promise=\\\"getLoginUrl(0)\\\" v-slot:combined=\\\"{ data: resolvedUrl }\\\"><a class=\\\"nav-link\\\" :href=\\\"resolvedUrl\\\"> Log In </a></Promised>\\n                                    </li>\\n                                    <!--@Html.RenderResources(LayoutInsertions.PostHeaderLinks)-->\\n                                </ul>\\n                            </div>\\n                        </div>\\n                    </nav>\\n                </div>\\n            </div>\\n            <!-- Body Content -->\\n            <div class=\\\"body-content\\\" id=\\\"BodyContent\\\">\\n                <keep-alive>\\n                    <component v-bind:is=\\\"component\\\" v-on:change-page=\\\"changePage\\\" v-on:update-page=\\\"updatePage\\\" v-bind:settings=\\\"componentSettings\\\"></component>\\n                </keep-alive>\\n            </div>\\n            <div id=\\\"public-footer-wrapper\\\" v-show=\\\"component\\\" v-if=\\\"!isAdminComponent && customFooterHtml !== undefined\\\" role=\\\"contentinfo\\\" aria-label=\\\"Footer\\\">\\n                <div v-html=\\\"customFooterHtml\\\" v-if=\\\"customFooterHtml != null\\\"></div>\\n            </div>\\n            <div v-if=\\\"hasDeploymentToggle || hasOverrideableNow\\\" style=\\\"z-index: 999999; position: fixed; display: inline-block; left: 0; right: 0; top: 0; text-align: center; background: black; color: red; margin: auto\\\" :style=\\\"{ width: (hasDeploymentToggle ? 8 : 0) + (hasOverrideableNow ? 10 : 0) + 'em' }\\\">\\n                <template v-if=\\\"hasDeploymentToggle\\\">\\n                    <a target=\\\"SetDeploymentToggle\\\" :href=\\\"data.userData?.DeploymentToggleUrl\\\">{{ data.userData?.Deployment }}</a>\\n                </template>\\n                <template v-if=\\\"hasDeploymentToggle && hasOverrideableNow\\\"> / </template>\\n                <template v-if=\\\"hasOverrideableNow\\\">\\n                    <a target=\\\"SetFakeTime\\\" :href=\\\"data.userData?.OverrideableNowUrl\\\">\\n                        <span v-if=\\\"overriddenNow\\\">{{ overriddenNow.toLocaleString() }}</span>\\n                        <strong v-else>NOT OVERRIDDEN</strong>\\n                    </a>\\n                </template>\\n            </div>\\n            <ModalsContainer />\\n            <LiveRegion />\\n        </div>\\n    </Promised>\\n</template>\\n<script lang=\\\"ts\\\">\\n//cspell:ignore unref\\nimport { defineComponent, defineAsyncComponent, ref, computed, watch, provide, Ref, onMounted, onUnmounted, nextTick, inject, triggerRef, markRaw, unref } from \\\"vue\\\";\\n//@ts-expect-error\\nimport { ModalsContainer } from \\\"vue-final-modal\\\";\\nimport ModalWrapper from \\\"./ModalWrapper.3.vue\\\";\\nimport LoadingWheel from \\\"./lib/LoadingWheel.3.vue\\\";\\nimport IndexPage from \\\"./public/pages/Index.3.vue\\\";\\nimport LoginModal from \\\"./LoginModal.3.vue\\\";\\nimport VersionMismatchBanner from \\\"./VersionMismatchBanner.3.vue\\\";\\n//import AdminIndex from \\\"./admin/Index.3.vue\\\";\\nimport SessionExpiringModal from \\\"./SessionExpiringModal.3.vue\\\";\\nimport LoadingPlaceholder from \\\"./lib/LoadingPlaceholder.3.vue\\\";\\nimport { Promised } from \\\"vue-promised\\\";\\nimport { useMainStore, TenantData } from \\\"./mainStore\\\";\\nimport { cookieStore } from \\\"./lib/cookie-store\\\";\\nimport { computedAsync } from \\\"@vueuse/core\\\";\\nimport { UserData } from \\\"@cs/UserData\\\";\\nimport resolvablePromise from \\\"./lib/resolvablePromise\\\";\\nimport { changePageInjectKey, ChangePageEvent, updatePageInjectKey, getLoginUrlInjectKey, showModalInjectKey, loadUserDataInjectKey } from \\\"./AppShell.3.vue.InjectKeys\\\";\\nimport { toggleDropdown } from \\\"@/lib/toggleDropdown.3\\\";\\nimport { KnownFeatureFlags } from \\\"@cs/KnownFeatureFlags\\\";\\nimport LiveRegion from \\\"@/lib/LiveRegion.3.vue\\\";\\nimport NavSearchModal from \\\"./NavSearchModal.3.vue\\\";\\nlet shouldSkipGaSetup = false;\\ndeclare global {\\n    interface Window {\\n        dataLayer: any[]; // eslint-disable-line @typescript-eslint/no-explicit-any\\n        gtag(...rest: Array<any>): void; // eslint-disable-line @typescript-eslint/no-explicit-any\\n        ga(...rest: Array<any>): void; // eslint-disable-line @typescript-eslint/no-explicit-any\\n    }\\n}\\nimport { vfmInjectKey } from \\\"./appExportKeys.3\\\";\\nexport default defineComponent({\\n    skipGaSetup() {\\n        shouldSkipGaSetup = true;\\n    },\\n    props: [],\\n    setup() {\\n        const vfm = inject(vfmInjectKey)!;\\n        if (vfm == null) throw new Error(\\\"Missing VFM\\\");\\n\\n        // State\\n        const currentUrl = ref(null as undefined | null | string);\\n        const isAdminComponent = ref(null as unknown as boolean);\\n        const isPageEditorComponent = ref(null as unknown as boolean);\\n        const showMobileNav = ref(false as boolean);\\n        const searchVisible = ref(false as boolean);\\n        const showAdminMenu = ref(false as boolean);\\n        const searchRootTenant = ref(false as boolean);\\n        const searchText = ref(null as string | null);\\n        const searchTextDebounced = ref(null as string | null);\\n        const component = ref(null as string | null | undefined);\\n        // TODO type instead of any\\n        const componentSettings = ref(null as any); // eslint-disable-line @typescript-eslint/no-explicit-any\\n        const tenantDataPromise = ref(null as null | Promise<TenantData>);\\n        const userDataPromise = ref(null as null | Promise<UserData>);\\n        const displayLabelCache = ref({} as { [key: string]: Promise<string> });\\n        const shouldLoadSiteCss = ref(false);\\n        const loaded = ref({\\n            opensans: false,\\n            siteIndexCss: false,\\n            siteCss: false,\\n        });\\n        const sessionTimeout = ref(null as Date | null);\\n        const showLoginExpiringBanner = ref(false);\\n\\n        const mainStore = useMainStore();\\n\\n        const siteDesignStylesUrl = computed(async () => {\\n            const options = { editorMode: false };\\n            if (userDataPromise.value != null && (await userDataPromise.value).ActiveFeatureFlags.includes(\\\"StyleEditorMode\\\")) {\\n                options.editorMode = true;\\n            }\\n            return await getUrl(\\\"siteDesignStyles\\\", options);\\n        });\\n        const siteDesignIndexStylesUrl = computed(async () => {\\n            const options = { editorMode: false };\\n            if (userDataPromise.value != null && (await userDataPromise.value).ActiveFeatureFlags.includes(\\\"StyleEditorMode\\\")) {\\n                options.editorMode = true;\\n            }\\n            return await getUrl(\\\"siteDesignIndexStyles\\\", options);\\n        });\\n        const needsLogin = computed(() => {\\n            return mainStore.needsLogin;\\n        });\\n        const isLoggedIn = computedAsync(async () => {\\n            return (await mainStore.userDataPromise).IsLoggedIn;\\n        });\\n        const hasSession = computed(() => {\\n            return mainStore.hasSession || isAdminComponent.value;\\n        });\\n        const hasVersionMismatch = computed(() => {\\n            return mainStore.hasVersionMismatch;\\n        });\\n\\n        const promiseComputable = <TInput, TOutput>(promiseRef: Ref<Promise<TInput> | null>, func: (promise: Promise<TInput> | null) => Promise<TOutput>): Ref<TOutput> => {\\n            //VUE2 issue?\\n            return computedAsync(() => func(promiseRef.value)) as unknown as Ref<TOutput>;\\n        };\\n\\n        const hasPageworkflowFeature = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\\\"PageWorkflow\\\") || null));\\n        const isUserLoginDisabled = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\\\"DisableUserLogin\\\") || null));\\n        const hasTenantStatsFeature = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\\\"TenantStats\\\") || null));\\n        const hasBillingPageFeature = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\\\"BillingStatsPage\\\") || null));\\n        const hasShowDataSourceTestModeSyncFeature = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\\\"ShowDataSourceTestModeSync\\\") || null));\\n        const hasMultiFactorAuthenticationFeature = promiseComputable(userDataPromise, async userDataPromise => {\\n            if (userDataPromise == null) return null;\\n            if (!(await userDataPromise).ActiveFeatureFlags.includes(\\\"MultiFactorAuthentication\\\")) return null;\\n            const url = await getUrl(\\\"multiFactorAuthenticationUserData\\\");\\n            const result = await (await fetch(url)).json();\\n            return result.IsStateUser;\\n        });\\n        const hasDeploymentToggle = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\\\"DeploymentToggle\\\") || null));\\n        const hasOverrideableNow = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(KnownFeatureFlags.OverridableNow.Id) || null));\\n        const overriddenNow = ref(null as Date | null);\\n        let getOverriddenNowTimeoutId: null | ReturnType<typeof setTimeout> = null;\\n        const setOverriddenNow = () => {\\n            if (mainStore.globalConfigData?.OverriddenNow == null) {\\n                return null;\\n            }\\n            overriddenNow.value = mainStore.now();\\n            const autoAdvance = mainStore.globalConfigData.OverriddenNowAutoAdvance ?? true;\\n            if (autoAdvance) {\\n                getOverriddenNowTimeoutId = setTimeout(setOverriddenNow, 1000);\\n            }\\n        };\\n        onUnmounted(() => clearTimeout(getOverriddenNowTimeoutId!));\\n        watch(\\n            () => mainStore.globalConfigData,\\n            () => {\\n                clearTimeout(getOverriddenNowTimeoutId!);\\n                setOverriddenNow();\\n            },\\n            { immediate: true, deep: true },\\n        );\\n        const isBridgeBrandEnabled = promiseComputable(userDataPromise, async i => (i == null ? undefined : (await i).ActiveFeatureFlags.includes(\\\"EngagementBuilderBridgeBrand\\\") || null));\\n        const customFooterHtml = promiseComputable(tenantDataPromise, async i => {\\n            return i == null ? undefined : (await i).customFooterHtml || null;\\n        });\\n        const isPublicAreaEnabled = promiseComputable(tenantDataPromise, async i => (i == null ? undefined : (await i).publicAreaEnabled));\\n        const isAdminAreaEnabled = promiseComputable(tenantDataPromise, async i => (i == null ? undefined : (await i).adminAreaEnabled));\\n        const allLoaded = computed(() => {\\n            return (Object.keys(loaded.value) as (keyof typeof loaded.value)[]).every(k => (component.value == \\\"IndexPage\\\" && k == \\\"siteCss\\\") || (isAdminComponent.value && (k == \\\"siteCss\\\" || k == \\\"siteIndexCss\\\")) || loaded.value[k]);\\n        });\\n        const dataPromise = computed(async () => {\\n            const [userData, tenantData] = await Promise.all([userDataPromise.value, tenantDataPromise.value]);\\n            return {\\n                userData,\\n                tenantData,\\n            };\\n        });\\n\\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n        const showModalFunc = (component: any, params: any, events?: any, bind?: any) => {\\n            const isOpened = resolvablePromise<void>();\\n            events ??= {};\\n            const a = events.opened;\\n            events.opened = () => {\\n                if (a != null) {\\n                    a();\\n                }\\n                isOpened.resolve();\\n            };\\n            vfm.show(\\n                {\\n                    component: ModalWrapper,\\n                    on: events,\\n                    bind, // https://v3.vue-final-modal.org/guide/properties\\n                },\\n                {\\n                    innerComponent: markRaw(component),\\n                    innerParams: params,\\n                },\\n            );\\n            return isOpened;\\n        };\\n        provide(showModalInjectKey, showModalFunc);\\n\\n        watch(\\n            () => needsLogin.value,\\n            () => {\\n                if (!needsLogin.value) return;\\n                const wasLoggedIn = unref(isLoggedIn);\\n                showModalFunc(LoginModal, {\\n                    callback: mainStore.needsLoginPromise!.resolve,\\n                    mode: mainStore.needsLoginMode!.RequiredMode,\\n                    isLoggedIn: mainStore.needsLoginMode!.IsLoggedIn,\\n                    wasLoggedIn: wasLoggedIn,\\n                    isLoggedInNow: async () => {\\n                        await loadUserData();\\n                        return isLoggedIn;\\n                    },\\n                });\\n            },\\n        );\\n\\n        let cookieTimerId: ReturnType<typeof setInterval> | undefined = undefined;\\n        onUnmounted(() => clearInterval(cookieTimerId));\\n        cookieStore.get(\\\"AuthTimeout\\\").then((c: { value: string; name: string } | null) => {\\n            const handleAuthTimeout = (c: string | null | undefined) => {\\n                sessionTimeout.value = c != null ? new Date(c) : null;\\n            };\\n            if (c != null && c.value != null && new Date(c.value) > new Date()) {\\n                handleAuthTimeout(c.value);\\n            }\\n            cookieTimerId = setInterval(() => {\\n                cookieStore.get(\\\"AuthTimeout\\\").then((newC: { value: string; name: string } | null) => {\\n                    if (newC != null && newC.value != c?.value) {\\n                        //debugger;\\n                        handleAuthTimeout(newC.value);\\n                        c = newC;\\n                        // TODO native support where available?\\n                        //cookieStore.dispatchEvent(new CookieChangeEvent(\\\"change\\\", {\\n                        //    changed: [\\n                        //        {\\n                        //            name: newC.name,\\n                        //            value: newC.value,\\n                        //            domain: newC.domain,\\n                        //            secure: newC.secure,\\n                        //            expires: newC.expires,\\n                        //        }\\n                        //    ]\\n                        //}));\\n                    }\\n                });\\n            }, 500);\\n            //cookieStore.addEventListener('change', event => {\\n            //    console.log(event);\\n            //    for(const cookie in event.changed) {\\n            //        if (cookie.name == \\\"AuthTimeout\\\") {\\n            //            handleAuthTimeout(cookie.value);\\n            //        }\\n            //    }\\n            //});\\n        });\\n        let sessionTimeoutNoticeTimerId: ReturnType<typeof setInterval> | undefined = undefined;\\n        let sessionTimeoutExpiredTimerId: ReturnType<typeof setInterval> | undefined = undefined;\\n        const sessionTimeWaitInSeconds = 60;\\n        let sessionWatchActive = true;\\n        let userActionDetected = false;\\n        //const now = ref(new Date());\\n        //setInterval(() => { now.value = new Date() }, 100);\\n        //const relativeSessionTimeout = computed(() => {\\n        //    const sessionTimeoutValue = sessionTimeout.value;\\n        //    return sessionTimeoutValue == null\\n        //        ? null\\n        //        : sessionTimeoutValue.getTime() - now.value.getTime();\\n        //});\\n        watch(\\n            () => sessionTimeout.value,\\n            sessionTimeoutValue => {\\n                if (!sessionWatchActive) {\\n                    return;\\n                }\\n                clearTimeout(sessionTimeoutNoticeTimerId);\\n                clearTimeout(sessionTimeoutExpiredTimerId);\\n                showLoginExpiringBanner.value = false;\\n                if (sessionTimeoutValue == null) {\\n                    return;\\n                }\\n                const relativeSessionTimeout = sessionTimeoutValue.getTime() - new Date().getTime();\\n                sessionTimeoutNoticeTimerId = setTimeout(\\n                    async () => {\\n                        showLoginExpiringBanner.value = false;\\n                        if (!hasSession.value) {\\n                            return;\\n                        }\\n                        if (!userActionDetected) {\\n                            const wasLoggedIn = isLoggedIn.value;\\n                            if (wasLoggedIn) {\\n                                showLoginExpiringBanner.value = true;\\n                            } else {\\n                                sessionWatchActive = false;\\n                                await ensureSiteCssLoaded();\\n                                showModalFunc(\\n                                    SessionExpiringModal,\\n                                    {\\n                                        asModal: true,\\n                                        expireTime: sessionTimeoutValue,\\n                                        isLoggedIn: wasLoggedIn,\\n                                    },\\n                                    {\\n                                        \\\"before-close\\\"() {\\n                                            nextTick(() => {\\n                                                sessionWatchActive = true;\\n                                                triggerRef(sessionTimeout);\\n                                            });\\n                                        },\\n                                        closed() {\\n                                            nextTick(() => {\\n                                                sessionWatchActive = true;\\n                                                triggerRef(sessionTimeout);\\n                                            });\\n                                        },\\n                                    },\\n                                );\\n                            }\\n                        } else {\\n                            const refreshUrl = await getUrl(\\\"extendSession\\\");\\n                            await fetch(refreshUrl, { headers: { \\\"X-Session-Refresh\\\": \\\"force\\\" } });\\n                            triggerRef(sessionTimeout);\\n                        }\\n                        setTimeout(() => {\\n                            userActionDetected = false;\\n                        }, 5000);\\n                    },\\n                    relativeSessionTimeout - sessionTimeWaitInSeconds * 1000,\\n                );\\n                // TODO  force session expire?\\n                sessionTimeoutExpiredTimerId = setTimeout(() => {\\n                    if (!hasSession.value) {\\n                        return;\\n                    }\\n                    clearTimeout(sessionTimeoutNoticeTimerId);\\n                    clearTimeout(sessionTimeoutExpiredTimerId);\\n                    cookieStore.delete(\\\"AuthTimeout\\\");\\n                    if (!isLoggedIn.value) {\\n                        changePage({ page: \\\"SessionExpired\\\" });\\n                    }\\n                }, relativeSessionTimeout);\\n            },\\n        );\\n        const keepAliveEvent = () => {\\n            if (!userActionDetected && sessionWatchActive) {\\n                userActionDetected = true;\\n            }\\n        };\\n        onMounted(() => {\\n            document.addEventListener(\\\"click\\\", keepAliveEvent, { passive: true });\\n            document.addEventListener(\\\"keyup\\\", keepAliveEvent, { passive: true });\\n        });\\n        onUnmounted(() => {\\n            document.removeEventListener(\\\"click\\\", keepAliveEvent);\\n            document.removeEventListener(\\\"keyup\\\", keepAliveEvent);\\n        });\\n        watch(\\n            () => isAdminComponent.value,\\n            isAdminComponent => {\\n                var html = document.getElementsByTagName(\\\"html\\\")[0];\\n                var body = document.getElementsByTagName(\\\"body\\\")[0];\\n                if (isAdminComponent) {\\n                    html.classList.remove(\\\"public-page-html\\\");\\n                    html.classList.add(\\\"admin-page-html\\\");\\n                    body.classList.remove(\\\"public-page-body\\\");\\n                    body.classList.add(\\\"admin-page-body\\\");\\n                } else {\\n                    html.classList.remove(\\\"admin-page-html\\\");\\n                    html.classList.add(\\\"public-page-html\\\");\\n                    body.classList.remove(\\\"admin-page-body\\\");\\n                    body.classList.add(\\\"public-page-body\\\");\\n                }\\n            },\\n        );\\n        watch(\\n            () => isPageEditorComponent.value,\\n            isPageEditorComponent => {\\n                var html = document.getElementsByTagName(\\\"html\\\")[0];\\n                var body = document.getElementsByTagName(\\\"body\\\")[0];\\n                if (isPageEditorComponent) {\\n                    html.classList.add(\\\"page-editor-page-html\\\");\\n                    body.classList.add(\\\"page-editor-page-body\\\");\\n                } else {\\n                    html.classList.remove(\\\"page-editor-page-html\\\");\\n                    body.classList.remove(\\\"page-editor-page-body\\\");\\n                }\\n            },\\n        );\\n\\n        const setLoaded = (key: keyof (typeof loaded)[\\\"value\\\"]) => {\\n            loaded.value[key] = true;\\n        };\\n        watch(\\n            () => mainStore.shouldEnsureSiteCssLoaded,\\n            async ensureSiteCssLoadedVal => {\\n                if (ensureSiteCssLoadedVal) {\\n                    await ensureSiteCssLoaded();\\n                }\\n            },\\n        );\\n        const ensureSiteCssLoaded = () => {\\n            if (isAdminComponent.value) {\\n                return Promise.resolve(null);\\n            }\\n            shouldLoadSiteCss.value = true;\\n            return new Promise(resolve => {\\n                //cspell:ignore unwatch\\n                let unwatch: null | ReturnType<typeof watch> = null;\\n                unwatch = watch(\\n                    () => loaded.value.siteCss,\\n                    async (newValue, _) => {\\n                        if (newValue) {\\n                            resolve(null);\\n                            mainStore.siteCssLoaded.resolve();\\n                            if (unwatch) {\\n                                unwatch();\\n                            } else {\\n                                setTimeout(() => {\\n                                    (unwatch as ReturnType<typeof watch>)();\\n                                }, 0);\\n                            }\\n                        }\\n                    },\\n                    { immediate: true },\\n                );\\n            });\\n        };\\n        const pageToUrl = (event: ChangePageEvent): Promise<string> => {\\n            let urlType: string | null = null!;\\n            let settings = event.settings;\\n            switch (event.page) {\\n                case \\\"NotFound\\\":\\n                    urlType = \\\"notFound\\\";\\n                    break;\\n                case \\\"PageNotFound\\\":\\n                    urlType = \\\"pageNotFound\\\";\\n                    break;\\n                case \\\"Offline\\\":\\n                    urlType = \\\"offline\\\";\\n                    break;\\n                case \\\"AccessDenied\\\":\\n                    urlType = \\\"accessDenied\\\";\\n                    break;\\n                case \\\"Index\\\":\\n                case \\\"IndexPage\\\":\\n                    urlType = \\\"index\\\";\\n                    break;\\n                case \\\"Directory\\\":\\n                    urlType = \\\"directory\\\";\\n                    break;\\n                case \\\"Page\\\":\\n                    if (settings?.formId != null) {\\n                        urlType = \\\"draftGoto\\\";\\n                    } else if (settings?.urlSlug != null) {\\n                        urlType = \\\"formGotoSlug\\\";\\n                    } else {\\n                        urlType = \\\"formGoto\\\";\\n                    }\\n                    break;\\n                case \\\"PageSlug\\\":\\n                    urlType = \\\"formGotoSlug\\\";\\n                    break;\\n                case \\\"PageResumeFailure\\\":\\n                    urlType = \\\"pageResumeFailure\\\";\\n                    break;\\n                case \\\"FailedPaymentResume\\\":\\n                    urlType = \\\"failedPaymentResume\\\";\\n                    break;\\n                case \\\"Error\\\":\\n                    urlType = \\\"error\\\";\\n                    break;\\n                case \\\"Admin\\\":\\n                    urlType = \\\"admin\\\";\\n                    break;\\n                case \\\"AdminSearch\\\":\\n                    urlType = \\\"adminSearch\\\";\\n                    break;\\n                case \\\"AdminSearchReview\\\":\\n                    urlType = \\\"adminSearchReview\\\";\\n                    break;\\n                case \\\"AdminTasksIndex\\\":\\n                    urlType = \\\"adminTasksIndex\\\";\\n                    break;\\n                case \\\"AdminPage\\\":\\n                    urlType = \\\"adminPageIndex\\\";\\n                    break;\\n                case \\\"AdminPageNew\\\":\\n                    urlType = \\\"adminPageNew\\\";\\n                    break;\\n                case \\\"AdminPageEdit\\\":\\n                    urlType = \\\"adminPageEdit\\\";\\n                    break;\\n                case \\\"AdminPageDiscontinue\\\":\\n                    urlType = \\\"adminPageDiscontinue\\\";\\n                    break;\\n                case \\\"AdminPageTransfer\\\":\\n                    urlType = \\\"adminPageTransfer\\\";\\n                    break;\\n                case \\\"AdminDataSources\\\":\\n                    urlType = \\\"adminDataSources\\\";\\n                    break;\\n                case \\\"AdminAddressBook\\\":\\n                    urlType = \\\"adminAddressBook\\\";\\n                    break;\\n                case \\\"AdminGuidedSearch\\\":\\n                    urlType = \\\"adminGuidedSearch\\\";\\n                    break;\\n                case \\\"AdminFeatureFlags\\\":\\n                    urlType = \\\"adminFeatureFlags\\\";\\n                    break;\\n                case \\\"AdminTenantManagementIndex\\\":\\n                    urlType = \\\"adminTenantManagementIndex\\\";\\n                    break;\\n                case \\\"AdminTenantManagementNew\\\":\\n                    urlType = \\\"adminTenantManagementNew\\\";\\n                    break;\\n                case \\\"AdminTenantManagementEdit\\\":\\n                    urlType = \\\"adminTenantManagementEdit\\\";\\n                    break;\\n                case \\\"AdminFormImport\\\":\\n                    urlType = \\\"adminFormImport\\\";\\n                    break;\\n                case \\\"AdminWidget\\\":\\n                    urlType = \\\"adminWidget\\\";\\n                    break;\\n                case \\\"AdminUserManagementUsers\\\":\\n                    urlType = \\\"adminUserManagementUsers\\\";\\n                    break;\\n                case \\\"AdminUserManagementGroups\\\":\\n                    urlType = \\\"adminUserManagementGroups\\\";\\n                    break;\\n                case \\\"AdminStats\\\":\\n                    urlType = \\\"adminStats\\\";\\n                    break;\\n                case \\\"AdminBilling\\\":\\n                    urlType = \\\"adminBilling\\\";\\n                    break;\\n                case \\\"MultiFactorAuthenticationIndex\\\":\\n                    urlType = \\\"multiFactorAuthenticationIndex\\\";\\n                    break;\\n                case \\\"MultiFactorAuthenticationEdit\\\":\\n                    urlType = \\\"multiFactorAuthenticationEdit\\\";\\n                    break;\\n                case \\\"MultiFactorAuthenticationGenerateToken\\\":\\n                    urlType = \\\"multiFactorAuthenticationGenerateToken\\\";\\n                    break;\\n                case \\\"MultiFactorAuthenticationVerifyToken\\\":\\n                    urlType = \\\"multiFactorAuthenticationVerifyToken\\\";\\n                    break;\\n                default:\\n                    throw new Error(JSON.stringify(event));\\n            }\\n            return getUrl(urlType, settings);\\n        };\\n        const changePage = (event: ChangePageEvent, replaceHistory?: boolean, skipHistory?: boolean, openInNewTab?: boolean): void => {\\n            if (openInNewTab) {\\n                pageToUrl(event).then(u => {\\n                    window.open(u, \\\"_blank\\\");\\n                });\\n                return;\\n            }\\n            component.value = null;\\n            nextTick(() => {\\n                let _isPageEditorComponent, _isAdminComponent, _component, _componentSettings;\\n                if (event.page == \\\"NotFound\\\") {\\n                    _isAdminComponent = false;\\n                    _component = \\\"NotFound\\\";\\n                } else if (event.page == \\\"PageNotFound\\\") {\\n                    _isAdminComponent = false;\\n                    _component = \\\"PageNotFound\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"Offline\\\") {\\n                    _isAdminComponent = false;\\n                    _component = \\\"Offline\\\";\\n                } else if (event.page == \\\"AccessDenied\\\") {\\n                    _isAdminComponent = false;\\n                    _component = \\\"AccessDenied\\\";\\n                } else if (event.page == \\\"Error\\\") {\\n                    _isAdminComponent = false;\\n                    _component = \\\"Error\\\";\\n                } else if (event.page == \\\"SessionExpired\\\") {\\n                    _isAdminComponent = false;\\n                    _component = \\\"SessionExpired\\\";\\n                } else if (event.page == \\\"Index\\\" || event.page == \\\"IndexPage\\\") {\\n                    if (isPublicAreaEnabled.value === false || isAdminComponent.value === true) {\\n                        getUrl(\\\"index\\\").then(u => {\\n                            window.location = u as any; // eslint-disable-line @typescript-eslint/no-explicit-any\\n                        });\\n                        return;\\n                    } else if (isPublicAreaEnabled.value === undefined) {\\n                        if (tenantDataPromise.value == null) {\\n                            debugger;\\n                        }\\n                        let unwatch: null | ReturnType<typeof watch> = null;\\n                        unwatch = watch(\\n                            () => isPublicAreaEnabled.value,\\n                            () => {\\n                                changePage(event, replaceHistory, skipHistory);\\n                                if ((unwatch as unknown) != null) {\\n                                    unwatch!();\\n                                }\\n                            },\\n                        );\\n                        return;\\n                    } else {\\n                        _isAdminComponent = false;\\n                        _component = \\\"IndexPage\\\";\\n                    }\\n                } else if (event.page == \\\"Directory\\\" || event.page == \\\"DirectoryPage\\\") {\\n                    _isAdminComponent = false;\\n                    _component = \\\"DirectoryPage\\\";\\n                } else if (event.page == \\\"Page\\\" || event.page == \\\"PagePage\\\") {\\n                    if (event.settings?.adminReview) {\\n                        _isAdminComponent = true;\\n                    } else {\\n                        _isAdminComponent = false;\\n                    }\\n                    _componentSettings = event.settings;\\n                    _component = \\\"PagePage\\\";\\n                } else if (event.page == \\\"PageResumeFailure\\\") {\\n                    _componentSettings = event.settings;\\n                    _component = \\\"PageResumeFailure\\\";\\n                } else if (event.page == \\\"FailedPaymentResume\\\") {\\n                    _componentSettings = event.settings;\\n                    _component = \\\"FailedPaymentResume\\\";\\n                } else if (event.page == \\\"Admin\\\") {\\n                    if (isAdminAreaEnabled.value === false || isAdminComponent.value === false) {\\n                        getUrl(\\\"admin\\\").then(u => {\\n                            window.location = u as any; // eslint-disable-line @typescript-eslint/no-explicit-any\\n                        });\\n                        return;\\n                    } else if (isAdminAreaEnabled.value === undefined) {\\n                        if (tenantDataPromise.value == null) {\\n                            debugger;\\n                        }\\n                        let unwatch: null | ReturnType<typeof watch> = null;\\n                        unwatch = watch(\\n                            () => isPublicAreaEnabled.value,\\n                            () => {\\n                                changePage(event, replaceHistory, skipHistory);\\n                                if ((unwatch as unknown) != null) {\\n                                    unwatch!();\\n                                }\\n                            },\\n                        );\\n                        return;\\n                    } else {\\n                        _isAdminComponent = true;\\n                        _component = \\\"Admin\\\";\\n                    }\\n                } else if (event.page == \\\"AdminSearch\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminSearch\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"AdminTasksIndex\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminTasksIndex\\\";\\n                } else if (event.page == \\\"AdminPage\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminPage\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"AdminPageNew\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminPageNew\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"AdminPageEdit\\\") {\\n                    _isAdminComponent = true;\\n                    _isPageEditorComponent = true;\\n                    _component = \\\"AdminPageEdit\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"AdminPageDiscontinue\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminPageDiscontinue\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"AdminPageTransfer\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminPageTransfer\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"AdminDataSources\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminDataSources\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"AdminAddressBook\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminAddressBook\\\";\\n                } else if (event.page == \\\"AdminGuidedSearch\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminGuidedSearch\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"AdminFeatureFlags\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminFeatureFlags\\\";\\n                } else if (event.page == \\\"AdminTenantManagementIndex\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminTenantManagementIndex\\\";\\n                } else if (event.page == \\\"AdminTenantManagementNew\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminTenantManagementNew\\\";\\n                } else if (event.page == \\\"AdminTenantManagementEdit\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminTenantManagementEdit\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"AdminFormImport\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminFormImport\\\";\\n                } else if (event.page == \\\"AdminWidget\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminWidget\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"AdminUserManagementUsers\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminUserManagementUsers\\\";\\n                } else if (event.page == \\\"AdminUserManagementGroups\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminUserManagementGroups\\\";\\n                } else if (event.page == \\\"AdminStats\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminStats\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"AdminBilling\\\") {\\n                    _isAdminComponent = true;\\n                    _component = \\\"AdminBilling\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"MultiFactorAuthenticationIndex\\\") {\\n                    _isAdminComponent = false;\\n                    _component = \\\"MultiFactorAuthenticationIndex\\\";\\n                } else if (event.page == \\\"MultiFactorAuthenticationEdit\\\") {\\n                    _isAdminComponent = false;\\n                    _component = \\\"MultiFactorAuthenticationEdit\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"MultiFactorAuthenticationGenerateToken\\\") {\\n                    _isAdminComponent = false;\\n                    _component = \\\"MultiFactorAuthenticationVerifyToken\\\";\\n                    _componentSettings = event.settings;\\n                } else if (event.page == \\\"MultiFactorAuthenticationVerifyToken\\\") {\\n                    _isAdminComponent = false;\\n                    _component = \\\"MultiFactorAuthenticationVerifyToken\\\";\\n                    _componentSettings = event.settings;\\n                }\\n                if (!skipHistory) {\\n                    pushHistoryState(_component, _componentSettings, replaceHistory ?? false);\\n                }\\n                componentSettings.value = _componentSettings;\\n                component.value = _component;\\n                isAdminComponent.value = _isAdminComponent ?? false;\\n                isPageEditorComponent.value = _isPageEditorComponent ?? false;\\n                updateDocumentTitle();\\n            });\\n        };\\n        provide(changePageInjectKey, changePage);\\n        const updatePage = (event: ChangePageEvent[\\\"settings\\\"], replaceHistory?: boolean) => {\\n            const componentSettings2 = { ...componentSettings.value, ...event };\\n            pushHistoryState(component.value, componentSettings2, replaceHistory);\\n            componentSettings.value = componentSettings2;\\n            updateDocumentTitle();\\n        };\\n        const updateDocumentTitle = async () => {\\n            if ([\\\"NotFound\\\", \\\"PageNotFound\\\", \\\"Error\\\", \\\"IndexPage\\\", \\\"DirectoryPage\\\", \\\"PagePage\\\"].includes(component.value as string)) {\\n                let title = \\\"\\\";\\n                switch (component.value) {\\n                    case \\\"NotFound\\\":\\n                    case \\\"PageNotFound\\\":\\n                        title = \\\"Page Not Found\\\";\\n                        break;\\n                    case \\\"Error\\\":\\n                        title = \\\"Error\\\";\\n                        break;\\n                    case \\\"IndexPage\\\":\\n                        title = \\\"Home\\\";\\n                        break;\\n                    case \\\"DirectoryPage\\\":\\n                        title = \\\"Directory\\\";\\n                        break;\\n                    case \\\"PagePage\\\":\\n                        if (componentSettings.value?.title && !isAdminComponent.value) {\\n                            title = componentSettings.value.title;\\n                        } else {\\n                            return;\\n                        }\\n                        break;\\n                    default:\\n                        return;\\n                }\\n                const displayLabel = await displayLabelCache.value[mainStore.tenantCode];\\n                document.title = displayLabel ? `${title}: ${displayLabel}` : title;\\n            }\\n        };\\n        provide(updatePageInjectKey, updatePage);\\n        const pushHistoryState = async (component: string | null | undefined, componentSettings: ChangePageEvent[\\\"settings\\\"], replaceHistory?: boolean) => {\\n            let url: string;\\n            if (component == \\\"IndexPage\\\") {\\n                url = await getUrl(\\\"index\\\");\\n            } else if (component == \\\"DirectoryPage\\\") {\\n                url = await getUrl(\\\"directory\\\");\\n            } else if (component == \\\"Admin\\\") {\\n                url = await getUrl(\\\"admin\\\");\\n            } else if (component == \\\"AdminSearch\\\") {\\n                url = await getUrl(\\\"adminSearch\\\", componentSettings);\\n            } else if (component == \\\"AdminTasksIndex\\\") {\\n                url = await getUrl(\\\"adminTasksIndex\\\");\\n            } else if (component == \\\"AdminPage\\\") {\\n                url = await getUrl(\\\"adminPageIndex\\\", componentSettings);\\n            } else if (component == \\\"AdminPageEdit\\\") {\\n                url = await getUrl(\\\"adminPageEdit\\\", componentSettings);\\n            } else if (component == \\\"AdminPageDiscontinue\\\") {\\n                url = await getUrl(\\\"adminPageDiscontinue\\\", componentSettings);\\n            } else if (component == \\\"AdminPageTransfer\\\") {\\n                url = await getUrl(\\\"adminPageTransfer\\\", componentSettings);\\n            } else if (component == \\\"AdminPageNew\\\") {\\n                url = await getUrl(\\\"adminPageNew\\\", componentSettings);\\n            } else if (component == \\\"AdminDataSources\\\") {\\n                url = await getUrl(\\\"adminDataSources\\\", componentSettings);\\n            } else if (component == \\\"AdminAddressBook\\\") {\\n                url = await getUrl(\\\"adminAddressBook\\\");\\n            } else if (component == \\\"AdminGuidedSearch\\\") {\\n                url = await getUrl(\\\"adminGuidedSearch\\\", componentSettings);\\n            } else if (component == \\\"AdminFeatureFlags\\\") {\\n                url = await getUrl(\\\"adminFeatureFlags\\\");\\n            } else if (component == \\\"AdminTenantManagementIndex\\\") {\\n                url = await getUrl(\\\"adminTenantManagementIndex\\\");\\n            } else if (component == \\\"AdminTenantManagementNew\\\") {\\n                url = await getUrl(\\\"adminTenantManagementNew\\\");\\n            } else if (component == \\\"AdminTenantManagementEdit\\\") {\\n                url = await getUrl(\\\"adminTenantManagementEdit\\\", componentSettings);\\n            } else if (component == \\\"AdminFormImport\\\") {\\n                url = await getUrl(\\\"adminFormImport\\\", componentSettings);\\n            } else if (component == \\\"AdminWidget\\\") {\\n                url = await getUrl(\\\"adminWidget\\\", componentSettings);\\n            } else if (component == \\\"AdminUserManagementUsers\\\") {\\n                url = await getUrl(\\\"adminUserManagementUsers\\\", componentSettings);\\n            } else if (component == \\\"AdminUserManagementGroups\\\") {\\n                url = await getUrl(\\\"adminUserManagementGroups\\\", componentSettings);\\n            } else if (component == \\\"AdminStats\\\") {\\n                url = await getUrl(\\\"adminStats\\\", componentSettings);\\n            } else if (component == \\\"AdminBilling\\\") {\\n                url = await getUrl(\\\"adminBilling\\\", componentSettings);\\n            } else if (component == \\\"MultiFactorAuthenticationIndex\\\") {\\n                url = await getUrl(\\\"multiFactorAuthenticationIndex\\\");\\n            } else if (component == \\\"MultiFactorAuthenticationEdit\\\") {\\n                url = await getUrl(\\\"multiFactorAuthenticationEdit\\\", componentSettings);\\n            } else if (component == \\\"MultiFactorAuthenticationVerifyToken\\\") {\\n                url = await getUrl(\\\"multiFactorAuthenticationVerifyToken\\\", componentSettings);\\n            } else if (component == \\\"PageResumeFailure\\\") {\\n                url = await getUrl(\\\"resumeDraftFailure\\\", componentSettings);\\n            } else if (component == \\\"FailedPaymentResume\\\") {\\n                url = await getUrl(\\\"failedPaymentResume\\\", componentSettings);\\n            } else if (component == \\\"PagePage\\\") {\\n                if (componentSettings?.adminPreview) {\\n                    // TODO typing\\n                    if ((componentSettings.form as unknown as Record<string, string>).formHash) {\\n                        url = await getUrl(\\\"adminPagePreview\\\", componentSettings);\\n                    } else {\\n                        return; // Posted admin preview shouldn't have history changes\\n                    }\\n                } else if (componentSettings?.adminReview) {\\n                    url = await getUrl(\\\"adminSearchReview\\\", componentSettings);\\n                } else if (componentSettings?.formId) {\\n                    url = await getUrl(\\\"draftGoto\\\", componentSettings);\\n                } else if (componentSettings?.urlSlug) {\\n                    url = await getUrl(componentSettings?.testMode ? \\\"testFormGotoSlug\\\" : \\\"formGotoSlug\\\", componentSettings);\\n                } else {\\n                    url = await getUrl(componentSettings?.testMode ? \\\"testFormGoto\\\" : \\\"formGoto\\\", componentSettings);\\n                }\\n            } else if (component == \\\"SessionExpired\\\" || component == \\\"NotFound\\\" || component == \\\"PageNotFound\\\" || component == \\\"Offline\\\" || component == \\\"AccessDenied\\\" || component == \\\"Error\\\") {\\n                return; // these shouldn't have history changes\\n            } else {\\n                throw new Error(`Unknown component: ${component}`);\\n            }\\n            replaceHistory = replaceHistory || ((componentSettings && !!componentSettings.replaceHistory) ?? false);\\n\\n            if (url != window.location.pathname) {\\n                const gaData = mainStore.tenantData.googleAnalyticsIds || [];\\n                for (let index = 0; index <= gaData.length; index++) {\\n                    if (!gaData[index]) continue;\\n                    if (gaData[index] && gaData[index].startsWith(\\\"UA\\\")) {\\n                        window.ga(`tracker${index}.set`, \\\"page\\\", url);\\n                        window.ga(`tracker${index}.send`, \\\"pageview\\\");\\n                    } else {\\n                        window.gtag(\\\"event\\\", \\\"page_view\\\", {\\n                            send_to: gaData[index],\\n                            page_title: document.title,\\n                            page_location: window.location.href,\\n                            page_path: window.location.pathname,\\n                        });\\n                    }\\n                }\\n            }\\n            currentUrl.value = url;\\n            window.history[replaceHistory ? \\\"replaceState\\\" : \\\"pushState\\\"]({ component: component, settings: componentSettings }, null!, url);\\n        };\\n        const setupGoogleAnalytics = () => {\\n            const gaData = mainStore.tenantData.googleAnalyticsIds || [];\\n            if (!shouldSkipGaSetup) {\\n                // Universal Analytics\\n                (function (i, s, o, g, r, a, m) {\\n                    //@ts-expect-error\\n                    i[\\\"GoogleAnalyticsObject\\\"] = r;\\n                    //@ts-expect-error\\n                    (i[r] =\\n                        //@ts-expect-error\\n                        i[r] ||\\n                        function () {\\n                            //@ts-expect-error\\n                            (i[r].q = i[r].q || []).push(arguments);\\n                        }),\\n                        //@ts-expect-error\\n                        (i[r].l = 1 * (new Date() as unknown as number));\\n                    //@ts-expect-error\\n                    (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);\\n                    //@ts-expect-error\\n                    a.async = 1;\\n                    //@ts-expect-error\\n                    a.src = g;\\n                    //@ts-expect-error\\n                    m.parentNode.insertBefore(a, m);\\n                })(window, document, \\\"script\\\", \\\"https://www.google-analytics.com/analytics.js\\\", \\\"ga\\\");\\n\\n                // Google Analytics 4\\n                const scriptTag = document.createElement(\\\"script\\\");\\n                const bodyScript = document.getElementsByTagName(\\\"script\\\")[0];\\n                scriptTag.src = `https://www.googletagmanager.com/gtag/js?id=${gaData[0]}`;\\n                scriptTag.async = true;\\n                bodyScript.parentNode!.insertBefore(scriptTag, bodyScript);\\n\\n                window.dataLayer = window.dataLayer || [];\\n                window.gtag = function () {\\n                    window.dataLayer.push(arguments);\\n                };\\n                window.gtag(\\\"js\\\", new Date());\\n            }\\n            for (let index = 0; index < gaData.length; index++) {\\n                if (!gaData[index]) continue;\\n                if (gaData[index].startsWith(\\\"UA\\\")) {\\n                    window.ga(\\\"create\\\", {\\n                        trackingId: gaData[index],\\n                        cookieDomain: \\\"auto\\\",\\n                        cookieFlags: \\\"SameSite=None; Secure\\\",\\n                        name: `tracker${index}`,\\n                    });\\n                    window.ga(`tracker${index}.set`, \\\"page\\\", window.location);\\n                    window.ga(`tracker${index}.send`, \\\"pageview\\\");\\n                } else {\\n                    window.gtag(\\\"config\\\", gaData[index], {\\n                        cookie_domain: \\\"auto\\\",\\n                        cookie_flags: \\\"SameSite=None; Secure\\\",\\n                    });\\n                }\\n            }\\n        };\\n        const applyHistoryState = (event: PopStateEvent) => {\\n            const newState = event.state;\\n            if (newState && newState.component) {\\n                component.value = null;\\n                changePage({ page: newState.component, settings: newState.settings }, false, true);\\n            }\\n        };\\n        const showSearch = (data: { userData: UserData | null; tenantData: TenantData | null }) => {\\n            showModalFunc(\\n                NavSearchModal,\\n                {\\n                    data,\\n                    searchText: searchText.value,\\n                    updateSearchText(text: string) {\\n                        searchText.value = text;\\n                    },\\n                },\\n                {},\\n                {\\n                    styles: { \\\"align-items\\\": \\\"start\\\", top: \\\"25vh\\\" },\\n                    \\\"overlay-style\\\": { \\\"background-color\\\": \\\"rgba(0, 0, 0, 0.9)\\\" },\\n                    \\\"click-to-close\\\": false,\\n                    \\\"esc-to-close\\\": false,\\n                },\\n            );\\n        };\\n        const toggleMobileNav = () => {\\n            showMobileNav.value = !showMobileNav.value;\\n            if (!showMobileNav.value) {\\n                showAdminMenu.value = false;\\n            }\\n        };\\n        const globalClick = (_: MouseEvent) => {\\n            // hide dropdowns when clicking anywhere else on the page\\n            var togglers = document.querySelectorAll(\\\".dropdown-toggle\\\");\\n            if (togglers.length > 0) {\\n                for (var i = 0; i < togglers.length; i++) {\\n                    togglers[i].classList.remove(\\\"show\\\");\\n                }\\n            }\\n        };\\n        const loadUserData = async () => {\\n            userDataPromise.value = getUrl(\\\"getUserData\\\")\\n                .then(url => fetch(url, { cache: \\\"reload\\\" }))\\n                .then(r => r.json());\\n            const data = await userDataPromise.value;\\n            const token = data.XsrfToken ?? data.XrsfToken; // TODO backward compatibility - remove after release // cspell:ignore xrsf\\n            mainStore.xsrfToken = token;\\n            mainStore.hasSession = data.HasSubmissions;\\n            mainStore.activeFeatureFlagsPromise.resolve(data.ActiveFeatureFlags);\\n            mainStore.setUserData(data);\\n        };\\n        provide(loadUserDataInjectKey, loadUserData);\\n        const loadTenantData = () => {\\n            return (tenantDataPromise.value = Promise.resolve(mainStore.tenantData));\\n        };\\n        const getLoginUrl = (mode?: string | number, returnUrl?: string) => {\\n            return getUrl(\\\"login\\\", {\\n                returnUrl: returnUrl || currentUrl.value || window.location.toString(),\\n                mode,\\n            });\\n        };\\n        provide(getLoginUrlInjectKey, getLoginUrl);\\n        const getLogoutUrl = (returnUrl?: string) => {\\n            return getUrl(\\\"logout\\\", {\\n                returnUrl: returnUrl || currentUrl.value || window.location.toString(),\\n            });\\n        };\\n        const getUrl = async (key: string, data?: { [key: string]: string | number | boolean | null | undefined }): Promise<string> => {\\n            const tenantData = await tenantDataPromise.value!;\\n            const isDefaultTenant = data == null || ((data.tenantUrlSlug == null || data.tenantUrlSlug == tenantData.tenantUrlSlug) && ((data.tenantCode || data.tenant) == null || (data.tenantCode || data.tenant) == tenantData.tenantCode));\\n            const template = tenantData.urlTemplates[isDefaultTenant ? \\\"defaultTenant\\\" : \\\"tenanted\\\"][key];\\n            if (template == null || template.template == null) throw new Error(isDefaultTenant + \\\",\\\" + key + \\\"\\\\n\\\" + JSON.stringify(template) + \\\"\\\\n\\\" + JSON.stringify(tenantData.urlTemplates));\\n            let urlData = new URL(template.template, window.location.href);\\n            let url = urlData.pathname;\\n            let urlParamsFlip = Array.from(urlData.searchParams.entries()).reduce(\\n                (a, [k, v]) => {\\n                    a[v] = k;\\n                    return a;\\n                },\\n                {} as Record<string, string>,\\n            );\\n            const templateParamMap = Object.keys(template)\\n                .filter(i => i != \\\"template\\\")\\n                .reduce(\\n                    (a, c) => {\\n                        a[c] = template[c];\\n                        return a;\\n                    },\\n                    {} as Record<string, string>,\\n                );\\n            var queryString = new URLSearchParams();\\n            data = data || {};\\n            //if (isDefaultTenant) {\\n            //    data.tenantUrlSlug = null;\\n            //    data.tenantCode = null;\\n            //    data.tenant = null;\\n            //} else {\\n            if (\\\"tenantUrlSlug\\\" in template) {\\n                if (data.tenantUrlSlug) {\\n                    // OK\\n                } else if (data.tenantCode) {\\n                    data.tenantUrlSlug = await mainStore.getTenantUrlSlug([data.tenantCode as string])[data.tenantCode as string];\\n                } else if (data.tenant) {\\n                    //debugger;\\n                    console.trace(\\\"Tenant\\\"); //To be migrated\\n                    data.tenantUrlSlug = await mainStore.getTenantUrlSlug([data.tenant as string])[data.tenant as string];\\n                } else {\\n                    data.tenantUrlSlug = tenantData.tenantUrlSlug;\\n                }\\n            }\\n            //}\\n            if (\\\"areaUrlSlug\\\" in template) {\\n                if (data.areaUrlSlug) {\\n                    // OK\\n                } else if (data.areaCode) {\\n                    data.areaUrlSlug = await mainStore.getTenantUrlSlug([data.areaCode as string])[data.areaCode as string];\\n                } else if (data.area) {\\n                    debugger;\\n                    console.trace(\\\"Area\\\"); //To be migrated\\n                    data.areaUrlSlug = await mainStore.getTenantUrlSlug([data.area as string])[data.area as string];\\n                } else {\\n                    data.areaUrlSlug = data.tenantUrlSlug;\\n                }\\n            }\\n            //if (key == \\\"siteDesignIndexStyles\\\") {\\n            //    debugger;\\n            //}\\n            Object.keys(data).forEach(key => {\\n                if (template[key]) {\\n                    if (url.includes(template[key])) {\\n                        url = url.split(template[key]).join(encodeURIComponent(data![key] != null ? data![key]! : \\\"\\\")); // replace all\\n                    } else if (data![key] != null && data![key] !== \\\"\\\") {\\n                        queryString.append(urlParamsFlip[templateParamMap[key]], data![key]!.toString());\\n                        //} else {\\n                        //    debugger;\\n                    }\\n                    //} else {\\n                    //    debugger;\\n                }\\n            });\\n            if (Array.from(queryString.keys()).length > 0) {\\n                url = url + \\\"?\\\" + queryString.toString();\\n            }\\n            return new URL(url, urlData).href;\\n        };\\n        const setComponentFromUrl = async () => {\\n            const extraDataElement = document.getElementById(\\\"extraData\\\");\\n            if (extraDataElement != null) {\\n                const extraDataKey = extraDataElement.dataset[\\\"extradataKey\\\"];\\n                if (extraDataKey != null) {\\n                    if (extraDataKey == \\\"NotFound\\\" || extraDataKey == \\\"PageNotFound\\\" || extraDataKey == \\\"Error\\\" || extraDataKey == \\\"Offline\\\" || extraDataKey == \\\"AccessDenied\\\") {\\n                        changePage({ page: extraDataKey }, true);\\n                        return;\\n                    }\\n                }\\n            }\\n            const tenantData = await tenantDataPromise.value!;\\n            function escapeRegExp(string: string) {\\n                return string.replace(/[.*+?^${}()|[\\\\]\\\\\\\\]/g, \\\"\\\\\\\\$&\\\"); // $& means the whole matched string\\n            }\\n            function templatesToRegex(key: string) {\\n                return [templateToRegex(\\\"defaultTenant\\\", key), templateToRegex(\\\"tenanted\\\", key)];\\n            }\\n            function templateToRegex(type: keyof TenantData[\\\"urlTemplates\\\"], key: string) {\\n                const templateData = tenantData!.urlTemplates[type][key];\\n                const partKeys = Object.keys(templateData).filter(i => i != \\\"template\\\");\\n                const partFlip = partKeys.reduce(\\n                    (a, c) => {\\n                        a[templateData[c]] = c;\\n                        return a;\\n                    },\\n                    {} as Record<string, string>,\\n                );\\n                if (templateData == null) throw new Error(type + \\\",\\\" + key + \\\"\\\\n\\\" + JSON.stringify(tenantData!.urlTemplates));\\n                const templateUrl = new URL(templateData.template, window.location.href);\\n                const templateUrlWithoutQueryString = templateUrl.pathname;\\n                const templateQueryStringKeys = Array.from(templateUrl.searchParams.entries()).reduce(\\n                    (r, [k, v]) => {\\n                        //if (k != partFlip[v]) { debugger;}\\n                        r[k] = partFlip[v];\\n                        return r;\\n                    },\\n                    {} as Record<string, string>,\\n                );\\n                //const templateQueryString = templateUrl.searchParams;\\n                //const templateFixedQueryString = new URLSearchParams();\\n                //const templateQueryStringKeys = [];\\n                //for(const key in templateQueryString.keys()) {\\n                //    if (partKeys.includes(s)) {\\n                //        templateQueryStringKeys.push(key);\\n                //    } else {\\n                //        for(const v in templateQueryString.getAll()) {\\n                //            templateFixedQueryString.append(key, v);\\n                //        }\\n                //    }\\n                //}\\n                //const templateFixedQueryStringStr = templateFixedQueryString.toString();\\n                //if (templateFixedQueryStringStr != \\\"\\\") {\\n                //    templateUrlWithoutQueryString = templateUrlWithoutQueryString + \\\"?\\\" + templateFixedQueryString;\\n                //}\\n                let regex = \\\"\\\";\\n                const matches = [];\\n                let lastIndex = 0;\\n                if (partKeys.length > 0) {\\n                    const partRegex = new RegExp(\\n                        \\\"(.*?)(\\\" +\\n                            partKeys\\n                                .map(i => templateData[i])\\n                                .map(escapeRegExp)\\n                                .join(\\\"|\\\") +\\n                            \\\")\\\",\\n                        \\\"g\\\",\\n                    );\\n                    //if (key == \\\"adminDataSources\\\" && type == \\\"tenanted\\\") {\\n                    //    console.trace(templateUrlWithoutQueryString);\\n                    //    console.trace(partKeys);\\n                    //    console.trace(partRegex);\\n                    //}\\n                    let match = null;\\n                    let optional = 0;\\n                    let first = 1;\\n                    while ((match = partRegex.exec(templateUrlWithoutQueryString))) {\\n                        let groupRegex = \\\"([^/=?]*)\\\";\\n                        const part = partFlip[match[2]];\\n                        if ((key == \\\"testFormGoto\\\" || key == \\\"formGoto\\\" || key == \\\"formGotoLegacy\\\") && part == \\\"formName\\\") {\\n                            groupRegex = \\\"([a-zA-Z0-9]{8}(?:-[a-zA-Z0-9]{4}){3}-[a-zA-Z0-9]{12})\\\";\\n                        }\\n                        var prefix = match[1];\\n                        if (first || (prefix != \\\"/\\\" && prefix != \\\"\\\" && prefix[0] != \\\"?\\\" && prefix[0] != \\\"&\\\")) {\\n                            if (optional > 0) {\\n                                debugger;\\n                                throw new Error(\\\"TODO\\\");\\n                            }\\n                        } else {\\n                            optional++;\\n                            groupRegex = \\\"(?:\\\" + escapeRegExp(prefix) + \\\"(?:\\\" + groupRegex;\\n                            prefix = \\\"\\\";\\n                        }\\n                        regex = regex + escapeRegExp(prefix) + groupRegex;\\n                        matches.push(part);\\n                        lastIndex = match.index + match[0].length;\\n                        first = 0;\\n                    }\\n                    while (optional-- > 0) {\\n                        if (lastIndex == templateUrlWithoutQueryString.length) {\\n                            regex += \\\")?)?\\\";\\n                        } else {\\n                            regex += \\\"))\\\";\\n                        }\\n                    }\\n                }\\n                regex = regex + escapeRegExp(templateUrlWithoutQueryString.substring(lastIndex));\\n                regex = \\\"^\\\" + regex + \\\"[/]?$\\\";\\n                return { regex: new RegExp(regex, \\\"i\\\"), matches, queryStringMatches: templateQueryStringKeys };\\n            }\\n            var patterns = {\\n                Preview: templatesToRegex(\\\"adminPreview\\\"),\\n                Preview2: templatesToRegex(\\\"adminPagePreview\\\"),\\n                Index: templatesToRegex(\\\"index\\\"),\\n                Directory: templatesToRegex(\\\"directory\\\"),\\n                Page: templatesToRegex(\\\"testFormGoto\\\"),\\n                PageSlug: templatesToRegex(\\\"testFormGotoSlug\\\"),\\n                PageResumeFailure: templatesToRegex(\\\"resumeDraftFailure\\\"),\\n                FailedPaymentResume: templatesToRegex(\\\"failedPaymentResume\\\"),\\n\\n                PageLegacy: templatesToRegex(\\\"formGotoLegacy\\\"),\\n                PageSlugLegacy: templatesToRegex(\\\"formGotoSlugLegacy\\\"),\\n                Draft: templatesToRegex(\\\"draftGoto\\\"),\\n                SubmitDraftSuccess: templatesToRegex(\\\"submitDraftSuccess\\\"),\\n                Admin: templatesToRegex(\\\"admin\\\"),\\n                AdminSearch: templatesToRegex(\\\"adminSearch\\\"),\\n                AdminTasksIndex: templatesToRegex(\\\"adminTasksIndex\\\"),\\n                AdminSearchReview: templatesToRegex(\\\"adminSearchReview\\\"),\\n                AdminPage: templatesToRegex(\\\"adminPageIndex\\\"),\\n                AdminPageEdit: templatesToRegex(\\\"adminPageEdit\\\"),\\n                AdminPageNew: templatesToRegex(\\\"adminPageNew\\\"),\\n                AdminPageDiscontinue: templatesToRegex(\\\"adminPageDiscontinue\\\"),\\n                AdminPageTransfer: templatesToRegex(\\\"adminPageTransfer\\\"),\\n                AdminDataSources: templatesToRegex(\\\"adminDataSources\\\"),\\n                AdminAddressBook: templatesToRegex(\\\"adminAddressBook\\\"),\\n                AdminGuidedSearch: templatesToRegex(\\\"adminGuidedSearch\\\"),\\n                AdminFeatureFlags: templatesToRegex(\\\"adminFeatureFlags\\\"),\\n                AdminTenantManagementIndex: templatesToRegex(\\\"adminTenantManagementIndex\\\"),\\n                AdminTenantManagementNew: templatesToRegex(\\\"adminTenantManagementNew\\\"),\\n                AdminTenantManagementEdit: templatesToRegex(\\\"adminTenantManagementEdit\\\"),\\n                AdminFormImport: templatesToRegex(\\\"adminFormImport\\\"),\\n                AdminWidget: templatesToRegex(\\\"adminWidget\\\"),\\n                AdminUserManagementUsers: templatesToRegex(\\\"adminUserManagementUsers\\\"),\\n                AdminUserManagementGroups: templatesToRegex(\\\"adminUserManagementGroups\\\"),\\n                AdminStats: templatesToRegex(\\\"adminStats\\\"),\\n                AdminBilling: templatesToRegex(\\\"adminBilling\\\"),\\n                MultiFactorAuthenticationIndex: templatesToRegex(\\\"multiFactorAuthenticationIndex\\\"),\\n                MultiFactorAuthenticationEdit: templatesToRegex(\\\"multiFactorAuthenticationEdit\\\"),\\n                MultiFactorAuthenticationVerifyToken: templatesToRegex(\\\"multiFactorAuthenticationVerifyToken\\\"),\\n            };\\n            let urlKey = null;\\n            let urlData = null! as Record<string, string | null>;\\n            const url = window.location.pathname;\\n            const searchParams = new URLSearchParams(window.location.search);\\n            ([\\\"AdminPageEdit\\\", \\\"AdminStats\\\", \\\"AdminTenantManagementIndex\\\", \\\"Page\\\", \\\"PageLegacy\\\"] as (keyof typeof patterns)[]).concat(Object.keys(patterns) as (keyof typeof patterns)[]).some(k => {\\n                let urlMatch = null! as RegExpExecArray;\\n                for (const pattern of patterns[k]) {\\n                    const { regex, queryStringMatches, matches } = pattern;\\n                    if ((urlMatch = regex.exec(url)!)) {\\n                        urlData = {};\\n                        matches.forEach((v, k) => {\\n                            const m = urlMatch![k + 1];\\n                            urlData[v] = m == null ? null : decodeURIComponent(m);\\n                        });\\n                        Object.entries(queryStringMatches).forEach(([k, v]) => {\\n                            if (searchParams.has(k)) {\\n                                urlData[v] = searchParams.get(k);\\n                            }\\n                        });\\n                        urlKey = k;\\n                    }\\n                }\\n                return !!urlMatch;\\n            });\\n            if (urlKey == \\\"AdminPageEdit\\\") {\\n                const extraDataElement = document.getElementById(\\\"extraData\\\");\\n                if (extraDataElement != null && extraDataElement.dataset[\\\"extradataKey\\\"] == \\\"AdminPagePreview\\\") {\\n                    urlKey = \\\"Preview\\\";\\n                }\\n            }\\n            if (urlKey == \\\"Preview\\\" || urlKey == \\\"Preview2\\\") {\\n                changePage({ page: \\\"Page\\\", settings: { adminPreview: true } }, true, true);\\n            } else if (urlKey == \\\"AdminSearchReview\\\") {\\n                changePage({ page: \\\"Page\\\", settings: { adminReview: true, ...urlData } }, true, true);\\n            } else {\\n                if (urlKey == \\\"PageSlug\\\" && urlData.page == null) {\\n                    if ((await mainStore.getTenantCodeByUrlSlug([urlData.areaUrlSlug!])[urlData.areaUrlSlug!]) == null) {\\n                        // area token isn't an area URL slug, so probably actually a legacy page slug URL\\n                        urlData.page = urlData.urlSlug;\\n                        urlData.urlSlug = urlData.areaUrlSlug;\\n                        urlData.areaUrlSlug = urlData.tenantUrlSlug;\\n                    }\\n                } else if (urlKey == \\\"Page\\\" && urlData.page == null) {\\n                    if ((await mainStore.getTenantCodeByUrlSlug([urlData.areaUrlSlug!])[urlData.areaUrlSlug!]) == null) {\\n                        // area token isn't an area URL slug, so probably actually a legacy page slug URL\\n                        urlData.page = urlData.formName;\\n                        urlData.urlSlug = urlData.areaUrlSlug;\\n                        urlData.areaUrlSlug = urlData.tenantUrlSlug;\\n                    }\\n                } else if (urlKey == \\\"PageLegacy\\\") {\\n                    if (!/^(0|[0-9A-F]{8}[-]?(?:[0-9A-F]{4}[-]?){3}[0-9A-F]{12})$/.test(urlData.formVersion!)) {\\n                        urlKey = \\\"PageSlug\\\";\\n                        urlData.urlSlug = urlData.formVersion;\\n                        urlData.areaUrlSlug = urlData.formName;\\n                        urlData.formName = null;\\n                        urlData.formVersion = null;\\n                        if (searchParams.has(\\\"testMode\\\")) {\\n                            urlData.testMode = searchParams.get(\\\"testMode\\\");\\n                        }\\n                        if (searchParams.has(\\\"formHash\\\")) {\\n                            urlData.formHash = searchParams.get(\\\"formHash\\\");\\n                        }\\n                    } else {\\n                        urlKey = \\\"Page\\\";\\n                        urlData.areaUrlSlug = urlData.tenantUrlSlug;\\n                    }\\n                } else if (urlKey == \\\"PageSlugLegacy\\\") {\\n                    urlKey = \\\"PageSlug\\\";\\n                    urlData.areaUrlSlug = urlData.tenantUrlSlug;\\n                }\\n                urlKey = urlKey == \\\"Draft\\\" || urlKey == \\\"PageSlug\\\" || urlKey == \\\"SubmitDraftSuccess\\\" ? \\\"Page\\\" : urlKey;\\n                if (urlKey == null) {\\n                    //throw new Error(\\\"A: [\\\" + patterns.Admin[0].regex + \\\"] [\\\" + JSON.stringify(patterns.Admin[0]) + \\\"] [\\\" + url + \\\"][\\\" + patterns.Admin[0].regex.test(url) + \\\"]\\\");\\n                    urlKey = \\\"NotFound\\\";\\n                    urlData = {};\\n                }\\n                changePage({ page: urlKey, settings: urlData }, true, true);\\n            }\\n        };\\n\\n        document.getElementsByTagName(\\\"body\\\")[0].classList.add(\\\"public-page-body\\\");\\n        mainStore.urlFetcher = getUrl.bind(this);\\n        loadTenantData();\\n        tenantDataPromise.value!.then(data => {\\n            displayLabelCache.value[data.tenantCode] = Promise.resolve(data.tenantDisplayLabel);\\n        });\\n        setupGoogleAnalytics();\\n        setComponentFromUrl().then(() => {\\n            if (userDataPromise.value == null) {\\n                const isLoggedIn = document.cookie.split(\\\";\\\").some(item => item.trim().startsWith(\\\"DF_LoggedIn=\\\"));\\n                if (isLoggedIn) {\\n                    loadUserData();\\n                } else {\\n                    const userDataString = document.getElementById(\\\"anonUserData\\\")!.innerHTML;\\n                    let userData = null;\\n                    if (userDataString == \\\"/*6eb984f0-9ecc-4224-ac82-d82eee040f8e*/\\\") {\\n                        userData = {}; // TODO\\n                    } else {\\n                        userData = JSON.parse(userDataString);\\n                    }\\n                    userDataPromise.value = Promise.resolve(userData);\\n                    mainStore.activeFeatureFlagsPromise.resolve(userData.ActiveFeatureFlags);\\n                    mainStore.setUserData(userData);\\n                }\\n            }\\n        });\\n        window.addEventListener(\\\"popstate\\\", applyHistoryState);\\n        window.addEventListener(\\n            \\\"keypress\\\",\\n            (event: KeyboardEvent) => {\\n                if ((event.target as HTMLElement).nodeName == \\\"A\\\" && ((event.code != null ? event.code == \\\"Enter\\\" : event.keyCode == 13) || (event.code != null ? event.code == \\\"Space\\\" : event.keyCode == 32))) {\\n                    (event.target as HTMLElement).click();\\n                }\\n            },\\n            { passive: true },\\n        );\\n\\n        return {\\n            //state\\n            component,\\n            componentSettings,\\n            currentUrl,\\n            displayLabelCache,\\n            isAdminAreaEnabled,\\n            isAdminComponent,\\n            isPageEditorComponent,\\n            isPublicAreaEnabled,\\n            loaded,\\n            searchRootTenant,\\n            searchTextDebounced,\\n            searchVisible,\\n            shouldLoadSiteCss,\\n            showAdminMenu,\\n            showMobileNav,\\n            tenantDataPromise,\\n            userDataPromise,\\n\\n            // computed\\n            allLoaded,\\n            dataPromise,\\n            needsLogin,\\n            hasVersionMismatch,\\n            siteDesignIndexStylesUrl,\\n            siteDesignStylesUrl,\\n            sessionTimeout,\\n            showLoginExpiringBanner,\\n            isLoggedIn,\\n            hasSession,\\n            //relativeSessionTimeout,\\n\\n            // async computed\\n            customFooterHtml,\\n            hasBillingPageFeature,\\n            hasShowDataSourceTestModeSyncFeature,\\n            hasMultiFactorAuthenticationFeature,\\n            hasPageworkflowFeature,\\n            hasTenantStatsFeature,\\n            isUserLoginDisabled,\\n            hasDeploymentToggle,\\n            hasOverrideableNow,\\n            overriddenNow,\\n            isBridgeBrandEnabled,\\n\\n            // Methods\\n            changePage,\\n            setLoaded,\\n            ensureSiteCssLoaded,\\n            getLoginUrl,\\n            getLogoutUrl,\\n            getUrl,\\n            globalClick,\\n            loadUserData,\\n            showSearch,\\n            toggleDropdown,\\n            toggleMobileNav,\\n            updatePage,\\n        };\\n    },\\n    components: {\\n        SessionExpiringModal,\\n        LoadingWheel,\\n        Promised,\\n        ModalsContainer,\\n        VersionMismatchBanner,\\n        LiveRegion,\\n        IndexPage,\\n        Offline: () => ({\\n            loading: LoadingPlaceholder,\\n            component: import(/* webpackChunkName: \\\"PageHttpStatus\\\", webpackPrefetch: true */ \\\"./public/pages/Offline.3.vue\\\"),\\n        }),\\n        Error: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"PageHttpStatus\\\" */ \\\"./public/pages/Error.3.vue\\\"),\\n        }),\\n        NotFound: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"PageHttpStatus\\\" */ \\\"./public/pages/NotFound.3.vue\\\"),\\n        }),\\n        PageNotFound: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"PageHttpStatus\\\" */ \\\"./public/pages/PageNotFound.3.vue\\\"),\\n        }),\\n        AccessDenied: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"PageHttpStatus\\\" */ \\\"./public/pages/AccessDenied.3.vue\\\"),\\n        }),\\n        SessionExpired: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"PageHttpStatus\\\" */ \\\"./public/pages/SessionExpired.3.vue\\\"),\\n        }),\\n        DirectoryPage: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"PageDirectory\\\" */ \\\"./public/pages/Directory.3.vue\\\"),\\n        }),\\n        PagePage: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"PagePage\\\" */ \\\"./public/pages/Page.3.vue\\\"),\\n        }),\\n        PageResumeFailure: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"PagePage\\\" */ \\\"./public/pages/PageResumeFailure.3.vue\\\"),\\n        }),\\n        Admin: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/Index.3.vue\\\"),\\n        }),\\n        AdminSearch: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/Search/Search.3.vue\\\"),\\n        }),\\n        AdminTasksIndex: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/Tasks/Index.3.vue\\\"),\\n        }),\\n        AdminDataSources: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/DataSources/DataSources.3.vue\\\"),\\n        }),\\n        AdminAddressBook: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/AddressBook/AddressBook.3.vue\\\"),\\n        }),\\n        AdminGuidedSearch: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/GuidedSearch/GuidedSearch.3.vue\\\"),\\n        }),\\n        AdminPage: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"AdminPage\\\" */ \\\"./admin/pages/Page/Index.3.vue\\\"),\\n        }),\\n        AdminPageNew: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"AdminPage\\\" */ \\\"./admin/pages/Page/New.3.vue\\\"),\\n        }),\\n        AdminPageEdit: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"AdminPage\\\" */ \\\"./admin/pages/Page/Edit.3.vue\\\"),\\n        }),\\n        AdminPageDiscontinue: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"AdminPage\\\" */ \\\"./admin/pages/Page/Discontinue.3.vue\\\"),\\n        }),\\n        AdminPageTransfer: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"AdminPage\\\" */ \\\"./admin/pages/Page/Transfer.3.vue\\\"),\\n        }),\\n        AdminFeatureFlags: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/FeatureFlags/FeatureFlags.3.vue\\\"),\\n        }),\\n        AdminTenantManagementIndex: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/Tenant/Index.3.vue\\\"),\\n        }),\\n        AdminTenantManagementNew: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/Tenant/New.3.vue\\\"),\\n        }),\\n        AdminTenantManagementEdit: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/Tenant/Edit.3.vue\\\"),\\n        }),\\n        AdminFormImport: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/FormImport/FormImport.3.vue\\\"),\\n        }),\\n        AdminWidget: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/Widget/Widget.3.vue\\\"),\\n        }),\\n        AdminUserManagementUsers: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/UserManagement/Users.3.vue\\\"),\\n        }),\\n        AdminUserManagementGroups: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/UserManagement/Groups.3.vue\\\"),\\n        }),\\n        AdminStats: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/Stats/Stats.3.vue\\\"),\\n        }),\\n        AdminBilling: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Admin\\\" */ \\\"./admin/pages/Stats/Billing.3.vue\\\"),\\n        }),\\n        MultiFactorAuthenticationIndex: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Wisconsin\\\" */ \\\"./wi/public/pages/MultiFactorAuthentication/Index.3.vue\\\"),\\n        }),\\n        MultiFactorAuthenticationEdit: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Wisconsin\\\" */ \\\"./wi/public/pages/MultiFactorAuthentication/Edit.3.vue\\\"),\\n        }),\\n        MultiFactorAuthenticationVerifyToken: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"Wisconsin\\\" */ \\\"./wi/public/pages/MultiFactorAuthentication/VerifyToken.3.vue\\\"),\\n        }),\\n        nonIndexStyles: defineAsyncComponent({\\n            loader: () => import(/* webpackChunkName: \\\"nonIndexStyles\\\", webpackPrefetch: true */ \\\"./lib/nonIndexStyles.3.vue\\\"),\\n        }),\\n        AdminStyles: defineAsyncComponent({\\n            loader: () => import(/* webpackChunkName: \\\"AdminStyles\\\", webpackPrefetch: true */ \\\"./admin/lib/AdminStyles.3.vue\\\"),\\n        }),\\n        FailedPaymentResume: defineAsyncComponent({\\n            loadingComponent: LoadingPlaceholder,\\n            loader: () => import(/* webpackChunkName: \\\"PagePage\\\" */ \\\"./public/pages/FailedPaymentResume.3.vue\\\"),\\n        }),\\n    },\\n});\\n</script>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n[data-v-9e77df10] .modal-container {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n}\n[data-v-9e77df10] .modal-content {\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    /* margin: 0 1rem; */\n    padding: 0.3rem;\n    border: 1px solid #e2e8f0;\n    border-radius: 0.25rem;\n    background: #fff;\n    /*transform: scale(0.95);*/\n    width: min(90vw, 600px);\n}\n/*\n::v-deep(.modal-header) {\n    font-size: 1.5rem;\n    font-weight: 700;\n}\n*/\n.dark-mode div[data-v-9e77df10] .modal-content {\n    border-color: #2d3748;\n    background-color: #1a202c;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./ModalWrapper.3.vue\"],\"names\":[],\"mappings\":\";AACA;IACI,aAAa;IACb,uBAAuB;IACvB,mBAAmB;AACvB;AACA;IACI,kBAAkB;IAClB,aAAa;IACb,sBAAsB;IACtB,oBAAoB;IACpB,eAAe;IACf,yBAAyB;IACzB,sBAAsB;IACtB,gBAAgB;IAChB,0BAA0B;IAC1B,uBAAuB;AAC3B;AACA;;;;;CAKC;AACD;IACI,qBAAqB;IACrB,yBAAyB;AAC7B\",\"sourcesContent\":[\"<style scoped>\\n::v-deep(.modal-container) {\\n    display: flex;\\n    justify-content: center;\\n    align-items: center;\\n}\\n::v-deep(.modal-content) {\\n    position: relative;\\n    display: flex;\\n    flex-direction: column;\\n    /* margin: 0 1rem; */\\n    padding: 0.3rem;\\n    border: 1px solid #e2e8f0;\\n    border-radius: 0.25rem;\\n    background: #fff;\\n    /*transform: scale(0.95);*/\\n    width: min(90vw, 600px);\\n}\\n/*\\n::v-deep(.modal-header) {\\n    font-size: 1.5rem;\\n    font-weight: 700;\\n}\\n*/\\n.dark-mode div::v-deep(.modal-content) {\\n    border-color: #2d3748;\\n    background-color: #1a202c;\\n}\\n</style>\\n<template>\\n    <vue-final-modal v-slot=\\\"{ close, params }\\\" :focus-retain=\\\"false\\\" z-index=\\\"1002\\\" v-bind=\\\"$attrs\\\" classes=\\\"modal-container\\\">\\n        <component :is=\\\"params.innerComponent\\\" v-bind=\\\"params.innerParams\\\" @close=\\\"close\\\"></component>\\n    </vue-final-modal>\\n</template>\\n<script lang=\\\"ts\\\">\\nimport { defineComponent } from \\\"vue\\\";\\nexport default defineComponent({\\n    props: [\\\"innerComponent\\\", \\\"innerParams\\\"],\\n    inheritAttrs: false,\\n});\\n</script>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.help-button[data-v-e8e3c66a] {\n    -webkit-appearance: none;\n    background: none;\n    border: none;\n}\n[data-v-e8e3c66a] .popper {\n    white-space: pre-wrap;\n}\n.border-0[data-v-e8e3c66a] {\n    border: 0 !important;\n}\n.m-0[data-v-e8e3c66a] {\n    margin: 0 !important;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./lib/HelpIcon.3.vue\"],\"names\":[],\"mappings\":\";AACA;IACI,wBAAwB;IACxB,gBAAgB;IAChB,YAAY;AAChB;AACA;IACI,qBAAqB;AACzB;AACA;IACI,oBAAoB;AACxB;AACA;IACI,oBAAoB;AACxB\",\"sourcesContent\":[\"<style scoped>\\n.help-button {\\n    -webkit-appearance: none;\\n    background: none;\\n    border: none;\\n}\\n::v-deep(.popper) {\\n    white-space: pre-wrap;\\n}\\n.border-0 {\\n    border: 0 !important;\\n}\\n.m-0 {\\n    margin: 0 !important;\\n}\\n</style>\\n<style>\\n:root {\\n    --popper-theme-background-color: #ffffff;\\n    --popper-theme-background-color-hover: #ffffff;\\n    --popper-theme-text-color: inherit;\\n    --popper-theme-border-width: 0px;\\n    --popper-theme-border-style: solid;\\n    --popper-theme-border-radius: 6px;\\n    --popper-theme-padding: 16px;\\n    --popper-theme-box-shadow: 0 6px 30px -6px rgba(0, 0, 0, 0.25);\\n}\\n</style>\\n<template>\\n    <Popper ref=\\\"popperRef\\\" :show=\\\"showPopper\\\" arrow :placement=\\\"placement || 'top'\\\" v-if=\\\"text != null && !/^\\\\s*$/.test(text)\\\" class=\\\"m-0 border-0\\\">\\n        <button type=\\\"button\\\" @click.stop=\\\"triggerClick\\\" @keydown.enter.prevent=\\\"triggerClick\\\" @keydown.space.prevent=\\\"triggerClick\\\" @mouseover.prevent=\\\"handleHoverEvent(true)\\\" @mouseleave.prevent=\\\"handleHoverEvent(false)\\\" @focus=\\\"showPopper = true\\\" @blur=\\\"showPopper = false\\\" slot=\\\"reference\\\" :aria-label=\\\"labelText + 'More information'\\\" class=\\\"help-button\\\">\\n            <span class=\\\"icon\\\" :class=\\\"iconClass || 'icon-info'\\\" aria-hidden=\\\"true\\\"></span>\\n        </button>\\n        <template #content>\\n            <div :id=\\\"cid?.toString()\\\" role=\\\"tooltip\\\">{{ text }}</div>\\n        </template>\\n    </Popper>\\n</template>\\n<script lang=\\\"ts\\\">\\nimport { defineComponent, ref, onMounted, watch, getCurrentInstance, computed } from \\\"vue\\\";\\nimport Popper from \\\"vue3-popper\\\";\\nimport \\\"vue-popperjs/dist/vue-popper.css\\\";\\ntype Props = {\\n    text: string;\\n    placement: string;\\n    hover: boolean;\\n    iconClass: string;\\n    label: string;\\n};\\nexport default defineComponent({\\n    components: {\\n        Popper,\\n    },\\n    props: [\\\"text\\\", \\\"placement\\\", \\\"hover\\\", \\\"iconClass\\\", \\\"label\\\"],\\n    setup(props: Props) {\\n        const cid = getCurrentInstance()?.uid;\\n        const popperRef = ref<typeof Popper>(null!);\\n        const showPopper = ref<boolean>(false);\\n\\n        const labelText = computed(() => {\\n            return props.label ? props.label + \\\": \\\" : \\\"\\\";\\n        });\\n        const hover = computed(() => props.hover ?? true);\\n\\n        const triggerClick = () => {\\n            showPopper.value = !showPopper.value;\\n        };\\n        const handleHoverEvent = (state: boolean) => {\\n            if (hover.value) {\\n                showPopper.value = state;\\n            }\\n        };\\n\\n        onMounted(() => {\\n            if (popperRef.value) {\\n                watch(\\n                    () => popperRef.value?.show,\\n                    state => {\\n                        popperRef.value?.$refs.triggerNode.querySelector(\\\"button\\\").setAttribute(\\\"aria-expanded\\\", !!state);\\n                        popperRef.value?.$refs.triggerNode.querySelector(\\\"button\\\").setAttribute(\\\"aria-describedby\\\", state ? cid : \\\"\\\");\\n                        popperRef.value?.$refs.popperNode.setAttribute(\\\"aria-hidden\\\", !state);\\n                    },\\n                    { immediate: true },\\n                );\\n            }\\n        });\\n        return {\\n            cid,\\n            popperRef,\\n            showPopper,\\n            labelText,\\n            triggerClick,\\n            handleHoverEvent,\\n        };\\n    },\\n});\\n</script>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n:root {\n    --popper-theme-background-color: #ffffff;\n    --popper-theme-background-color-hover: #ffffff;\n    --popper-theme-text-color: inherit;\n    --popper-theme-border-width: 0px;\n    --popper-theme-border-style: solid;\n    --popper-theme-border-radius: 6px;\n    --popper-theme-padding: 16px;\n    --popper-theme-box-shadow: 0 6px 30px -6px rgba(0, 0, 0, 0.25);\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./lib/HelpIcon.3.vue\"],\"names\":[],\"mappings\":\";AAiBA;IACI,wCAAwC;IACxC,8CAA8C;IAC9C,kCAAkC;IAClC,gCAAgC;IAChC,kCAAkC;IAClC,iCAAiC;IACjC,4BAA4B;IAC5B,8DAA8D;AAClE\",\"sourcesContent\":[\"<style scoped>\\n.help-button {\\n    -webkit-appearance: none;\\n    background: none;\\n    border: none;\\n}\\n::v-deep(.popper) {\\n    white-space: pre-wrap;\\n}\\n.border-0 {\\n    border: 0 !important;\\n}\\n.m-0 {\\n    margin: 0 !important;\\n}\\n</style>\\n<style>\\n:root {\\n    --popper-theme-background-color: #ffffff;\\n    --popper-theme-background-color-hover: #ffffff;\\n    --popper-theme-text-color: inherit;\\n    --popper-theme-border-width: 0px;\\n    --popper-theme-border-style: solid;\\n    --popper-theme-border-radius: 6px;\\n    --popper-theme-padding: 16px;\\n    --popper-theme-box-shadow: 0 6px 30px -6px rgba(0, 0, 0, 0.25);\\n}\\n</style>\\n<template>\\n    <Popper ref=\\\"popperRef\\\" :show=\\\"showPopper\\\" arrow :placement=\\\"placement || 'top'\\\" v-if=\\\"text != null && !/^\\\\s*$/.test(text)\\\" class=\\\"m-0 border-0\\\">\\n        <button type=\\\"button\\\" @click.stop=\\\"triggerClick\\\" @keydown.enter.prevent=\\\"triggerClick\\\" @keydown.space.prevent=\\\"triggerClick\\\" @mouseover.prevent=\\\"handleHoverEvent(true)\\\" @mouseleave.prevent=\\\"handleHoverEvent(false)\\\" @focus=\\\"showPopper = true\\\" @blur=\\\"showPopper = false\\\" slot=\\\"reference\\\" :aria-label=\\\"labelText + 'More information'\\\" class=\\\"help-button\\\">\\n            <span class=\\\"icon\\\" :class=\\\"iconClass || 'icon-info'\\\" aria-hidden=\\\"true\\\"></span>\\n        </button>\\n        <template #content>\\n            <div :id=\\\"cid?.toString()\\\" role=\\\"tooltip\\\">{{ text }}</div>\\n        </template>\\n    </Popper>\\n</template>\\n<script lang=\\\"ts\\\">\\nimport { defineComponent, ref, onMounted, watch, getCurrentInstance, computed } from \\\"vue\\\";\\nimport Popper from \\\"vue3-popper\\\";\\nimport \\\"vue-popperjs/dist/vue-popper.css\\\";\\ntype Props = {\\n    text: string;\\n    placement: string;\\n    hover: boolean;\\n    iconClass: string;\\n    label: string;\\n};\\nexport default defineComponent({\\n    components: {\\n        Popper,\\n    },\\n    props: [\\\"text\\\", \\\"placement\\\", \\\"hover\\\", \\\"iconClass\\\", \\\"label\\\"],\\n    setup(props: Props) {\\n        const cid = getCurrentInstance()?.uid;\\n        const popperRef = ref<typeof Popper>(null!);\\n        const showPopper = ref<boolean>(false);\\n\\n        const labelText = computed(() => {\\n            return props.label ? props.label + \\\": \\\" : \\\"\\\";\\n        });\\n        const hover = computed(() => props.hover ?? true);\\n\\n        const triggerClick = () => {\\n            showPopper.value = !showPopper.value;\\n        };\\n        const handleHoverEvent = (state: boolean) => {\\n            if (hover.value) {\\n                showPopper.value = state;\\n            }\\n        };\\n\\n        onMounted(() => {\\n            if (popperRef.value) {\\n                watch(\\n                    () => popperRef.value?.show,\\n                    state => {\\n                        popperRef.value?.$refs.triggerNode.querySelector(\\\"button\\\").setAttribute(\\\"aria-expanded\\\", !!state);\\n                        popperRef.value?.$refs.triggerNode.querySelector(\\\"button\\\").setAttribute(\\\"aria-describedby\\\", state ? cid : \\\"\\\");\\n                        popperRef.value?.$refs.popperNode.setAttribute(\\\"aria-hidden\\\", !state);\\n                    },\\n                    { immediate: true },\\n                );\\n            }\\n        });\\n        return {\\n            cid,\\n            popperRef,\\n            showPopper,\\n            labelText,\\n            triggerClick,\\n            handleHoverEvent,\\n        };\\n    },\\n});\\n</script>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n@media (max-width: 767px) {\n.dropdown-menu {\n        position: static;\n}\n}\n.previous-question {\n    background: none;\n    width: 100%;\n    display: block;\n    border-bottom: none;\n    border-left: none;\n    border-right: none;\n}\n.dropdown-menu.download-menu {\n    position: absolute;\n    padding: 5px;\n    min-width: 0;\n    max-width: 320px;\n    right: 0;\n    left: auto;\n}\n.dropdown-menu.download-menu a {\n    display: block;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\n.returning_user .nav-link {\n    display: flex;\n    align-items: center;\n    font-size: 0.9rem;\n    padding: 0.5rem 0.75rem;\n}\n.tab-content {\n    padding-left: 0;\n    padding-right: 0;\n}\n.help-block {\n    padding: 0.5rem;\n}\n.testMode {\n    background: #222;\n    color: #fff;\n    text-align: center;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./public/pages/Index.3.vue\"],\"names\":[],\"mappings\":\";AACA;AACI;QACI,gBAAgB;AACpB;AACJ;AACA;IACI,gBAAgB;IAChB,WAAW;IACX,cAAc;IACd,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;AACtB;AACA;IACI,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,gBAAgB;IAChB,QAAQ;IACR,UAAU;AACd;AACA;IACI,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,uBAAuB;AAC3B;AACA;IACI,aAAa;IACb,mBAAmB;IACnB,iBAAiB;IACjB,uBAAuB;AAC3B;AACA;IACI,eAAe;IACf,gBAAgB;AACpB;AACA;IACI,eAAe;AACnB;AACA;IACI,gBAAgB;IAChB,WAAW;IACX,kBAAkB;AACtB\",\"sourcesContent\":[\"<style>\\n@media (max-width: 767px) {\\n    .dropdown-menu {\\n        position: static;\\n    }\\n}\\n.previous-question {\\n    background: none;\\n    width: 100%;\\n    display: block;\\n    border-bottom: none;\\n    border-left: none;\\n    border-right: none;\\n}\\n.dropdown-menu.download-menu {\\n    position: absolute;\\n    padding: 5px;\\n    min-width: 0;\\n    max-width: 320px;\\n    right: 0;\\n    left: auto;\\n}\\n.dropdown-menu.download-menu a {\\n    display: block;\\n    white-space: nowrap;\\n    overflow: hidden;\\n    text-overflow: ellipsis;\\n}\\n.returning_user .nav-link {\\n    display: flex;\\n    align-items: center;\\n    font-size: 0.9rem;\\n    padding: 0.5rem 0.75rem;\\n}\\n.tab-content {\\n    padding-left: 0;\\n    padding-right: 0;\\n}\\n.help-block {\\n    padding: 0.5rem;\\n}\\n.testMode {\\n    background: #222;\\n    color: #fff;\\n    text-align: center;\\n}\\n</style>\\n<template>\\n    <Promised :promise=\\\"indexDataPromise!\\\" :pendingDelay=\\\"200\\\" v-slot:combined=\\\"{ isPending, isDelayElapsed, data }\\\">\\n        <LoadingWheel :width=\\\"100\\\" v-if=\\\"isPending && data == null\\\" />\\n        <template v-else>\\n            <div class=\\\"index-container\\\" :class=\\\"{ 'logged-in': showSideBar }\\\">\\n                <div class=\\\"returning_user\\\" v-show=\\\"showSideBar\\\" v-if=\\\"showSideBar\\\">\\n                    <div role=\\\"complementary\\\" aria-labelledby=\\\"MyFormsHeading\\\">\\n                        <div class=\\\"returning_user_header\\\">\\n                            <h1 id=\\\"MyFormsHeading\\\">\\n                                My Forms\\n                                <template v-if=\\\"isPending && isDelayElapsed\\\">\\n                                    <LoadingWheel :width=\\\"24\\\" style=\\\"display: inline-block\\\" />\\n                                </template>\\n                            </h1>\\n                        </div>\\n                        <div class=\\\"returning_user_body\\\">\\n                            <ul class=\\\"nav nav-tabs\\\">\\n                                <li @click=\\\"tab = 'to-do'\\\" class=\\\"nav-item\\\">\\n                                    <a :class=\\\"{ active: tab == 'to-do' || tab == null }\\\" class=\\\"todo_forms_tab nav-link\\\" tabindex=\\\"0\\\" role=\\\"button\\\">\\n                                        To Do\\n                                        <span class=\\\"badge badge-light\\\" v-if=\\\"activeForms.length > 0\\\">{{ activeForms.length }}</span>\\n                                    </a>\\n                                </li>\\n                                <li @click=\\\"tab = 'in-progress'\\\" class=\\\"nav-item\\\">\\n                                    <a :class=\\\"{ active: tab == 'in-progress' }\\\" class=\\\"draft_forms_tab nav-link\\\" tabindex=\\\"0\\\" role=\\\"button\\\">\\n                                        In Progress\\n                                        <span class=\\\"badge badge-light\\\" v-if=\\\"inProgressForms.length > 0\\\">{{ inProgressForms.length }}</span>\\n                                    </a>\\n                                </li>\\n                                <li @click=\\\"tab = 'done'\\\" class=\\\"nav-item\\\">\\n                                    <a :class=\\\"{ active: tab == 'done' }\\\" class=\\\"submitted_forms_tab nav-link\\\" tabindex=\\\"0\\\" role=\\\"button\\\">Done</a>\\n                                </li>\\n                            </ul>\\n                            <div class=\\\"tab-content\\\">\\n                                <!-- To Do tab -->\\n                                <div id=\\\"ToDoTab\\\" class=\\\"tab-pane fade show\\\" :class=\\\"{ active: tab == 'to-do' || tab == null, show: tab == 'to-do' || tab == null }\\\">\\n                                    <ul class=\\\"returning_user_list_of_forms\\\" v-show=\\\"activeForms.length > 0\\\">\\n                                        <li v-for=\\\"(item, itemIndex) in activeFormsSortedByLastUpdated\\\">\\n                                            <div>\\n                                                {{ item.effectiveDisplayLabel() }}\\n                                            </div>\\n                                            <ul v-if=\\\"item.visibleActiveTasks().length > 1\\\">\\n                                                <li v-for=\\\"task in item.visibleActiveTasks()\\\">{{ task.DisplayLabel }}</li>\\n                                            </ul>\\n                                            <span class=\\\"submitted_timestamp\\\" title=\\\"Last Updated\\\">{{ localeDateTime(item.lastUpdated?.toISOString()) }}</span>\\n                                            <div class=\\\"returning_user_actions\\\">\\n                                                <Promised :promise=\\\"gotoDraftUrl(item)\\\" v-slot:combined=\\\"{ data: url }\\\">\\n                                                    <a class=\\\"btn btn-xs btn-link\\\" :id=\\\"'gotoBtn_ToDo_' + itemIndex\\\" tabindex=\\\"0\\\" role=\\\"button\\\" v-show=\\\"url != null && !item.isDiscontinued && !item.isExpired\\\" @click.prevent=\\\"gotoDraft(item)\\\" :href=\\\"url\\\">\\n                                                        Continue<span class=\\\"sr-only\\\"> {{ item.effectiveDisplayLabel() }}</span>\\n                                                    </a>\\n                                                </Promised>\\n                                                <a class=\\\"btn btn-xs btn-link\\\" tabindex=\\\"0\\\" role=\\\"button\\\" :id=\\\"'deleteBtn_' + itemIndex\\\" @click.prevent=\\\"confirmDelete(item, $event)\\\" v-if=\\\"isDeletable(item)\\\">\\n                                                    Delete<span class=\\\"sr-only\\\"> {{ item.effectiveDisplayLabel() }}</span>\\n                                                </a>\\n                                            </div>\\n                                            <div v-show=\\\"item.isExpired\\\" class=\\\"my-forms-tag unavailable\\\">This form is no longer available.</div>\\n                                            <div v-show=\\\"item.isDiscontinued\\\" class=\\\"my-forms-tag unavailable\\\">This form has been discontinued.</div>\\n                                            <div v-show=\\\"item.isReturned\\\" class=\\\"my-forms-tag returned\\\">This form was returned.</div>\\n                                            <span v-if=\\\"!item.isReturned && !item.isDiscontinued && !item.isExpired && item.visibleActiveTasks().length == 1\\\" class=\\\"my-forms-tag in-progress\\\">{{ item.visibleActiveTasks()[0].DisplayLabel }}</span>\\n                                            <div v-if=\\\"item.testMode\\\" class=\\\"my-forms-tag testMode\\\">Test Submission</div>\\n                                        </li>\\n                                    </ul>\\n                                    <p class=\\\"help-block\\\" v-show=\\\"activeForms.length == 0\\\">You do not currently have any items to do.</p>\\n                                </div>\\n                                <!-- In Progress tab -->\\n                                <!-- TODO dedup these tabs -->\\n                                <div id=\\\"InProgressTab\\\" class=\\\"tab-pane fade show\\\" :class=\\\"{ active: tab == 'in-progress', show: tab == 'in-progress' }\\\">\\n                                    <ul class=\\\"returning_user_list_of_forms\\\" v-show=\\\"inProgressForms.length > 0\\\">\\n                                        <li v-for=\\\"item in inProgressFormsSortedBySubmitDate\\\">\\n                                            <div>\\n                                                {{ item.effectiveDisplayLabel() }}\\n                                            </div>\\n                                            <ul v-if=\\\"item.visibleActiveTasks().length > 1\\\">\\n                                                <li v-for=\\\"task in item.visibleActiveTasks()\\\">{{ task.DisplayLabel }}</li>\\n                                            </ul>\\n                                            <span class=\\\"submitted_timestamp\\\" title=\\\"Submitted Date\\\">{{ localeDateTime(item.submitDate?.toISOString()) }}</span>\\n                                            <div class=\\\"returning_user_actions\\\">\\n                                                <div v-if=\\\"item.hasFileUploads || item.viewTypes.length > 1\\\" class=\\\"dropdown\\\">\\n                                                    <a tabindex=\\\"0\\\" role=\\\"button\\\" class=\\\"dropdown-toggle btn btn-xs btn-link\\\" @click.prevent.stop=\\\"toggleDropdown($event)\\\" aria-haspopup=\\\"menu\\\" :aria-controls=\\\"`${item.id}_DownloadOptions`\\\">Download<span class=\\\"sr-only\\\"> Options</span></a>\\n                                                    <div class=\\\"dropdown-menu download-menu\\\" role=\\\"menu\\\" :aria-label=\\\"`${item.publicDisplayLabel} Download Options`\\\" :id=\\\"`${item.id}_DownloadOptions`\\\">\\n                                                        <template v-for=\\\"view in item.viewTypes\\\">\\n                                                            <Promised :promise=\\\"gotoViewUrl(item, view)\\\" v-slot:combined=\\\"{ data: url }\\\">\\n                                                                <a v-show=\\\"url != null\\\" class=\\\"btn btn-xs btn-link\\\" tabindex=\\\"0\\\" role=\\\"menuitem\\\" @click.prevent=\\\"gotoView(item, view)\\\" :href=\\\"url\\\" target=\\\"_blank\\\"><span class=\\\"sr-only\\\">Download </span>{{ view == \\\"Builtin\\\" || view == \\\"Default\\\" ? \\\"Submission\\\" : view }}</a>\\n                                                            </Promised>\\n                                                        </template>\\n                                                        <Promised :promise=\\\"gotoViewAttachmentsUrl(item)\\\" v-slot:combined=\\\"{ data: url }\\\" v-if=\\\"item.hasFileUploads\\\">\\n                                                            <a v-show=\\\"url != null\\\" class=\\\"btn btn-xs btn-link\\\" tabindex=\\\"0\\\" role=\\\"menuitem\\\" @click.prevent=\\\"gotoViewAttachments(item)\\\" :href=\\\"url\\\" target=\\\"_blank\\\"><span class=\\\"sr-only\\\">Download </span>Attached File(s)</a>\\n                                                        </Promised>\\n                                                        <Promised :promise=\\\"gotoViewAllDocumentsUrl(item)\\\" v-slot:combined=\\\"{ data: url }\\\" v-if=\\\"item.hasFileUploads || item.viewTypes.length > 1\\\">\\n                                                            <a v-show=\\\"url != null\\\" class=\\\"btn btn-xs btn-link\\\" tabindex=\\\"0\\\" role=\\\"menuitem\\\" @click.prevent=\\\"gotoViewAllDocuments(item)\\\" :href=\\\"url\\\" target=\\\"_blank\\\"><span class=\\\"sr-only\\\">Download </span>All Downloads</a>\\n                                                        </Promised>\\n                                                    </div>\\n                                                </div>\\n                                                <div v-else>\\n                                                    <template v-for=\\\"view in item.viewTypes\\\">\\n                                                        <Promised :promise=\\\"gotoViewUrl(item, view)\\\" v-slot:combined=\\\"{ data: url }\\\">\\n                                                            <a v-show=\\\"url != null\\\" class=\\\"btn btn-xs btn-link\\\" tabindex=\\\"0\\\" role=\\\"button\\\" @click.prevent=\\\"gotoView(item, view)\\\" :href=\\\"url\\\" target=\\\"_blank\\\"><span class=\\\"sr-only\\\">Download </span>{{ view == \\\"Builtin\\\" || view == \\\"Default\\\" ? \\\"Submission\\\" : view }}</a>\\n                                                        </Promised>\\n                                                    </template>\\n                                                </div>\\n                                            </div>\\n                                            <span class=\\\"my-forms-tag in-progress\\\">{{ item.effectiveInProgressStatusLabel() }}</span>\\n                                            <div v-if=\\\"item.testMode\\\" class=\\\"my-forms-tag testMode\\\">Test Submission</div>\\n                                        </li>\\n                                    </ul>\\n                                    <p class=\\\"help-block\\\" v-show=\\\"inProgressForms.length == 0\\\">You do not currently have any items in progress.</p>\\n                                </div>\\n                                <!-- Done tab -->\\n                                <div id=\\\"DoneTab\\\" class=\\\"tab-pane fade\\\" :class=\\\"{ active: tab == 'done', show: tab == 'done' }\\\">\\n                                    <ul class=\\\"returning_user_list_of_forms\\\" v-show=\\\"submittedForms.length > 0\\\">\\n                                        <li v-for=\\\"item in completedFormsSortedBySubmitDate\\\">\\n                                            <div>\\n                                                {{ item.effectiveDisplayLabel() }}\\n                                            </div>\\n                                            <span class=\\\"submitted_timestamp\\\" title=\\\"Submitted Date\\\">{{ localeDateTime(item.submitDate?.toISOString()) }}</span>\\n                                            <div class=\\\"returning_user_actions\\\">\\n                                                <div v-if=\\\"item.hasFileUploads || item.viewTypes.length > 1\\\" class=\\\"dropdown\\\">\\n                                                    <a tabindex=\\\"0\\\" role=\\\"button\\\" class=\\\"dropdown-toggle btn btn-xs btn-link\\\" @click.prevent.stop=\\\"toggleDropdown($event)\\\" aria-haspopup=\\\"menu\\\" :aria-controls=\\\"`${item.id}_DownloadOptions`\\\">Download<span class=\\\"sr-only\\\"> Options</span></a>\\n                                                    <div class=\\\"dropdown-menu download-menu\\\" role=\\\"menu\\\" :aria-label=\\\"`${item.publicDisplayLabel} Download Options`\\\" :id=\\\"`${item.id}_DownloadOptions`\\\">\\n                                                        <template v-for=\\\"view in item.viewTypes\\\">\\n                                                            <Promised :promise=\\\"gotoViewUrl(item, view)\\\" v-slot:combined=\\\"{ data: url }\\\">\\n                                                                <a v-show=\\\"url != null\\\" class=\\\"btn btn-xs btn-link\\\" tabindex=\\\"0\\\" role=\\\"menuitem\\\" @click.prevent=\\\"gotoView(item, view)\\\" :href=\\\"url\\\" target=\\\"_blank\\\"><span class=\\\"sr-only\\\">Download </span>{{ view == \\\"Builtin\\\" || view == \\\"Default\\\" ? \\\"Submission\\\" : view }}</a>\\n                                                            </Promised>\\n                                                        </template>\\n                                                        <Promised :promise=\\\"gotoViewAttachmentsUrl(item)\\\" v-slot:combined=\\\"{ data: url }\\\" v-if=\\\"item.hasFileUploads\\\">\\n                                                            <a v-show=\\\"url != null\\\" class=\\\"btn btn-xs btn-link\\\" tabindex=\\\"0\\\" role=\\\"menuitem\\\" @click.prevent=\\\"gotoViewAttachments(item)\\\" :href=\\\"url\\\" target=\\\"_blank\\\"><span class=\\\"sr-only\\\">Download </span>Uploaded File(s)</a>\\n                                                        </Promised>\\n                                                        <Promised :promise=\\\"gotoViewAllDocumentsUrl(item)\\\" v-slot:combined=\\\"{ data: url }\\\" v-if=\\\"item.hasFileUploads || item.viewTypes.length > 1\\\">\\n                                                            <a v-show=\\\"url != null\\\" class=\\\"btn btn-xs btn-link\\\" tabindex=\\\"0\\\" role=\\\"menuitem\\\" @click.prevent=\\\"gotoViewAllDocuments(item)\\\" :href=\\\"url\\\" target=\\\"_blank\\\"><span class=\\\"sr-only\\\">Download </span>All Downloads</a>\\n                                                        </Promised>\\n                                                    </div>\\n                                                </div>\\n                                                <div v-else>\\n                                                    <template v-for=\\\"view in item.viewTypes\\\">\\n                                                        <Promised :promise=\\\"gotoViewUrl(item, view)\\\" v-slot:combined=\\\"{ data: url }\\\">\\n                                                            <a v-show=\\\"url != null\\\" class=\\\"btn btn-xs btn-link\\\" tabindex=\\\"0\\\" role=\\\"button\\\" @click.prevent=\\\"gotoView(item, view)\\\" :href=\\\"url\\\" target=\\\"_blank\\\"><span class=\\\"sr-only\\\">Download </span>{{ view == \\\"Builtin\\\" || view == \\\"Default\\\" ? \\\"Submission\\\" : view }}</a>\\n                                                        </Promised>\\n                                                    </template>\\n                                                </div>\\n                                            </div>\\n                                            <span class=\\\"my-forms-tag done\\\">{{ item.effectiveDoneStatusLabel() }}</span>\\n                                            <div v-if=\\\"item.testMode\\\" class=\\\"my-forms-tag testMode\\\">Test Submission</div>\\n                                        </li>\\n                                    </ul>\\n                                    <p class=\\\"help-block\\\" v-show=\\\"completedForms.length == 0\\\">You do not currently have any completed items.</p>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n                <div class=\\\"index-content\\\">\\n                    <div class=\\\"container tile\\\">\\n                        <div v-if=\\\"contentHtml\\\" v-html=\\\"contentHtml\\\" role=\\\"main\\\" aria-label=\\\"Home Page Content\\\"></div>\\n                        <div v-if=\\\"!contentHtml\\\" role=\\\"main\\\" aria-label=\\\"Home Page Content\\\">\\n                            <div class=\\\"text-center\\\">\\n                                <div><img src=\\\"../../images/accessgov_empowered_homepage_logo.png\\\" class=\\\"index-logo\\\" alt=\\\"AccessGov: Empowered by Tyler Technologies\\\" /></div>\\n                            </div>\\n                            <br />\\n                            <div class=\\\"text-center\\\">\\n                                <p class=\\\"lead\\\">Use the search bar, guided search, or directory to interact with government-related applications and content.</p>\\n                            </div>\\n                        </div>\\n                        <br />\\n                        <div class=\\\"text-center\\\" id=\\\"questionsDiv\\\" v-if=\\\"questionRootNode != null && currentQuestion != null\\\" role=\\\"complementary\\\" aria-label=\\\"Guided Search\\\">\\n                            <!--\\n                            @*<div data-bind=\\\"visible: false\\\">\\n                                <LoadingWheel :width=\\\"100\\\" />\\n                            </div>\\n                            <div style=\\\"display: none;\\\" data-bind=\\\"visible: true\\\">*@\\n                            -->\\n                            <div>\\n                                <button ref=\\\"previousAnswersRef\\\" @click=\\\"priorAnswerClick(answer)\\\" class=\\\"previous-question\\\" v-for=\\\"answer in previousAnswers\\\" aria-description=\\\"Click to return to this question\\\">\\n                                    <span class=\\\"d-block\\\">\\n                                        <span class=\\\"sr-only\\\">Question:&nbsp;</span>\\n                                        <strong>{{ answer.parentQuestion.text }}</strong>\\n                                    </span>\\n                                    <span class=\\\"d-block\\\">\\n                                        <span class=\\\"sr-only\\\">&comma;&nbsp;Answer:&nbsp;</span>\\n                                        {{ answer.answer.text }}\\n                                        <HelpIcon :text=\\\"answer.answer.helpText\\\" aria-hidden=\\\"true\\\" />\\n                                    </span>\\n                                </button>\\n                            </div>\\n                            <div id=\\\"question1\\\" class=\\\"current-question\\\">\\n                                <fieldset>\\n                                    <legend style=\\\"margin-bottom: 5px; padding-top: 15px; border: none\\\">{{ currentQuestion.text }}</legend>\\n                                    <div class=\\\"text-left\\\" style=\\\"display: inline-block\\\">\\n                                        <template v-for=\\\"answer in currentQuestion.answers\\\">\\n                                            <div class=\\\"form-check answer\\\" :class=\\\"{ disabled: !answer.valid }\\\">\\n                                                <label class=\\\"form-check-label\\\">\\n                                                    <input class=\\\"form-check-input\\\" type=\\\"radio\\\" name=\\\"question1\\\" @click=\\\"answerClick($event, answer)\\\" :value=\\\"answer\\\" v-model=\\\"selectedAnswer\\\" :disabled=\\\"!answer.valid\\\" />\\n                                                    {{ answer.text }}\\n                                                    <HelpIcon :text=\\\"answer.helpText\\\" />\\n                                                    <small v-show=\\\"!answer.valid\\\" style=\\\"color: red\\\">(answer is no longer valid)</small>\\n                                                </label>\\n                                            </div>\\n                                        </template>\\n                                    </div>\\n                                </fieldset>\\n                                <div v-show=\\\"selectedAnswer != null\\\">\\n                                    <button tabindex=\\\"0\\\" @click=\\\"answerClick(null, selectedAnswer!)\\\">Next</button>\\n                                </div>\\n                            </div>\\n                            <div class=\\\"current-question\\\" v-show=\\\"currentQuestionLoading\\\">\\n                                <LoadingWheel :width=\\\"100\\\" />\\n                            </div>\\n                            <!--</div>-->\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n        </template>\\n    </Promised>\\n</template>\\n<script lang=\\\"ts\\\">\\nimport { QuestionNode as QuestionNodeData } from \\\"@cs/QuestionNode\\\";\\nimport { QuestionLinkNode as QuestionLinkNodeData } from \\\"@cs/QuestionLinkNode\\\";\\nimport { FormNode as FormNodeData } from \\\"@cs/FormNode\\\";\\nimport { AnswerNode as AnswerNodeData } from \\\"@cs/AnswerNode\\\";\\nimport { Object as Node } from \\\"@cs/Node\\\";\\nimport { FormListItem } from \\\"@cs/FormListItem\\\";\\nimport { UserTask } from \\\"@cs/UserTask\\\";\\nimport { Index as IndexVm } from \\\"@cs/Index\\\";\\nimport delayPromise from \\\"@/lib/delayPromise\\\";\\n\\nclass Submission {\\n    id: string;\\n    areaCode: string;\\n    formName: string;\\n    formVersion: string;\\n    formHash: string;\\n    formTitle?: string;\\n    publicDisplayLabel?: string;\\n    submitterStatusLabel?: string;\\n    lastUpdated: Date;\\n    submitDate: Date | null;\\n    viewTypes: string[];\\n    hasFileUploads: boolean;\\n    testMode: boolean;\\n    isExpired: boolean;\\n    isDeletable: boolean;\\n    isDiscontinued: boolean;\\n    isReturned: boolean;\\n    activeTasks: UserTask[];\\n\\n    constructor(data: FormListItem) {\\n        this.id = data.Id!;\\n        this.areaCode = data.Tenant;\\n        this.formName = data.FormName;\\n        this.formVersion = data.FormVersion;\\n        this.formHash = data.FormHash;\\n        this.formTitle = data.FormTitle;\\n        this.publicDisplayLabel = data.PublicDisplayLabel;\\n        this.submitterStatusLabel = data.SubmitterStatusLabel;\\n        this.lastUpdated = new Date(data.LastUpdated);\\n        this.submitDate = data.SubmitDate == null ? null : new Date(data.SubmitDate);\\n        this.viewTypes = data.ViewTypes!;\\n        this.hasFileUploads = data.HasFileUploads;\\n        this.testMode = data.TestMode;\\n        this.isExpired = data.IsExpired;\\n        this.isDeletable = data.IsDeletable;\\n        this.isDiscontinued = data.IsDiscontinued;\\n        this.isReturned = data.IsReturned;\\n        this.activeTasks = data.UserTasks.filter(i => [UserTaskStatus.Active, UserTaskStatus.WaitingAssignment, UserTaskStatus.Returned].includes(i.Status));\\n    }\\n\\n    visibleActiveTasks() {\\n        return this.activeTasks.filter(i => i.DisplayLabel != null && !/^\\\\s*$/.test(i.DisplayLabel));\\n    }\\n\\n    effectiveDisplayLabel() {\\n        var displayLabel = this.publicDisplayLabel;\\n        if (displayLabel == null || /^\\\\s*$/.test(displayLabel)) {\\n            displayLabel = this.formTitle;\\n        }\\n        return displayLabel;\\n    }\\n\\n    effectiveInProgressStatusLabel() {\\n        return this.submitterStatusLabel || \\\"In Progress\\\";\\n    }\\n\\n    effectiveDoneStatusLabel() {\\n        return this.submitterStatusLabel || \\\"Done\\\";\\n    }\\n}\\n\\nclass QuestionNode {\\n    text: string;\\n    answers: AnswerNode[];\\n    constructor(data: QuestionNodeData) {\\n        this.text = data.QuestionText;\\n        this.answers = data.Children.map(d => new AnswerNode(d as AnswerNodeData));\\n    }\\n}\\n\\nclass AnswerNode {\\n    text: string;\\n    helpText?: string;\\n    type: string;\\n    question: QuestionNode | null | undefined = null;\\n    linkedId: string | null | undefined = null;\\n    linkedTenant: string | null | undefined = null;\\n    link: Promise<QuestionNode | undefined> | null | undefined = null;\\n    valid = false;\\n    formUrlSlug: string | null | undefined = null;\\n    formName: string | null | undefined = null;\\n    formVersion: string | null | undefined = null;\\n    formHash: string | null | undefined = null;\\n    formTenant: string | null | undefined = null;\\n    openInNewTab: boolean | null | undefined = null;\\n\\n    constructor(data: AnswerNodeData) {\\n        this.text = data.AnswerText;\\n        this.helpText = data.HelpText;\\n        const child = data.Children[0] as Node;\\n        if (this.isQuestion(child)) {\\n            this.type = \\\"SubQuestion\\\";\\n            this.question = new QuestionNode(child as QuestionNodeData);\\n            this.valid = true;\\n        } else if (this.isLink(child)) {\\n            this.type = \\\"Link\\\";\\n            this.linkedId = child.LinkedId;\\n            this.linkedTenant = child.Tenant;\\n            this.link = null;\\n            this.valid = true;\\n        } else if (this.isForm(child)) {\\n            this.type = \\\"Page\\\";\\n            this.formUrlSlug = child.FormUrlSlug;\\n            this.formName = child.FormName;\\n            this.formVersion = child.FormVersion;\\n            this.formHash = child.FormHash;\\n            this.formTenant = child.FormTenant;\\n            this.valid = true; // TODO?\\n            this.openInNewTab = child.OpenInNewTab;\\n        } else {\\n            this.valid = false;\\n            throw new Error(`Unknown type: ${JSON.stringify(child)}`);\\n        }\\n    }\\n\\n    isQuestion(node: Node): node is QuestionNodeData {\\n        return !!(node as QuestionNodeData).QuestionText;\\n    }\\n\\n    isLink(node: Node): node is QuestionLinkNodeData {\\n        return !!(node as QuestionLinkNodeData).LinkedId;\\n    }\\n\\n    isForm(node: Node): node is FormNodeData {\\n        return !!(node as FormNodeData).FormName;\\n    }\\n\\n    resolveLink(urlFetch: ReturnType<typeof useMainStore>[\\\"getUrl\\\"]) {\\n        if (this.type != \\\"Link\\\" || this.link != null) {\\n            return;\\n        }\\n        this.link = (async () => {\\n            const url = await urlFetch(\\\"getQuestionData\\\", { tenantCode: this.linkedTenant, rootId: this.linkedId });\\n            const data = await fetch(url);\\n            if (data.status == 200) {\\n                const json = await data.json();\\n                return new QuestionNode(json);\\n            } else {\\n                this.valid = false;\\n            }\\n        })();\\n    }\\n}\\n\\nimport { defineComponent, ref, computed, watch, inject, onActivated, Ref } from \\\"vue\\\";\\nimport { localeDateTime } from \\\"@/lib/localeDatetime.3\\\";\\nimport { asyncComputed } from \\\"@vueuse/core\\\";\\nimport { useMainStore } from \\\"../../mainStore\\\";\\nimport { UserTaskStatus } from \\\"@cs/UserTaskStatus\\\";\\nimport LoadingWheel from \\\"@/lib/LoadingWheel.3.vue\\\";\\nimport HelpIcon from \\\"@/lib/HelpIcon.3.vue\\\";\\nimport { Promised } from \\\"vue-promised\\\";\\nimport { showModalInjectKey, showModal, changePageInjectKey, changePage, ModalEvent } from \\\"@/AppShell.3.vue.InjectKeys\\\";\\nimport DeleteConfirmModal from \\\"./dialogs/DeleteConfirm.3.vue\\\";\\nimport { fetchXsrf } from \\\"@/lib/fetchHelpers.3\\\";\\nimport { toggleDropdown } from \\\"@/lib/toggleDropdown.3\\\";\\ninterface ViewData {\\n    activeForms: Submission[];\\n    submittedForms: Submission[];\\n    contentHtml?: string;\\n    questionRootNode: QuestionNode | null;\\n}\\ninterface AnswerQuestion {\\n    parentQuestion: QuestionNode;\\n    answer: AnswerNode;\\n}\\nexport default defineComponent({\\n    components: {\\n        LoadingWheel,\\n        HelpIcon,\\n        Promised,\\n    },\\n    props: [\\\"settings\\\"],\\n    emits: [\\\"changePage\\\", \\\"updatePage\\\"], // TODO remove?\\n    setup() {\\n        const previousAnswersRef = ref<HTMLInputElement[]>(null!);\\n        const firstLoad = ref(true);\\n        const indexDataPromise = ref<Promise<ViewData> | null>(null);\\n        const showSideBar = ref(true);\\n        const tab = ref<\\\"done\\\" | \\\"in-progress\\\" | \\\"to-do\\\" | null>(null);\\n        const previousAnswers = ref<AnswerQuestion[]>([]);\\n        const currentQuestion = ref<null | QuestionNode>(null);\\n        const selectedAnswer = ref<null | AnswerNode>(null);\\n        const currentQuestionLoading = ref(false);\\n\\n        const mainStore = useMainStore();\\n        const showModal = inject(showModalInjectKey)! as showModal;\\n        const changePage = inject(changePageInjectKey)! as changePage;\\n\\n        const activeFormsSortedByLastUpdated = computed(() => {\\n            return activeForms.value.slice().sort((a, b) => (a.lastUpdated == b.lastUpdated ? 0 : a.lastUpdated < b.lastUpdated ? 1 : -1));\\n        });\\n        const inProgressForms = computed(() => {\\n            return submittedForms.value.filter(i => i.activeTasks.length > 0);\\n        });\\n        const completedForms = computed(() => {\\n            return submittedForms.value.filter(i => i.activeTasks.length == 0);\\n        });\\n        const inProgressFormsSortedBySubmitDate = computed(() => {\\n            return inProgressForms.value.slice().sort((a, b) => (a.submitDate == b.submitDate ? 0 : (a.submitDate ?? 10000000) < (b.submitDate ?? 10000000) ? 1 : -1));\\n        });\\n        const completedFormsSortedBySubmitDate = computed(() => {\\n            return completedForms.value.slice().sort((a, b) => (a.submitDate == b.submitDate ? 0 : a.submitDate! < b.submitDate! ? 1 : -1));\\n        });\\n\\n        const activeForms = asyncComputed(\\n            async () => {\\n                const data = await indexDataPromise.value;\\n                return data == null ? [] : data.activeForms;\\n            },\\n            [] as ViewData[\\\"activeForms\\\"],\\n        );\\n        const submittedForms = asyncComputed(\\n            async () => {\\n                const data = await indexDataPromise.value;\\n                return data == null ? [] : data.submittedForms;\\n            },\\n            [] as ViewData[\\\"submittedForms\\\"],\\n        );\\n        const contentHtml = asyncComputed(async () => {\\n            const data = await indexDataPromise.value;\\n            return data == null ? [] : data.contentHtml;\\n        }, \\\"Loading...\\\") as unknown as Ref<string>;\\n        const questionRootNode = asyncComputed(async () => {\\n            const data = await indexDataPromise.value;\\n            return data == null ? null : data.questionRootNode;\\n        });\\n\\n        watch(\\n            () => questionRootNode.value,\\n            val => {\\n                if (currentQuestion.value == null) {\\n                    currentQuestion.value = val;\\n                }\\n                val?.answers.forEach(answer => answer.resolveLink(mainStore.getUrl));\\n            },\\n        );\\n\\n        const gotoDraftUrl = (item: Submission) => {\\n            return mainStore.getUrl(\\\"draftGoto\\\", {\\n                tenantCode: mainStore.tenantCode,\\n                areaCode: item.areaCode,\\n                formId: item.id,\\n                page: 0,\\n            });\\n        };\\n        const gotoDraft = (item: Submission) => {\\n            changePage({\\n                page: \\\"Page\\\",\\n                settings: {\\n                    areaCode: item.areaCode,\\n                    formId: item.id,\\n                    formName: item.formName,\\n                    formVersion: item.formVersion,\\n                    formHash: item.formHash,\\n                    page: 0,\\n                },\\n            });\\n        };\\n        const isDeletable = (item: Submission) => {\\n            return item.isDeletable;\\n        };\\n        const confirmDelete = async (item: Submission, event: Event) => {\\n            await mainStore.ensureSiteCssLoaded();\\n            let deleting = false;\\n            showModal(\\n                DeleteConfirmModal,\\n                {\\n                    // TODO styling without bootstrap/sitecss\\n                    deleteFunction: async () => {\\n                        if (!deleting) {\\n                            deleting = true;\\n                            const url = await mainStore.getUrl(\\\"deleteDraft\\\", { asAdmin: false, tenantCode: item.areaCode, formId: item.id });\\n                            const response = await fetchXsrf(mainStore, url, {\\n                                method: \\\"POST\\\",\\n                                headers: {\\n                                    \\\"Content-Type\\\": \\\"application/json\\\",\\n                                },\\n                                credentials: \\\"same-origin\\\",\\n                            });\\n                            deleting = false;\\n                            if (response.status == 200) {\\n                                loadData();\\n                            } else {\\n                                throw new Error(\\\"Not 200 OK: \\\" + response.status + \\\" \\\" + response.statusText);\\n                            }\\n                        }\\n                    },\\n                    triggerElement: event.target,\\n                },\\n                {\\n                    \\\"before-close\\\": (event: ModalEvent) => {\\n                        if (deleting) {\\n                            event.stop();\\n                        }\\n                    },\\n                },\\n            );\\n        };\\n        const loadData = async () => {\\n            await mainStore.ensureSiteCssLoaded();\\n            indexDataPromise.value = (async () => {\\n                const url = await mainStore.getUrl(\\\"getIndexData\\\");\\n                const response = await fetch(url, { cache: \\\"reload\\\" });\\n                const data = (await response.json()) as IndexVm;\\n                mainStore.hasSession = data.HasSubmissions;\\n                return {\\n                    activeForms: data.ActiveForms.map(d => new Submission(d)),\\n                    submittedForms: data.SubmittedForms.map(d => new Submission(d)),\\n                    contentHtml: data.ContentHtml,\\n                    questionRootNode: data.RootNode != null ? new QuestionNode(data.RootNode as QuestionNodeData) : null,\\n                };\\n            })();\\n            await indexDataPromise.value;\\n        };\\n        const gotoViewUrl = (item: Submission, view: string) => {\\n            return mainStore.getUrl(\\\"downloadDocument\\\", {\\n                tenantCode: item.areaCode,\\n                formId: item.id,\\n                document: view,\\n            });\\n        };\\n        const gotoView = async (item: Submission, view: string) => {\\n            window.open(await gotoViewUrl(item, view), \\\"_blank\\\");\\n        };\\n        const gotoViewAttachmentsUrl = (item: Submission) => {\\n            return mainStore.getUrl(\\\"submissionGotoAttachments\\\", {\\n                tenantCode: item.areaCode,\\n                formId: item.id,\\n            });\\n        };\\n        const gotoViewAttachments = async (item: Submission) => {\\n            window.open(await gotoViewAttachmentsUrl(item), \\\"_blank\\\");\\n        };\\n        const gotoViewAllDocumentsUrl = (item: Submission) => {\\n            return mainStore.getUrl(\\\"submissionGotoAllDocuments\\\", {\\n                tenantCode: item.areaCode,\\n                formId: item.id,\\n            });\\n        };\\n        const gotoViewAllDocuments = async (item: Submission) => {\\n            window.open(await gotoViewAllDocumentsUrl(item), \\\"_blank\\\");\\n        };\\n        const answerClick = async (event: MouseEvent | null, answer: AnswerNode) => {\\n            if (event != null && event.pageX == 0 && event.pageY == 0) {\\n                // Enter key\\n                selectedAnswer.value = answer;\\n            } else {\\n                if (event != null) {\\n                    event.preventDefault();\\n                }\\n                if (answer.type == \\\"SubQuestion\\\") {\\n                    previousAnswers.value.push({ parentQuestion: currentQuestion.value!, answer: answer });\\n                    currentQuestion.value = answer.question!;\\n                    selectedAnswer.value = null;\\n                    currentQuestion.value!.answers.forEach(answer => answer.resolveLink(mainStore.getUrl));\\n                } else if (answer.type == \\\"Link\\\") {\\n                    currentQuestionLoading.value = true;\\n                    answer.link!.then(linkedQuestion => {\\n                        if (linkedQuestion) {\\n                            previousAnswers.value.push({ parentQuestion: currentQuestion.value!, answer: answer });\\n                            selectedAnswer.value = null;\\n                            currentQuestion.value = linkedQuestion;\\n                        }\\n                        currentQuestionLoading.value = false;\\n                    });\\n                } else if (answer.type == \\\"Page\\\") {\\n                    selectedAnswer.value = null;\\n                    changePage(\\n                        {\\n                            page: \\\"Page\\\",\\n                            settings: {\\n                                areaCode: answer.formTenant,\\n                                urlSlug: answer.formUrlSlug,\\n                                formName: answer.formName,\\n                                formVersion: answer.formVersion,\\n                                formHash: answer.formHash,\\n                                page: 0,\\n                            },\\n                        },\\n                        false,\\n                        false,\\n                        !!answer.openInNewTab,\\n                    );\\n                } else {\\n                    throw new Error(`Unknown type: ${answer.type}`);\\n                }\\n            }\\n            focusFirstAnswer();\\n        };\\n        const priorAnswerClick = (answerQuestion: AnswerQuestion) => {\\n            previousAnswers.value.splice(previousAnswers.value.indexOf(answerQuestion));\\n            currentQuestion.value = answerQuestion.parentQuestion;\\n            selectedAnswer.value = null;\\n            focusFirstAnswer();\\n        };\\n        const focusFirstAnswer = async () => {\\n            await delayPromise(0);\\n            if (selectedAnswer.value == null) {\\n                previousAnswersRef.value[0]?.focus();\\n            }\\n        };\\n\\n        onActivated(async () => {\\n            await loadData();\\n        });\\n\\n        return {\\n            //$refs\\n            previousAnswersRef,\\n\\n            // Refs\\n            firstLoad,\\n            indexDataPromise,\\n            showSideBar,\\n            tab,\\n            previousAnswers,\\n            currentQuestion,\\n            selectedAnswer,\\n            currentQuestionLoading,\\n\\n            //computed\\n            activeFormsSortedByLastUpdated,\\n            inProgressForms,\\n            completedForms,\\n            inProgressFormsSortedBySubmitDate,\\n            completedFormsSortedBySubmitDate,\\n            activeForms,\\n            submittedForms,\\n            contentHtml,\\n            questionRootNode,\\n\\n            //methods\\n            gotoDraftUrl,\\n            gotoDraft,\\n            isDeletable,\\n            confirmDelete,\\n            loadData,\\n            gotoViewUrl,\\n            gotoView,\\n            gotoViewAttachmentsUrl,\\n            gotoViewAttachments,\\n            gotoViewAllDocumentsUrl,\\n            gotoViewAllDocuments,\\n            answerClick,\\n            priorAnswerClick,\\n\\n            toggleDropdown,\\n            localeDateTime,\\n        };\\n    },\\n});\\n</script>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dropdown-toggle[data-v-56dcb51c] {\n  cursor: pointer;\n}\n.user-control a[data-v-56dcb51c] {\n  color: #fff;\n}\n.user-control a.icon[data-v-56dcb51c] {\n  display: flex;\n  align-items: center;\n  text-decoration: none;\n}\n.user-control a.icon[data-v-56dcb51c]:before {\n  color: #fff;\n  margin-right: 0.5rem;\n}\n.user-control a.icon[data-v-56dcb51c]:after {\n  color: #fff;\n  margin-left: 0.5rem;\n}\n.navbar .user-menu[data-v-56dcb51c] {\n  margin-top: 10px;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./AppShell.3.vue\",\"webpack://./../AppShell.3.vue\"],\"names\":[],\"mappings\":\"AACA;EACI,eAAA;ACAJ;ADEA;EACI,WAAA;ACAJ;ADCI;EACI,aAAA;EACA,mBAAA;EACA,qBAAA;ACCR;ADAQ;EACI,WAAA;EACA,oBAAA;ACEZ;ADAQ;EACI,WAAA;EACA,mBAAA;ACEZ;ADEA;EACI,gBAAA;ACAJ\",\"sourcesContent\":[\"\\n.dropdown-toggle {\\n    cursor: pointer;\\n}\\n.user-control a {\\n    color: #fff;\\n    &.icon {\\n        display: flex;\\n        align-items: center;\\n        text-decoration: none;\\n        &:before {\\n            color: #fff;\\n            margin-right: 0.5rem;\\n        }\\n        &:after {\\n            color: #fff;\\n            margin-left: 0.5rem;\\n        }\\n    }\\n}\\n.navbar .user-menu {\\n    margin-top: 10px;\\n}\\n\",\".dropdown-toggle {\\n  cursor: pointer;\\n}\\n.user-control a {\\n  color: #fff;\\n}\\n.user-control a.icon {\\n  display: flex;\\n  align-items: center;\\n  text-decoration: none;\\n}\\n.user-control a.icon:before {\\n  color: #fff;\\n  margin-right: 0.5rem;\\n}\\n.user-control a.icon:after {\\n  color: #fff;\\n  margin-left: 0.5rem;\\n}\\n.navbar .user-menu {\\n  margin-top: 10px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `button.close[data-v-4561adb8] {\n  position: fixed;\n  top: 30px;\n  right: 30px;\n  color: #fff;\n  font-size: 2em;\n  opacity: 1;\n}\n.modal-content[data-v-4561adb8] {\n  background: transparent;\n  border: unset;\n}\n.modal-content .search-group label[data-v-4561adb8] {\n  font-size: 1.5em;\n  color: #aaa;\n  margin-bottom: 0;\n  -webkit-transition: all 0.25s;\n  transition: all 0.25s;\n}\n.modal-content .search-group input#navSearch[data-v-4561adb8] {\n  background: none;\n  height: 40px;\n  color: #ddd;\n  border: none;\n  padding: 10px;\n  border-bottom: 1px solid #aaa;\n  border-radius: 0;\n  box-shadow: none;\n  padding-right: 1.75rem;\n  /**\n            * Remove default clear icon of search input type.\n            * https://stackoverflow.com/a/77190241\n            */\n  appearance: textfield;\n  outline-offset: -2px;\n}\n.modal-content .search-group input#navSearch[data-v-4561adb8]::-webkit-search-decoration,\n.modal-content .search-group input#navSearch[data-v-4561adb8]::-webkit-search-cancel-button,\n.modal-content .search-group input#navSearch[data-v-4561adb8]::-webkit-search-results-button,\n.modal-content .search-group input#navSearch[data-v-4561adb8]::-webkit-search-results-decoration {\n  -webkit-appearance: none;\n}\n.modal-content .search-group input#navSearch[data-v-4561adb8]:focus {\n  border-color: #466db2;\n  border-bottom-width: 2px;\n}\n.modal-content .search-group .clear[data-v-4561adb8] {\n  position: absolute;\n  right: 0;\n  z-index: 3;\n}\n.modal-content .search-group .clear[data-v-4561adb8]:focus {\n  outline-offset: 0;\n  outline-color: white;\n}\n.modal-content .nav-search-results[data-v-4561adb8] {\n  width: calc(590px - 2rem);\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./NavSearchModal.3.vue\",\"webpack://./../NavSearchModal.3.vue\"],\"names\":[],\"mappings\":\"AAEA;EACI,eAAA;EACA,SAAA;EACA,WAAA;EACA,WAAA;EACA,cAAA;EACA,UAAA;ACDJ;ADGA;EACI,uBAAA;EACA,aAAA;ACDJ;ADDA;EAMY,gBAAA;EACA,WAAA;EACA,gBAAA;EACA,6BAAA;EACA,qBAAA;ACFZ;ADRA;EAcY,gBAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,6BAAA;EACA,gBAAA;EACA,gBAAA;EACA,sBAAA;ECHV;;;aAGW;EDMD,qBAAA;EACA,oBAAA;ACJZ;ADMY;;;;EAII,wBAAA;ACJhB;ADOY;EACI,qBAAA;EACA,wBAAA;ACLhB;ADnCA;EA6CY,kBAAA;EACA,QAAA;EACA,UAAA;ACPZ;ADSY;EACI,iBAAA;EACA,oBAAA;ACPhB;AD5CA;EAyDQ,yBAAA;ACVR\",\"sourcesContent\":[\"\\n@import \\\"/styles/SiteColors.less\\\";\\nbutton.close {\\n    position: fixed;\\n    top: 30px;\\n    right: 30px;\\n    color: #fff;\\n    font-size: 2em;\\n    opacity: 1;\\n}\\n.modal-content {\\n    background: transparent;\\n    border: unset;\\n\\n    .search-group {\\n        label {\\n            font-size: 1.5em;\\n            color: #aaa;\\n            margin-bottom: 0;\\n            -webkit-transition: all 0.25s;\\n            transition: all 0.25s;\\n        }\\n\\n        input#navSearch {\\n            background: none;\\n            height: 40px;\\n            color: #ddd;\\n            border: none;\\n            padding: 10px;\\n            border-bottom: 1px solid #aaa;\\n            border-radius: 0;\\n            box-shadow: none;\\n            padding-right: 1.75rem;\\n\\n            /**\\n            * Remove default clear icon of search input type.\\n            * https://stackoverflow.com/a/77190241\\n            */\\n            appearance: textfield;\\n            outline-offset: -2px; // Fix outline style in Safari\\n\\n            &::-webkit-search-decoration,\\n            &::-webkit-search-cancel-button,\\n            &::-webkit-search-results-button,\\n            &::-webkit-search-results-decoration {\\n                -webkit-appearance: none;\\n            }\\n\\n            &:focus {\\n                border-color: @link-color;\\n                border-bottom-width: 2px;\\n            }\\n        }\\n\\n        .clear {\\n            position: absolute;\\n            right: 0;\\n            z-index: 3;\\n\\n            &:focus {\\n                outline-offset: 0;\\n                outline-color: white;\\n            }\\n        }\\n    }\\n\\n    .nav-search-results {\\n        width: calc(590px - 2rem);\\n    }\\n}\\n\",\"button.close {\\n  position: fixed;\\n  top: 30px;\\n  right: 30px;\\n  color: #fff;\\n  font-size: 2em;\\n  opacity: 1;\\n}\\n.modal-content {\\n  background: transparent;\\n  border: unset;\\n}\\n.modal-content .search-group label {\\n  font-size: 1.5em;\\n  color: #aaa;\\n  margin-bottom: 0;\\n  -webkit-transition: all 0.25s;\\n  transition: all 0.25s;\\n}\\n.modal-content .search-group input#navSearch {\\n  background: none;\\n  height: 40px;\\n  color: #ddd;\\n  border: none;\\n  padding: 10px;\\n  border-bottom: 1px solid #aaa;\\n  border-radius: 0;\\n  box-shadow: none;\\n  padding-right: 1.75rem;\\n  /**\\n            * Remove default clear icon of search input type.\\n            * https://stackoverflow.com/a/77190241\\n            */\\n  appearance: textfield;\\n  outline-offset: -2px;\\n}\\n.modal-content .search-group input#navSearch::-webkit-search-decoration,\\n.modal-content .search-group input#navSearch::-webkit-search-cancel-button,\\n.modal-content .search-group input#navSearch::-webkit-search-results-button,\\n.modal-content .search-group input#navSearch::-webkit-search-results-decoration {\\n  -webkit-appearance: none;\\n}\\n.modal-content .search-group input#navSearch:focus {\\n  border-color: #466db2;\\n  border-bottom-width: 2px;\\n}\\n.modal-content .search-group .clear {\\n  position: absolute;\\n  right: 0;\\n  z-index: 3;\\n}\\n.modal-content .search-group .clear:focus {\\n  outline-offset: 0;\\n  outline-color: white;\\n}\\n.modal-content .nav-search-results {\\n  width: calc(590px - 2rem);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../icons/fonts/accessgov.woff?v=7\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"../icons/fonts/accessgov.ttf?v=7\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"../icons/fonts/accessgov.svg?v=7\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"../images/search.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___, { hash: \"#accessgov\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*! CSS Used fontfaces */\n@font-face {\n  font-family: \"accessgov\";\n  src: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) format(\"woff\"), url(${___CSS_LOADER_URL_REPLACEMENT_1___}) format(\"truetype\"), url(${___CSS_LOADER_URL_REPLACEMENT_2___}) format(\"svg\");\n  font-weight: normal;\n  font-style: normal;\n}\n/*! CSS Used from: ../bootstrap/bootstrap.css?v=-2013962739 */\n:root {\n  --blue: #007bff;\n  --indigo: #6610f2;\n  --purple: #6f42c1;\n  --pink: #e83e8c;\n  --red: #dc3545;\n  --orange: #fd7e14;\n  --yellow: #ffc107;\n  --green: #28a745;\n  --teal: #20c997;\n  --cyan: #17a2b8;\n  --white: #fff;\n  --gray: #6c757d;\n  --gray-dark: #343a40;\n  --primary: #007bff;\n  --secondary: #6c757d;\n  --success: #28a745;\n  --info: #17a2b8;\n  --warning: #ffc107;\n  --danger: #dc3545;\n  --light: #f8f9fa;\n  --dark: #343a40;\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 992px;\n  --breakpoint-xl: 1200px;\n  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n*,\n*::before,\n*::after {\n  box-sizing: border-box;\n}\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nnav {\n  display: block;\n}\nbody {\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #212529;\n  text-align: left;\n  background-color: #fff;\n}\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\nh2,\nh3 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\np {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\nul {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\nul ul {\n  margin-bottom: 0;\n}\nsmall {\n  font-size: 80%;\n}\na {\n  color: #466db2;\n  text-decoration: none;\n  background-color: transparent;\n}\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n}\na:not([href]):not([tabindex]):hover,\na:not([href]):not([tabindex]):focus {\n  color: inherit;\n  text-decoration: none;\n}\na:not([href]):not([tabindex]):focus {\n  outline: 0;\n}\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\ntable {\n  border-collapse: collapse;\n}\nlabel {\n  display: inline-block;\n  margin-bottom: 0.5rem;\n}\nbutton {\n  border-radius: 0;\n}\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\ninput,\nbutton {\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\nbutton,\ninput {\n  overflow: visible;\n}\nbutton {\n  text-transform: none;\n}\nbutton,\n[type=\"button\"] {\n  -webkit-appearance: button;\n}\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: 0.5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\nh2,\nh3 {\n  margin-bottom: 0.5rem;\n  font-weight: 500;\n  line-height: 1.2;\n}\nh2 {\n  font-size: 2rem;\n}\nh3 {\n  font-size: 1.75rem;\n}\nhr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\nsmall {\n  font-size: 80%;\n  font-weight: 400;\n}\n.container {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n@media (min-width: 576px) {\n  .container {\n    max-width: 540px;\n  }\n}\n@media (min-width: 768px) {\n  .container {\n    max-width: 720px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    max-width: 960px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    max-width: 1140px;\n  }\n}\n.container-fluid {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n  .form-control {\n    transition: none;\n  }\n}\n.form-control::-ms-expand {\n  background-color: transparent;\n  border: 0;\n}\n.form-control:focus {\n  color: #495057;\n  background-color: #fff;\n  border-color: #80bdff;\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.form-control::-webkit-input-placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n.form-control::-moz-placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n.form-control::-ms-input-placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n.form-control::placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n.form-control:disabled {\n  background-color: #e9ecef;\n  opacity: 1;\n}\n.form-group {\n  margin-bottom: 1rem;\n}\n.form-check {\n  position: relative;\n  display: block;\n  padding-left: 1.25rem;\n}\n.form-check-input {\n  position: absolute;\n  margin-top: 0.3rem;\n  margin-left: -1.25rem;\n}\n.form-check-label {\n  margin-bottom: 0;\n}\n.btn {\n  display: inline-block;\n  font-weight: 400;\n  color: #212529;\n  text-align: center;\n  vertical-align: middle;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  background-color: transparent;\n  border: 1px solid transparent;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  line-height: 1.5;\n  border-radius: 0.25rem;\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n  .btn {\n    transition: none;\n  }\n}\n.btn:hover {\n  color: #212529;\n  text-decoration: none;\n}\n.btn:focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.btn:disabled {\n  opacity: 0.65;\n}\n.btn-link {\n  font-weight: 400;\n  color: #466db2;\n  text-decoration: none;\n}\n.btn-link:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n.btn-link:focus {\n  text-decoration: underline;\n  box-shadow: none;\n}\n.btn-link:disabled {\n  color: #6c757d;\n  pointer-events: none;\n}\n.fade {\n  transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n  .fade {\n    transition: none;\n  }\n}\n.fade:not(.show) {\n  opacity: 0;\n}\n.collapse:not(.show) {\n  display: none;\n}\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle {\n  white-space: nowrap;\n}\n.dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0.3em solid;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0;\n  border-left: 0.3em solid transparent;\n}\n.dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 10rem;\n  padding: 0.5rem 0;\n  margin: 0.125rem 0 0;\n  font-size: 1rem;\n  color: #212529;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 0.25rem;\n}\n.nav {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n.nav-link {\n  display: block;\n  padding: 0.5rem 1rem;\n}\n.nav-link:hover,\n.nav-link:focus {\n  text-decoration: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #dee2e6;\n}\n.nav-tabs .nav-item {\n  margin-bottom: -1px;\n}\n.nav-tabs .nav-link {\n  border: 1px solid transparent;\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n.nav-tabs .nav-link:hover,\n.nav-tabs .nav-link:focus {\n  border-color: #e9ecef #e9ecef #dee2e6;\n}\n.nav-tabs .nav-link.active {\n  color: #495057;\n  background-color: #fff;\n  border-color: #dee2e6 #dee2e6 #fff;\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.navbar {\n  position: relative;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -ms-flex-align: center;\n  align-items: center;\n  -ms-flex-pack: justify;\n  justify-content: space-between;\n  padding: 0.5rem 1rem;\n}\n.navbar > .container-fluid {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -ms-flex-align: center;\n  align-items: center;\n  -ms-flex-pack: justify;\n  justify-content: space-between;\n}\n.navbar-brand {\n  display: inline-block;\n  padding-top: 0.3125rem;\n  padding-bottom: 0.3125rem;\n  margin-right: 1rem;\n  font-size: 1.25rem;\n  line-height: inherit;\n  white-space: nowrap;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-nav {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n.navbar-nav .nav-link {\n  padding-right: 0;\n  padding-left: 0;\n}\n.navbar-nav .dropdown-menu {\n  position: static;\n  float: none;\n}\n.navbar-collapse {\n  -ms-flex-preferred-size: 100%;\n  flex-basis: 100%;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  -ms-flex-align: center;\n  align-items: center;\n}\n.navbar-toggler {\n  padding: 0.25rem 0.75rem;\n  font-size: 1.25rem;\n  line-height: 1;\n  background-color: transparent;\n  border: 1px solid transparent;\n  border-radius: 0.25rem;\n}\n.navbar-toggler:hover,\n.navbar-toggler:focus {\n  text-decoration: none;\n}\n@media (max-width: 767.98px) {\n  .navbar-expand-md > .container-fluid {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-expand-md {\n    -ms-flex-flow: row nowrap;\n    flex-flow: row nowrap;\n    -ms-flex-pack: start;\n    justify-content: flex-start;\n  }\n  .navbar-expand-md .navbar-nav {\n    -ms-flex-direction: row;\n    flex-direction: row;\n  }\n  .navbar-expand-md .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-md .navbar-nav .nav-link {\n    padding-right: 0.5rem;\n    padding-left: 0.5rem;\n  }\n  .navbar-expand-md > .container-fluid {\n    -ms-flex-wrap: nowrap;\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-md .navbar-collapse {\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -ms-flex-preferred-size: auto;\n    flex-basis: auto;\n  }\n  .navbar-expand-md .navbar-toggler {\n    display: none;\n  }\n}\n.navbar-dark .navbar-brand {\n  color: #fff;\n}\n.navbar-dark .navbar-brand:hover,\n.navbar-dark .navbar-brand:focus {\n  color: #fff;\n}\n.navbar-dark .navbar-nav .nav-link {\n  color: rgba(255, 255, 255, 0.5);\n}\n.navbar-dark .navbar-nav .nav-link:hover,\n.navbar-dark .navbar-nav .nav-link:focus {\n  color: rgba(255, 255, 255, 0.75);\n}\n.navbar-dark .navbar-toggler {\n  color: rgba(255, 255, 255, 0.5);\n  border-color: rgba(255, 255, 255, 0.1);\n}\n.close {\n  float: right;\n  font-size: 1.5rem;\n  font-weight: 700;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: 0.5;\n}\n.close:hover {\n  color: #000;\n  text-decoration: none;\n}\nbutton.close {\n  padding: 0;\n  background-color: transparent;\n  border: 0;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: block;\n  max-width: 276px;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem;\n}\n.popover .arrow {\n  position: absolute;\n  display: block;\n  width: 1rem;\n  height: 0.5rem;\n  margin: 0 0.3rem;\n}\n.popover .arrow::before,\n.popover .arrow::after {\n  position: absolute;\n  display: block;\n  content: \"\";\n  border-color: transparent;\n  border-style: solid;\n}\n.bs-popover-top {\n  margin-bottom: 0.5rem;\n}\n.bs-popover-top > .arrow {\n  bottom: calc((0.5rem + 1px) * -1);\n}\n.bs-popover-top > .arrow::before {\n  bottom: 0;\n  border-width: 0.5rem 0.5rem 0;\n  border-top-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-top > .arrow::after {\n  bottom: 1px;\n  border-width: 0.5rem 0.5rem 0;\n  border-top-color: #fff;\n}\n.popover-header {\n  padding: 0.5rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-top-left-radius: calc(0.3rem - 1px);\n  border-top-right-radius: calc(0.3rem - 1px);\n}\n.popover-header:empty {\n  display: none;\n}\n.popover-body {\n  padding: 0.5rem 0.75rem;\n  color: #212529;\n}\n.d-none {\n  display: none !important;\n}\n.d-block {\n  display: block !important;\n}\n@media (min-width: 768px) {\n  .d-md-none {\n    display: none !important;\n  }\n  .d-md-block {\n    display: block !important;\n  }\n}\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n.text-left {\n  text-align: left !important;\n}\n.text-center {\n  text-align: center !important;\n}\n@media print {\n  *,\n  *::before,\n  *::after {\n    text-shadow: none !important;\n    box-shadow: none !important;\n  }\n  a:not(.btn) {\n    text-decoration: underline;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  body {\n    min-width: 992px !important;\n  }\n  .container {\n    min-width: 992px !important;\n  }\n  .navbar {\n    display: none;\n  }\n}\n.badge {\n  display: inline-block;\n  padding: 0.25em 0.4em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: 0.25rem;\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n.badge-light {\n  color: #212529;\n  background-color: #f8f9fa;\n  border: 1px solid #dee2e6;\n}\n/*! CSS Used from: ../DynamicForms/DFStyle_Master.css?v=-2013962739 */\nhtml {\n  min-height: 100%;\n  position: relative;\n}\n.form-control {\n  color: #333333;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999999;\n  opacity: 1;\n}\n.form-control::-moz-placeholder {\n  color: #999999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999999;\n  opacity: 1;\n}\n.form-control::-ms-input-placeholder {\n  color: #999999;\n  opacity: 1;\n}\n.form-control::placeholder {\n  color: #999999;\n  opacity: 1;\n}\n.nav.navbar-nav {\n  margin: 0;\n}\nnav {\n  display: block;\n}\n@media (max-width: 767px) {\n  body {\n    padding-bottom: 0;\n  }\n}\n/*! CSS Used from: ../icons/style.css?v=7 */\n.icon:before {\n  font-family: accessgov !important;\n  speak: never;\n  font-style: normal;\n  font-weight: 400;\n  font-variant: normal;\n  text-transform: none;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.icon-info:before {\n  content: \"\\\\62\";\n}\n.icon-search:before {\n  content: \"\\\\49\";\n}\n.icon-close:before {\n  content: \"\\\\74\";\n}\n.icon-user-solid:before {\n  content: \"\\\\e90d\";\n}\n@font-face {\n  font-style: normal;\n  font-weight: 400;\n  src: local(\"Open Sans Regular\"), local(\"OpenSans-Regular\"), url(https://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");\n  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* variables for easier Custom Less modification */\nhtml {\n  position: relative;\n  min-height: 100vh;\n}\n.skip-to.popup.focus {\n  z-index: 1030;\n}\nbody {\n  padding-top: 70px;\n  background: #fff;\n  background-size: cover;\n  font-weight: normal;\n  font-family: \"Open Sans\", sans-serif;\n}\n.body-content {\n  width: 100%;\n  position: relative;\n}\na {\n  color: #466db2;\n}\na:hover {\n  cursor: pointer;\n  color: #304b7b;\n}\np {\n  clear: none;\n}\nh1 {\n  line-height: 1;\n  color: #333;\n}\nh1,\nh2,\nh3 {\n  margin-top: 10px;\n  font-weight: 500;\n}\nh1 {\n  font-size: 1.9rem;\n}\nh2 {\n  font-size: 1.65rem;\n}\nh3 {\n  font-size: 1.45rem;\n}\nh4 {\n  font-size: 1.3rem;\n}\nh5 {\n  font-size: 1.15rem;\n}\nh6 {\n  font-size: 1rem;\n}\n.pull-right {\n  float: right;\n}\n.loading {\n  margin: 15px auto;\n  display: block;\n  margin: 0 auto;\n  height: 100px;\n}\n.text-smaller {\n  font-size: 0.875rem;\n}\n.tile {\n  background: #ffffff;\n  border-radius: 8px;\n  padding: 15px;\n}\n[data-bind*=\"clickOrEnter\"],\n[data-bind^=\"clickOrEnter\"] {\n  cursor: pointer;\n}\n.dropdown-menu li,\n.returning_user li {\n  list-style-type: none;\n  list-style-position: initial;\n}\n.previous-question {\n  padding: 5px 10px;\n  border-top: 1px solid #ddd;\n  font-size: 13px;\n  cursor: pointer;\n}\n.previous-question strong {\n  font-size: 15px;\n}\n.current-question {\n  border-top: 1px solid #ddd;\n}\n.answer.disabled {\n  opacity: 0.65;\n}\n.previous-question:hover,\n.previous-question:focus {\n  background: #f5f5f5;\n}\n.dropdown-menu {\n  border-radius: 0 0 6px 6px;\n}\n.dropdown.open .dropdown-menu {\n  opacity: 1;\n}\n.dropdown-toggle.show + .dropdown-menu {\n  display: block;\n}\nlabel {\n  font-weight: 500;\n}\n#jsPageEditor .form-control,\n#jsPageEditor .vs__dropdown-toggle,\n#jsPageEditor .form-group .input-group .input-group-text {\n  font-weight: normal;\n  border-color: #787878;\n}\n#jsPageEditor .vs__dropdown-toggle .vs__open-indicator {\n  fill: #333333;\n}\n#jsPageEditor .form-control:focus,\n#jsPageEditor .vs--open .vs__dropdown-toggle {\n  border-width: 2px;\n  border-color: rgba(0, 0, 0, 0.87);\n  box-shadow: unset;\n}\n#jsPageEditor .form-control:focus ~ .vs__dropdown-menu,\n#jsPageEditor .vs--open .vs__dropdown-toggle ~ .vs__dropdown-menu {\n  --vs-border-width: 0;\n}\n#jsPageEditor .form-group .btn-group {\n  border-radius: 0.35rem;\n}\n#jsPageEditor .form-group.text-form-group .input-group-append .input-group-text:focus,\n#jsPageEditor .form-group.text-form-group .input-group-prepend .input-group-text:focus {\n  z-index: 0;\n}\n#jsPageEditor .form-group.has-custom-errors .border-mixin {\n  border-color: #b00020;\n  border-width: 1px;\n  outline: unset;\n}\n#jsPageEditor .form-group.has-custom-errors .border-focus-mixin {\n  border-width: 2px;\n  box-shadow: unset;\n}\n#jsPageEditor .form-group.has-custom-errors .invalid-border-mixin {\n  border-color: #b00020;\n  border-width: 1px;\n  outline: unset;\n}\n#jsPageEditor .form-group.has-custom-errors .invalid-border-mixin:focus {\n  border-width: 2px;\n  box-shadow: unset;\n}\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .form-control,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .form-control,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-text,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-text {\n  border-color: #b00020;\n  border-width: 1px;\n  outline: unset;\n}\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .form-control:focus,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .form-control:focus,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-text:focus,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-text:focus {\n  border-width: 2px;\n  box-shadow: unset;\n}\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-append .input-group-text,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-append .input-group-text,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-prepend .input-group-text,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-prepend .input-group-text {\n  border-color: #b00020;\n  border-width: 1px;\n  outline: unset;\n}\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-append .input-group-text:focus,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-append .input-group-text:focus,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-prepend .input-group-text:focus,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-prepend .input-group-text:focus {\n  border-width: 2px;\n  box-shadow: unset;\n}\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-append .input-group-text:focus,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-append .input-group-text:focus,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-prepend .input-group-text:focus,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-prepend .input-group-text:focus {\n  outline: 2px solid #b00020;\n  box-shadow: unset;\n  border: unset;\n  z-index: 0;\n}\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-append:not(.input-group-prepend) .input-group-text,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-append:not(.input-group-prepend) .input-group-text,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-prepend:not(.input-group-prepend) .input-group-text,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-prepend:not(.input-group-prepend) .input-group-text {\n  border-left-width: 0;\n}\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-append:not(.input-group-append) .input-group-text,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-append:not(.input-group-append) .input-group-text,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-prepend:not(.input-group-append) .input-group-text,\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-prepend:not(.input-group-append) .input-group-text {\n  border-right-width: 0;\n}\n#jsPageEditor .form-group.has-custom-errors.dropdown-form-group > div > div > select.form-control,\n#jsPageEditor .form-group.has-custom-errors.dropdown-form-group > div > div > .v-select .vs__dropdown-toggle {\n  border-color: #b00020;\n  border-width: 1px;\n  outline: unset;\n}\n#jsPageEditor .form-group.has-custom-errors.dropdown-form-group > div > div > .v-select.vs--open .vs__dropdown-toggle {\n  border-width: 2px;\n  box-shadow: unset;\n}\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-file,\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-group {\n  border-color: #b00020;\n  border-width: 1px;\n  outline: unset;\n  border-width: 2px;\n}\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-file:focus,\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-group:focus {\n  border-width: 2px;\n  box-shadow: unset;\n}\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-group {\n  border-style: solid;\n}\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-group a.btn {\n  border-width: 0;\n}\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-group .input-group-append {\n  border-top-width: 0;\n  border-right-width: 0;\n  border-bottom-width: 0;\n}\n.form-check-label,\n.radio-inline,\n.checkbox label {\n  font-weight: normal;\n  margin-bottom: 0;\n}\n.page-loading {\n  position: fixed;\n  opacity: 1;\n  transition: all 0.4s ease-in;\n}\nhtml.no-js .page-loading {\n  display: none;\n}\n.page-loaded {\n  opacity: 0;\n  height: 0;\n  transition: none;\n  /*ensure wheel doesn't fade out, rather disappears*/\n  z-index: -1;\n}\n.body-loading {\n  width: 100px;\n  height: 100px;\n  border-radius: 1.5ex;\n  padding: 0.2ex;\n  position: fixed;\n  left: calc(50% - 50px);\n  top: calc(50% - 50px);\n}\n.body-loading .loading {\n  height: 100%;\n}\n.popover-header {\n  margin: 0;\n}\n.popper {\n  background: #ffffff;\n  max-width: 300px;\n  border: 1px solid #cccccc;\n  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);\n  padding: 7.5px;\n}\n.form-check.answer {\n  position: static;\n}\n.v--modal-overlay {\n  z-index: 1002;\n}\n.modal-content {\n  border: none;\n  max-height: 100vh;\n  overflow-y: auto;\n}\n/* ------------------------\n NAVIGATION\n-/----------------------- */\n.skip-navigation-link:focus {\n  display: block;\n  top: 0;\n  width: auto !important;\n  height: auto !important;\n  z-index: 998999;\n  background: white;\n  clip: unset;\n}\n.navbar-dark {\n  background-color: #2b2b2b;\n  /*min-height: 60px;*/\n  padding-top: 5px;\n  padding-bottom: 5px;\n}\n.navbar-dark {\n  padding-left: 0;\n  padding-right: 0;\n}\n.navbar-dark .navbar-nav .nav-link {\n  color: rgba(255, 255, 255, 0.9);\n  cursor: pointer;\n}\n.navbar-dark .navbar-nav .nav-link:hover,\n.navbar-dark .navbar-nav .nav-link:focus {\n  color: #ffffff;\n}\n.navbar-dark a {\n  white-space: nowrap;\n}\n.navbar-dark a:hover,\n.navbar-dark a:focus {\n  text-decoration: none;\n}\n.icon-bar {\n  display: block;\n  background: #ffffff;\n  height: 1px;\n  width: 18px;\n  margin-top: 5px;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: none;\n  border: none;\n  box-shadow: none;\n  padding: 0;\n  width: 100%;\n}\n.navbar-dark .navbar-nav > li > a {\n  color: #fff;\n  font-size: 15px;\n  text-decoration: none;\n  display: inline-block;\n  letter-spacing: 0.5px;\n  /*text-transform: uppercase;*/\n}\n.navbar-dark .navbar-nav > li {\n  padding: 13px 7.5px;\n}\n.navbar-dark .navbar-nav > li button {\n  margin-bottom: 0;\n}\n.navbar-dark .navbar-nav > li ::-webkit-input-placeholder,\n.navbar-dark .navbar-nav > li :-moz-placeholder,\n.navbar-dark .navbar-nav > li ::-moz-placeholder,\n.navbar-dark .navbar-nav > li :-ms-input-placeholder {\n  color: #fff !important;\n  opacity: 1 !important;\n}\nfieldset {\n  border: none;\n  padding: 0;\n  margin: 0;\n}\nlegend {\n  font-size: 1.2em;\n  font-weight: 500;\n}\n.navbar-dark .navbar-nav > .vr {\n  height: 50px;\n  width: 1px;\n  margin-top: 5px;\n  margin-left: 7px;\n  padding-left: 0;\n  padding-right: 7px;\n  border-left: 1px solid #3e3e3e;\n}\n.navbar-dark .navbar-nav > li:not(.active) > a:hover,\n.navbar-dark .navbar-nav > li > a:focus,\n.navbar-dark .navbar-nav > li:focus,\n.navbar-dark .navbar-nav > li.open > a:hover,\n.navbar-dark .navbar-nav > li.open > a:focus,\n.navbar-dark .navbar-nav > li.open > a:active,\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus,\n.dropdown-menu > li > a:active {\n  color: #fff;\n  background: #2b2b2b;\n  border-color: transparent;\n}\n.navbar-dark .navbar-nav > .open > a:hover,\n.navbar-dark .navbar-nav > .open > a:focus {\n  background: #27221a;\n}\n.navbar-dark .navbar-brand {\n  padding: 0;\n  /* cspell:ignore ccess */\n}\n.navbar-dark .navbar-brand img {\n  height: 50px;\n  display: inline;\n}\n.navbar-dark .navbar-brand .brand-letters {\n  display: inline;\n  margin-left: 4px;\n}\n.navbar-dark .navbar-brand .brand-letters img {\n  height: 25px;\n}\n.navbar-dark .navbar-brand .brand-letters-ccess,\n.navbar-dark .navbar-brand .brand-letters-gov {\n  font-size: 40px;\n  letter-spacing: 6pt;\n  vertical-align: middle;\n  display: inline-block;\n  margin-top: -1px;\n}\n.navbar-dark .navbar-brand .brand-letters-ccess {\n  font-weight: bold;\n  color: #ccc;\n}\n.navbar-dark .navbar-brand .brand-letters-gov {\n  color: #fff;\n}\n.navbar-dark .navbar-right {\n  font-size: 1.1em;\n  letter-spacing: 0.4pt;\n  margin: 0;\n  margin-right: -15px;\n  margin-left: auto;\n}\n.form-control.search-control {\n  background: transparent url(${___CSS_LOADER_URL_REPLACEMENT_3___}) no-repeat center left 7.5px;\n  background-size: 15px;\n  padding-left: 30px;\n}\n.navbar-dark .form-control.search-control:focus {\n  border-bottom-color: #fff;\n}\n.search-backdrop,\n.my-forms-backdrop {\n  /*display: none;*/\n  position: fixed;\n  left: 0;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  width: 100%;\n  height: 100vh;\n  background: rgba(0, 0, 0, 0.9);\n  z-index: 10000;\n}\n.search-backdrop .close {\n  position: fixed;\n  top: 30px;\n  right: 30px;\n  color: #fff;\n  font-size: 2em;\n  opacity: 1;\n}\n.search-backdrop .close img {\n  height: 20px;\n}\n.search-backdrop .search-form-wrapper {\n  width: 600px;\n  height: 100px;\n  max-width: 100%;\n  position: fixed;\n  top: 25vh;\n  left: calc(50% - 300px);\n}\n.search-backdrop .search-form-wrapper .form-group label {\n  font-size: 1.5em;\n  color: #aaa;\n  margin-bottom: 0;\n  -webkit-transition: all 0.25s;\n  transition: all 0.25s;\n}\n.search-backdrop .search-form-wrapper .form-group .form-control {\n  background: none;\n  height: 40px;\n  color: #ddd;\n  border: none;\n  padding: 10px;\n  border-bottom: 1px solid #aaa;\n  border-radius: 0;\n  box-shadow: none;\n}\n.search-backdrop .search-form-wrapper .form-group .form-control:focus {\n  border-color: #466db2;\n  border-bottom-width: 2px;\n}\n.nav-search-results {\n  position: fixed;\n  height: auto;\n  max-height: calc(75vh - 125px);\n  min-height: 75px;\n  overflow-y: auto;\n  width: 600px;\n  max-width: 100%;\n  background: #fff;\n  margin-top: 0;\n  padding: 0;\n  border-radius: 4px;\n  box-shadow: 0 2px 6px 1px rgba(0, 0, 0, 0.25);\n  overflow: auto;\n}\n.nav-search-results .nav-search-results-inner {\n  padding: 15px;\n  position: relative;\n  height: auto;\n  width: 100%;\n  overflow-x: hidden;\n  text-align: left;\n}\n.nav-search-results .nav-search-results-caption {\n  position: absolute;\n  top: 5px;\n  right: 10px;\n  display: inline-block;\n  color: #636363;\n  font-size: 12px;\n  /*font-weight: 600;*/\n}\n.nav-search-results .result {\n  padding-top: 5px;\n  letter-spacing: normal;\n  /*font-size: 14px;*/\n  text-align: left;\n}\n.nav-search-results .result:first-of-type {\n  padding-top: 10px;\n}\n.close {\n  opacity: 0.7;\n  font-size: 1.25em;\n}\n.dropdown-menu {\n  padding: 0;\n  padding-bottom: 8px;\n}\n.dropdown-menu > li > a {\n  display: block;\n  color: #fff;\n  font-size: 13px;\n  padding: 6px 18px;\n}\n.dropdown-menu .divider {\n  opacity: 0.3;\n  background-color: #000000;\n  margin: 0;\n  display: none;\n}\n.pane-size-toggle {\n  font-size: 32px;\n  margin-top: -10px;\n  -webkit-appearance: none;\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  float: right;\n}\n.toolbox_pane .pane-size-toggle {\n  margin-top: -14px;\n}\n.toggle-symbol {\n  font-size: 24px;\n  margin-top: -10px;\n}\n.toggle-smaller {\n  margin-left: 7px;\n}\n.toggle-larger {\n  margin-left: 0;\n}\n.pane-size-toggle.close:hover {\n  opacity: 1;\n}\n.df-public-nav .navbar {\n  min-height: 0;\n}\n.navbar-toggle.public_pages_toggle {\n  margin: 5px;\n  padding: 5px;\n}\n.navbar-collapse .list-group {\n  margin-bottom: 0;\n}\n.btn .icon {\n  line-height: 0;\n  vertical-align: inherit;\n}\n.btn .icon-trash {\n  font-size: 1.1em;\n}\n.btn .icon-undo,\n.btn .icon-redo {\n  font-size: 1.15em;\n}\n.btn-link {\n  color: #466db2;\n}\n.btn-link.icon:active,\n.btn-link.icon:focus {\n  box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%);\n}\n.btn-group-vertical .btn {\n  margin-bottom: 0;\n}\n.fixed-top {\n  z-index: 1001;\n}\n.btn.btn-primary {\n  background: #234d7f;\n  color: #fff;\n  border-color: transparent;\n}\n.btn.btn-primary:hover {\n  background: #3471bb;\n  border-color: #3471bb;\n  color: #fff;\n}\n.btn.btn-primary:focus {\n  outline: 2px solid #3471bb;\n  outline-offset: 2px;\n  box-shadow: unset;\n}\n.btn.btn-primary:active {\n  background: #3471bb !important;\n  color: #fff !important;\n  border-color: #183557;\n}\n.btn.btn-outline-primary:hover {\n  background: #234d7f;\n  border-color: #234d7f;\n}\n.btn.btn-outline-primary:focus {\n  background: #234d7f;\n  color: #fff;\n  outline: 2px solid #234d7f;\n  outline-offset: 2px;\n  box-shadow: unset;\n}\n.btn.btn-outline-secondary:focus {\n  background: #6c757d;\n  color: #ffffff;\n  outline: 2px solid #6c757d;\n  outline-offset: 2px;\n  box-shadow: unset;\n}\n.btn.btn-outline-danger:focus {\n  background: #dc3545;\n  color: #ffffff;\n  outline: 2px solid #dc3545;\n  outline-offset: 2px;\n  box-shadow: unset;\n}\n.btn.btn-outline-success:focus {\n  background: #28a745;\n  color: #ffffff;\n  outline: 2px solid #28a745;\n  outline-offset: 2px;\n  box-shadow: unset;\n}\n.btn.btn-bare:focus {\n  outline: 2px solid rgba(0, 0, 0, 0.87);\n  outline-offset: 2px;\n  box-shadow: unset;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn.btn-xs {\n  padding: 2px 5px;\n  font-size: 0.75rem;\n  border-radius: 3px;\n  -webkit-transition: 0.1s all ease-in-out;\n  -moz-transition: 0.1s all ease-in-out;\n  -o-transition: 0.1s all ease-in-out;\n  transition: 0.1s all ease-in-out;\n}\n.notificationBarTop {\n  background: #ffc107;\n  color: #121212;\n  text-align: center;\n  line-height: 2.5;\n  overflow: hidden;\n  /*margin-top: -15px;\n    margin-bottom: 15px;*/\n}\n.notificationBarTop a,\n.notificationBarTop button {\n  color: #121212;\n  font-weight: bold;\n  border-bottom: 1px solid #121212;\n  border-radius: 0;\n  padding: 0;\n}\n.notificationBarTop a:hover,\n.notificationBarTop button:hover {\n  color: #0a0c0d;\n}\n.notificationBarTop .close {\n  color: #eeeeee;\n  padding: 7px 10px;\n  opacity: 0.8;\n  font-size: 1.3em;\n}\n.notificationBarTop .close:hover {\n  opacity: 1;\n}\n.notificationBarTop .close:not(:disabled):not(.disabled):hover,\n.notificationBarTop .close:not(:disabled):not(.disabled):focus {\n  color: #fff;\n  opacity: 0.75;\n}\n.tab-content .result {\n  border-bottom: 1px solid #ddd;\n  padding: 15px;\n}\n.tab-content .result:first-of-type {\n  border-top: 1px solid #ddd;\n}\n.form-group {\n  margin-bottom: 0.75rem;\n  /*label.focused {\n        color: @focus;\n    }*/\n}\n.form-group label.sr-only {\n  position: absolute;\n}\n.form-group legend {\n  font-size: 1em;\n  font-weight: 600;\n  border-bottom: none;\n  margin-bottom: 2px;\n}\n.form-group .radio-inline,\n.form-group .checkbox-inline,\n.form-group .checkbox label,\n.form-group .radio label {\n  margin-left: 0;\n  margin-right: 10px;\n}\n/*.radio-inline,\n.radio,\n.checkbox-inline,\n.checkbox {\n    font-size: 14px;\n}*/\n.loading {\n  margin: 15px auto;\n  display: block;\n  margin: 0 auto;\n  height: 100px;\n}\n.have_not_searched {\n  text-align: center;\n  height: 100%;\n  width: 100%;\n  /*padding-top: 15px;*/\n}\n.have_not_searched:before {\n  /*content: \"Use this search tool to find forms.\";*/\n  font-size: 1.2em;\n  vertical-align: middle;\n}\n#questionsDiv {\n  position: relative;\n  margin-bottom: 20px;\n}\n#questionsDiv .radio {\n  margin-bottom: 7px;\n}\n.public-page-body .body-content {\n  padding: 0;\n}\n/* ------------------------\n AUTHENTICATED USER\n------------------------ */\n.index-container {\n  display: flex;\n  flex: 1;\n  flex-direction: column-reverse;\n}\n.index-content legend {\n  display: block;\n  width: 100%;\n  text-align: center;\n}\n.returning_user {\n  overflow: auto;\n  flex: 0 0 100%;\n  padding: 0px 15px 15px 15px;\n  background: #f9f9f9;\n  border-top: 1px solid #ccc;\n}\n.returning_user .returning_user_header,\n.returning_user .returning_user_body {\n  visibility: visible;\n}\n.returning_user .nav-tabs {\n  border-bottom-color: #bbbbbb;\n}\n.returning_user .nav-tabs li a {\n  background: none !important;\n}\n.returning_user .badge {\n  margin-left: 5px;\n}\n.returning_user .tab-content {\n  padding: 4px 0;\n  border: none;\n  border-top: none;\n}\n.returning_user .returning_user_list_of_forms {\n  list-style: none;\n  padding: 0;\n}\n.returning_user .returning_user_list_of_forms li {\n  position: relative;\n  display: table;\n  width: 100%;\n  padding: 0.5rem;\n  border-bottom: 1px solid #ccc;\n}\n.returning_user .returning_user_list_of_forms li .returning_user_actions {\n  float: right;\n  display: block;\n}\n#MyFormsHeading {\n  margin-top: 15px;\n  margin-bottom: 10px;\n}\n.submitted_timestamp {\n  font-size: 12px;\n  color: #6d6d6d;\n  float: left;\n  margin-top: 5px;\n}\n.my-forms-tag {\n  display: block;\n  clear: both;\n  padding: 2px 6px;\n  border-radius: 100px;\n  font-size: 80%;\n  margin-top: 5px;\n  margin-bottom: 2.5px;\n  float: left;\n}\n.my-forms-tag.returned {\n  background: #ffebce;\n}\n.my-forms-tag.in-progress {\n  background: #e0edff;\n}\n.my-forms-tag.done {\n  background: #dbf2e4;\n}\n.my-forms-tag.unavailable {\n  background: #ffe0e0;\n}\n.badge {\n  font-weight: 600;\n  display: inline-block;\n  padding: 0.25em 0.4em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: 0.25rem;\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n.badge-primary {\n  color: #fff;\n  background-color: #007bff;\n}\n.badge-light {\n  border: 1px solid #dee2e6;\n}\ndiv .nav-tabs {\n  margin-right: 0;\n}\n.nav-tabs > li > .nav-link {\n  border: none;\n  border-bottom: 3px solid transparent;\n}\n.nav-tabs > li > .nav-link.active,\n.nav-tabs > li > .nav-link.active:hover,\n.nav-tabs > li > .nav-link.active:focus {\n  border-bottom: 3px solid #466db2;\n  background-color: #fff;\n  border-radius: 0;\n  color: #466db2 !important;\n  border-bottom-color: #466db2 !important;\n}\n/*.nav-tabs > li.active > .nav-link.show {\n    border-bottom-color: transparent;\n}\n\n.nav-tabs > li.active > .nav-link,\n.nav-tabs > li.active > .nav-link:hover,\n.nav-tabs > li.active > .nav-link:focus {\n    border-bottom: 3px solid @focus;\n    background-color: #fff;\n    border-radius: 0;\n    color: @focus !important;\n    border-bottom-color: @focus !important;\n\n    .badge {\n        background-color: #333;\n    }\n}*/\n.nav-tabs > li {\n  margin-bottom: -1px;\n}\n.nav-tabs > li > .nav-link,\n.nav-tabs > li > .nav-link:hover {\n  color: inherit;\n  margin-right: 0;\n  background-color: transparent;\n}\n#myFormsDiv {\n  max-height: 495px;\n  overflow: auto;\n}\n#myFormsDiv ul {\n  padding-left: 20px;\n}\n#myFormsDiv li {\n  margin-bottom: 10px;\n}\n.navbar-dark .navbar-nav > li.login > a img,\n.navbar-dark .navbar-nav > li.login.dropdown > a img {\n  height: 20px;\n  margin-right: 5px;\n}\n.navbar-dark .navbar-nav > li > a,\n.navbar-dark .navbar-nav > li > a:hover,\n.navbar-dark .navbar-nav > li > a:focus {\n  color: #fff;\n  background: transparent;\n}\n.navbar-dark .navbar-nav > li .dropdown-menu {\n  background-color: #2b2b2b;\n  border: 0;\n  left: auto;\n  right: 0;\n}\n.navbar-dark .navbar-nav > li .dropdown-menu > li > a {\n  color: #fff;\n  /*text-transform: uppercase;*/\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  border-color: transparent;\n}\n.help-block {\n  color: #717171;\n  font-size: 13px;\n}\n/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/\n/* ------------------------\n FOOTER\n------------------------ */\n#demo {\n  width: 600px;\n  padding-top: 5px;\n  margin-left: 10px;\n  float: left;\n}\n#demo a,\na.visited,\na.hover {\n  text-decoration: none;\n  border: none;\n}\n#footer {\n  background: #2b2b2b;\n  color: rgba(255, 255, 255, 0.9);\n  width: 100%;\n}\n#footer ul {\n  padding: 24px 20px;\n  list-style-type: none;\n  text-align: center;\n  list-style: none outside none;\n  z-index: 11;\n  bottom: 0px;\n  margin: 0px auto;\n  flex: auto;\n  display: inline;\n}\n#footer ul li {\n  margin: 0 5px;\n  display: inline-block;\n  color: #e2d5b4;\n}\n#footer ul li a {\n  background: none;\n  color: #fff;\n  letter-spacing: normal;\n  font-size: 12px;\n}\n#footer ul li:first-of-type {\n  margin-left: 0;\n}\n#footer ul li:last-of-type {\n  margin-right: 0;\n}\n#footer ul li:hover {\n  background: none;\n  color: #e2d5b4;\n}\n#footer > a {\n  margin-left: auto;\n  max-height: 48px;\n  border: none;\n}\n.mi-footer-logo {\n  height: 35px;\n  margin-top: -6px;\n}\n.accessgov-footer-logo {\n  height: 45px;\n  margin-top: -10px;\n}\n.visible-xs-inline-block {\n  display: none;\n}\n.my-forms-backdrop {\n  background: rgba(0, 0, 0, 0.5);\n  height: 100vh;\n  width: 100%;\n  z-index: 999;\n}\n.index-logo {\n  height: 150px;\n  margin: 10px auto;\n  max-width: 100%;\n}\n.public-page-body .tile {\n  margin-top: 20px;\n  margin-bottom: 20px;\n}\n.public-page-body .body-content {\n  padding: 0 5px;\n}\n.returning_user {\n  margin: 0 -15px;\n}\n@media (max-width: 767px) {\n  body {\n    padding-top: 60px;\n    background-image: none;\n    padding-bottom: 0 !important;\n  }\n  .body-content {\n    margin-top: 0;\n    padding-top: 0;\n  }\n  .transitions-after-load .body-content {\n    height: 100vh;\n  }\n  .nav .dropdown {\n    position: static;\n  }\n  .dropdown-menu {\n    position: static;\n    box-shadow: none;\n  }\n  .notificationBarTop {\n    /*margin-top: -10px;*/\n    margin-bottom: 0;\n  }\n  #footer {\n    position: static;\n    text-align: center;\n    height: auto;\n    /*margin-top: 25px;*/\n    padding: 15px 0;\n    display: block;\n  }\n  #footer ul {\n    display: block;\n    width: 90%;\n  }\n  #footer ul li {\n    display: block;\n    margin-left: 0;\n    margin-right: 0;\n  }\n  #footer ul li a:link,\n  #footer ul li a {\n    /*background: @primary-light;*/\n    float: none;\n    margin: 0.5em 0px;\n    padding: 1.2em 0 1.2em;\n    height: auto;\n    display: block;\n    margin-bottom: 5px;\n    /*color: #fff;*/\n    padding-top: 10px;\n    padding-bottom: 10px;\n  }\n  #footer ul li a:link:hover,\n  #footer ul li a:hover {\n    background: #eee !important;\n    text-decoration: underline;\n    color: #2b2b2b;\n  }\n  #footer ul li:hover a {\n    background: #454545;\n  }\n  #questionsDiv {\n    height: auto;\n    padding-bottom: 0;\n    position: relative;\n  }\n  .form-control {\n    max-width: none;\n  }\n  .visible-xs-inline-block {\n    display: inline-block !important;\n  }\n  .have_not_searched {\n    background-position: center center;\n    background-size: 150px;\n    padding-top: 30px;\n  }\n  /*.dfNavButton:not(.dfNavRemoveButton) {\n        display: block;\n        width: 100%;\n        margin-bottom: 5px;\n    }*/\n  .dropdown-toggle {\n    width: 100%;\n  }\n  .pane-size-toggle {\n    -webkit-transform: rotate(90deg);\n    transform: rotate(90deg);\n    margin-top: -8px !important;\n    margin-right: 0 !important;\n  }\n  .navbar-dark {\n    padding: 13px 5px;\n  }\n  .navbar-dark a.search-toggle,\n  .navbar-dark a.search-toggle:hover,\n  .navbar-dark a.search-toggle:focus {\n    float: right;\n    color: #ffffff;\n    opacity: 0.8;\n    padding: 0 10px;\n  }\n  .navbar-dark a.search-toggle .icon,\n  .navbar-dark a.search-toggle:hover .icon,\n  .navbar-dark a.search-toggle:focus .icon {\n    display: block;\n    margin-top: 2px;\n  }\n  .navbar-dark .navbar-brand img {\n    height: 33px;\n  }\n  .navbar-dark .navbar-brand .brand-letters {\n    margin-left: 3px;\n  }\n  .navbar-dark .navbar-brand .brand-letters img {\n    height: 15px;\n  }\n  .navbar-dark .navbar-toggler,\n  .navbar-dark .navbar-toggler:focus,\n  .navbar-dark .navbar-toggler:hover {\n    background: #2b2b2b;\n    border: none;\n    box-shadow: none;\n    padding: 0.25rem 0.75rem 0.5rem 0.75rem;\n    /*.navbar-toggler-icon {\n                width: 20px;\n                height: 20px;\n            }*/\n  }\n  .search-backdrop,\n  .my-forms-backdrop {\n    padding: 5px 15px;\n    height: 150vh;\n  }\n  .search-backdrop .close {\n    font-size: 1.4em;\n    top: 15px;\n    right: 15px;\n  }\n  .search-backdrop .close img {\n    height: 15px;\n  }\n  .search-backdrop .search-form-wrapper {\n    position: static;\n    margin-top: 40px;\n    width: 100%;\n  }\n  .navbar-dark .navbar-nav > .vr {\n    display: none;\n  }\n  .navbar-dark .form-group.search-group .search-control {\n    width: 100% !important;\n  }\n  .navbar-dark .navbar-left {\n    margin-left: 0;\n    margin-right: -15px;\n  }\n  .navbar-dark .navbar-nav > li {\n    padding: 0 7px;\n  }\n  .navbar-dark .icon-search {\n    font-size: 1.4em;\n  }\n  #collapse2 {\n    padding: 8px;\n    overflow-x: hidden;\n  }\n  .nav-search-results {\n    position: fixed;\n    width: calc(100% - 30px);\n    z-index: 10000;\n    max-height: calc(100vh - 150px);\n    /*background: #fff;\n        margin-top: 0;\n        padding: 0;\n        border: 1px solid #ddd;\n        box-shadow: 0 2px 6px 1px rgba(0,0,0,.25);\n        overflow: auto;*/\n  }\n  .nav-search-results .nav-search-results-inner {\n    padding: 15px;\n    position: relative;\n    height: auto;\n    width: 100%;\n  }\n  .nav-search-results .nav-search-results-caption {\n    position: absolute;\n    top: 5px;\n    right: 10px;\n    display: inline-block;\n    color: #717171;\n    font-size: 11px;\n  }\n  .nav-search-results .result {\n    padding-top: 5px;\n    letter-spacing: normal;\n    font-size: 13px;\n  }\n  .nav-search-results .result:first-of-type {\n    padding-top: 10px;\n  }\n}\n@media (min-width: 768px) {\n  body,\n  label,\n  .btn,\n  .form-control {\n    font-size: 15px;\n  }\n  .navbar-dark {\n    height: 70px;\n  }\n  .navbar-dark .navbar-brand {\n    pointer-events: none;\n  }\n  .public-page-body .body-content {\n    padding: 0;\n  }\n  .index-content {\n    padding: 15px;\n  }\n  .returning_user {\n    margin: 0;\n  }\n  .mi-footer-logo {\n    float: right;\n  }\n  .lead {\n    font-size: 16px;\n  }\n  .accessgov-footer-logo {\n    float: left;\n  }\n  .my-forms-backdrop {\n    display: none;\n  }\n  #collapse2 {\n    margin-right: 10px;\n  }\n  .navbar-inverse .navbar-nav > li .dropdown-menu {\n    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);\n  }\n}\n@media (max-width: 991px) {\n  .img-responsive {\n    /* account for large homepage images to be responsive on mobile devices */\n    max-width: 100%;\n    height: auto !important;\n  }\n}\n/* Medium devices (desktops, 992px and up) */\n@media (min-width: 992px) {\n  .lead {\n    font-size: 17px;\n  }\n  .index-container {\n    flex-direction: row;\n    min-height: calc(100vh - 70px);\n  }\n  .index-container .index-content {\n    flex: 1;\n  }\n  .index-container .returning_user {\n    flex: 0 0 375px;\n    border-top: none;\n    border-right: 1px solid #ccc;\n    overflow: auto;\n  }\n  .body-content {\n    min-height: calc(100vh - 70px);\n  }\n}\n@media (min-width: 1200px) {\n  .have_not_searched {\n    background-position: center 40%;\n  }\n}\n@media print {\n  .no_print,\n  #footer,\n  .btn {\n    display: none !important;\n  }\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./styles/DFStyle_SiteIndex_Template.less\",\"webpack://./styles/index.css\",\"webpack://./styles/SiteIndex.less\"],\"names\":[],\"mappings\":\"AAAA,wBAAwB;ACCxB;EACI,wBAAA;EACA,8KAAA;EAIA,mBAAA;EACA,kBAAA;ADFJ;AACA,6DAA6D;ACI7D;EACI,eAAA;EACA,iBAAA;EACA,iBAAA;EACA,eAAA;EACA,cAAA;EACA,iBAAA;EACA,iBAAA;EACA,gBAAA;EACA,eAAA;EACA,eAAA;EACA,aAAA;EACA,eAAA;EACA,oBAAA;EACA,kBAAA;EACA,oBAAA;EACA,kBAAA;EACA,eAAA;EACA,kBAAA;EACA,iBAAA;EACA,gBAAA;EACA,eAAA;EACA,kBAAA;EACA,sBAAA;EACA,sBAAA;EACA,sBAAA;EACA,uBAAA;EACA,+MAAA;EACA,6GAAA;ADFJ;ACIA;;;EAGI,sBAAA;ADFJ;ACIA;EACI,uBAAA;EACA,iBAAA;EACA,8BAAA;EACA,6CAAA;ADFJ;ACIA;EACI,cAAA;ADFJ;ACIA;EACI,SAAA;EACA,kMAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;EACA,cAAA;EACA,gBAAA;EACA,sBAAA;ADFJ;ACIA;EACI,uBAAA;EACA,SAAA;EACA,iBAAA;ADFJ;ACIA;;EAEI,aAAA;EACA,qBAAA;ADFJ;ACIA;EACI,aAAA;EACA,mBAAA;ADFJ;ACIA;EACI,aAAA;EACA,mBAAA;ADFJ;ACIA;EACI,gBAAA;ADFJ;ACIA;EACI,cAAA;ADFJ;ACIA;EACI,cAAA;EACA,qBAAA;EACA,6BAAA;ADFJ;ACIA;EACI,cAAA;EACA,0BAAA;ADFJ;ACIA;EACI,cAAA;EACA,qBAAA;ADFJ;ACIA;;EAEI,cAAA;EACA,qBAAA;ADFJ;ACIA;EACI,UAAA;ADFJ;ACIA;EACI,sBAAA;EACA,kBAAA;ADFJ;ACIA;EACI,yBAAA;ADFJ;ACIA;EACI,qBAAA;EACA,qBAAA;ADFJ;ACIA;EACI,gBAAA;ADFJ;ACIA;EACI,mBAAA;EACA,0CAAA;ADFJ;ACIA;;EAEI,SAAA;EACA,oBAAA;EACA,kBAAA;EACA,oBAAA;ADFJ;ACIA;;EAEI,iBAAA;ADFJ;ACIA;EACI,oBAAA;ADFJ;ACIA;;EAEI,0BAAA;ADFJ;ACIA;;EAEI,UAAA;EACA,kBAAA;ADFJ;ACIA;EACI,sBAAA;EACA,UAAA;ADFJ;ACIA;EACI,YAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;ADFJ;ACIA;EACI,cAAA;EACA,WAAA;EACA,eAAA;EACA,UAAA;EACA,qBAAA;EACA,iBAAA;EACA,oBAAA;EACA,cAAA;EACA,mBAAA;ADFJ;ACIA;EACI,oBAAA;EACA,wBAAA;ADFJ;ACIA;;EAEI,qBAAA;EACA,gBAAA;EACA,gBAAA;ADFJ;ACIA;EACI,eAAA;ADFJ;ACIA;EACI,kBAAA;ADFJ;ACIA;EACI,gBAAA;EACA,mBAAA;EACA,SAAA;EACA,wCAAA;ADFJ;ACIA;EACI,cAAA;EACA,gBAAA;ADFJ;ACIA;EACI,WAAA;EACA,mBAAA;EACA,kBAAA;EACA,kBAAA;EACA,iBAAA;ADFJ;ACIA;EACI;IACI,gBAAA;EDFN;AACF;ACIA;EACI;IACI,gBAAA;EDFN;AACF;ACIA;EACI;IACI,gBAAA;EDFN;AACF;ACIA;EACI;IACI,iBAAA;EDFN;AACF;ACIA;EACI,WAAA;EACA,mBAAA;EACA,kBAAA;EACA,kBAAA;EACA,iBAAA;ADFJ;ACIA;EACI,cAAA;EACA,WAAA;EACA,mCAAA;EACA,yBAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;EACA,cAAA;EACA,sBAAA;EACA,4BAAA;EACA,yBAAA;EACA,sBAAA;EACA,wEAAA;ADFJ;ACMA;EACI;IACI,gBAAA;EDJN;AACF;ACMA;EACI,6BAAA;EACA,SAAA;ADJJ;ACMA;EACI,cAAA;EACA,sBAAA;EACA,qBAAA;EACA,UAAA;EACA,gDAAA;ADJJ;ACMA;EACI,cAAA;EACA,UAAA;ADJJ;ACMA;EACI,cAAA;EACA,UAAA;ADJJ;ACMA;EACI,cAAA;EACA,UAAA;ADJJ;ACMA;EACI,cAAA;EACA,UAAA;ADJJ;ACMA;EACI,cAAA;EACA,UAAA;ADJJ;ACMA;EACI,yBAAA;EACA,UAAA;ADJJ;ACMA;EACI,mBAAA;ADJJ;ACMA;EACI,kBAAA;EACA,cAAA;EACA,qBAAA;ADJJ;ACMA;EACI,kBAAA;EACA,kBAAA;EACA,qBAAA;ADJJ;ACMA;EACI,gBAAA;ADJJ;ACMA;EACI,qBAAA;EACA,gBAAA;EACA,cAAA;EACA,kBAAA;EACA,sBAAA;EACA,yBAAA;EACA,sBAAA;EACA,qBAAA;EACA,iBAAA;EACA,6BAAA;EACA,6BAAA;EACA,yBAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,qIAAA;ADJJ;ACUA;EACI;IACI,gBAAA;EDRN;AACF;ACUA;EACI,cAAA;EACA,qBAAA;ADRJ;ACUA;EACI,UAAA;EACA,gDAAA;ADRJ;ACUA;EACI,aAAA;ADRJ;ACUA;EACI,gBAAA;EACA,cAAA;EACA,qBAAA;ADRJ;ACUA;EACI,cAAA;EACA,0BAAA;ADRJ;ACUA;EACI,0BAAA;EACA,gBAAA;ADRJ;ACUA;EACI,cAAA;EACA,oBAAA;ADRJ;ACUA;EACI,gCAAA;ADRJ;ACUA;EACI;IACI,gBAAA;EDRN;AACF;ACUA;EACI,UAAA;ADRJ;ACUA;EACI,aAAA;ADRJ;ACUA;EACI,kBAAA;ADRJ;ACUA;EACI,mBAAA;ADRJ;ACUA;EACI,qBAAA;EACA,oBAAA;EACA,uBAAA;EACA,WAAA;EACA,uBAAA;EACA,qCAAA;EACA,gBAAA;EACA,oCAAA;ADRJ;ACUA;EACI,cAAA;ADRJ;ACUA;EACI,kBAAA;EACA,SAAA;EACA,OAAA;EACA,aAAA;EACA,aAAA;EACA,WAAA;EACA,gBAAA;EACA,iBAAA;EACA,oBAAA;EACA,eAAA;EACA,cAAA;EACA,gBAAA;EACA,gBAAA;EACA,sBAAA;EACA,4BAAA;EACA,qCAAA;EACA,sBAAA;ADRJ;ACUA;EACI,oBAAA;EACA,aAAA;EACA,mBAAA;EACA,eAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;ADRJ;ACUA;EACI,cAAA;EACA,oBAAA;ADRJ;ACUA;;EAEI,qBAAA;ADRJ;ACUA;EACI,gCAAA;ADRJ;ACUA;EACI,mBAAA;ADRJ;ACUA;EACI,6BAAA;EACA,+BAAA;EACA,gCAAA;ADRJ;ACUA;;EAEI,qCAAA;ADRJ;ACUA;EACI,cAAA;EACA,sBAAA;EACA,kCAAA;ADRJ;ACUA;EACI,aAAA;ADRJ;ACUA;EACI,cAAA;ADRJ;ACUA;EACI,kBAAA;EACA,oBAAA;EACA,aAAA;EACA,mBAAA;EACA,eAAA;EACA,sBAAA;EACA,mBAAA;EACA,sBAAA;EACA,8BAAA;EACA,oBAAA;ADRJ;ACUA;EACI,oBAAA;EACA,aAAA;EACA,mBAAA;EACA,eAAA;EACA,sBAAA;EACA,mBAAA;EACA,sBAAA;EACA,8BAAA;ADRJ;ACUA;EACI,qBAAA;EACA,sBAAA;EACA,yBAAA;EACA,kBAAA;EACA,kBAAA;EACA,oBAAA;EACA,mBAAA;ADRJ;ACUA;;EAEI,qBAAA;ADRJ;ACUA;EACI,oBAAA;EACA,aAAA;EACA,0BAAA;EACA,sBAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;ADRJ;ACUA;EACI,gBAAA;EACA,eAAA;ADRJ;ACUA;EACI,gBAAA;EACA,WAAA;ADRJ;ACUA;EACI,6BAAA;EACA,gBAAA;EACA,oBAAA;EACA,YAAA;EACA,sBAAA;EACA,mBAAA;ADRJ;ACUA;EACI,wBAAA;EACA,kBAAA;EACA,cAAA;EACA,6BAAA;EACA,6BAAA;EACA,sBAAA;ADRJ;ACUA;;EAEI,qBAAA;ADRJ;ACUA;EACI;IACI,gBAAA;IACA,eAAA;EDRN;AACF;ACUA;EACI;IACI,yBAAA;IACA,qBAAA;IACA,oBAAA;IACA,2BAAA;EDRN;ECUE;IACI,uBAAA;IACA,mBAAA;EDRN;ECUE;IACI,kBAAA;EDRN;ECUE;IACI,qBAAA;IACA,oBAAA;EDRN;ECUE;IACI,qBAAA;IACA,iBAAA;EDRN;ECUE;IACI,+BAAA;IACA,wBAAA;IACA,6BAAA;IACA,gBAAA;EDRN;ECUE;IACI,aAAA;EDRN;AACF;ACUA;EACI,WAAA;ADRJ;ACUA;;EAEI,WAAA;ADRJ;ACUA;EACI,+BAAA;ADRJ;ACUA;;EAEI,gCAAA;ADRJ;ACUA;EACI,+BAAA;EACA,sCAAA;ADRJ;ACUA;EACI,YAAA;EACA,iBAAA;EACA,gBAAA;EACA,cAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;ADRJ;ACUA;EACI,WAAA;EACA,qBAAA;ADRJ;ACUA;EACI,UAAA;EACA,6BAAA;EACA,SAAA;EACA,wBAAA;EACA,qBAAA;EACA,gBAAA;ADRJ;ACUA;EACI,kBAAA;EACA,MAAA;EACA,OAAA;EACA,aAAA;EACA,cAAA;EACA,gBAAA;EACA,kMAAA;EACA,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,gBAAA;EACA,iBAAA;EACA,qBAAA;EACA,iBAAA;EACA,oBAAA;EACA,sBAAA;EACA,kBAAA;EACA,oBAAA;EACA,mBAAA;EACA,gBAAA;EACA,mBAAA;EACA,qBAAA;EACA,sBAAA;EACA,4BAAA;EACA,oCAAA;EACA,qBAAA;ADRJ;ACUA;EACI,kBAAA;EACA,cAAA;EACA,WAAA;EACA,cAAA;EACA,gBAAA;ADRJ;ACUA;;EAEI,kBAAA;EACA,cAAA;EACA,WAAA;EACA,yBAAA;EACA,mBAAA;ADRJ;ACUA;EACI,qBAAA;ADRJ;ACUA;EACI,iCAAA;ADRJ;ACUA;EACI,SAAA;EACA,6BAAA;EACA,qCAAA;ADRJ;ACUA;EACI,WAAA;EACA,6BAAA;EACA,sBAAA;ADRJ;ACUA;EACI,uBAAA;EACA,gBAAA;EACA,eAAA;EACA,yBAAA;EACA,gCAAA;EACA,0CAAA;EACA,2CAAA;ADRJ;ACUA;EACI,aAAA;ADRJ;ACUA;EACI,uBAAA;EACA,cAAA;ADRJ;ACUA;EACI,wBAAA;ADRJ;ACUA;EACI,yBAAA;ADRJ;ACUA;EACI;IACI,wBAAA;EDRN;ECUE;IACI,yBAAA;EDRN;AACF;ACUA;EACI,eAAA;EACA,MAAA;EACA,QAAA;EACA,OAAA;EACA,aAAA;ADRJ;ACUA;EACI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,SAAA;ADRJ;ACUA;EACI,2BAAA;ADRJ;ACUA;EACI,6BAAA;ADRJ;ACUA;EACI;;;IAGI,4BAAA;IACA,2BAAA;EDRN;ECUE;IACI,0BAAA;EDRN;ECUE;;IAEI,wBAAA;EDRN;ECUE;;;IAGI,UAAA;IACA,SAAA;EDRN;ECUE;;IAEI,uBAAA;EDRN;ECUE;IACI,2BAAA;EDRN;ECUE;IACI,2BAAA;EDRN;ECUE;IACI,aAAA;EDRN;AACF;ACUA;EACI,qBAAA;EACA,qBAAA;EACA,cAAA;EACA,gBAAA;EACA,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,wBAAA;EACA,sBAAA;EACA,qIAAA;ADRJ;ACcA;EACI,cAAA;EACA,yBAAA;EACA,yBAAA;ADZJ;AACA,qEAAqE;ACcrE;EACI,gBAAA;EACA,kBAAA;ADZJ;ACcA;EACI,cAAA;ADZJ;ACcA;EACI,cAAA;EACA,UAAA;ADZJ;ACcA;EACI,cAAA;EACA,UAAA;ADZJ;ACcA;EACI,cAAA;EACA,UAAA;ADZJ;ACcA;EACI,cAAA;EACA,UAAA;ADZJ;ACcA;EACI,cAAA;EACA,UAAA;ADZJ;ACcA;EACI,SAAA;ADZJ;ACcA;EACI,cAAA;ADZJ;ACcA;EACI;IACI,iBAAA;EDZN;AACF;AACA,2CAA2C;ACc3C;EACI,iCAAA;EACA,YAAA;EACA,kBAAA;EACA,gBAAA;EACA,oBAAA;EACA,oBAAA;EACA,cAAA;EACA,mCAAA;EACA,kCAAA;ADZJ;ACcA;EACI,cAAA;ADZJ;ACcA;EACI,cAAA;ADZJ;ACcA;EACI,cAAA;ADZJ;ACcA;EACI,gBAAA;ADZJ;AEpzBA;EACI,kBAAA;EACA,gBAAA;EACA,2JAAA;EAIA,4DAAA;AFmzBJ;AACA,kDAAkD;AE9yBlD;EACI,kBAAA;EACA,iBAAA;AFgzBJ;AE7yBA;EACI,aAAA;AF+yBJ;AE5yBA;EACI,iBAAA;EACA,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,oCAAA;AF8yBJ;AE3yBA;EACI,WAAA;EACA,kBAAA;AF6yBJ;AE1yBA;EACI,cAAA;AF4yBJ;AEzyBA;EACI,eAAA;EACA,cAAA;AF2yBJ;AExyBA;EACI,WAAA;AF0yBJ;AEvyBA;EACI,cAAA;EACA,WAAA;AFyyBJ;AEtyBA;;;EAGI,gBAAA;EACA,gBAAA;AFwyBJ;AEryBA;EACI,iBAAA;AFuyBJ;AEpyBA;EACI,kBAAA;AFsyBJ;AEnyBA;EACI,kBAAA;AFqyBJ;AElyBA;EACI,iBAAA;AFoyBJ;AEjyBA;EACI,kBAAA;AFmyBJ;AEhyBA;EACI,eAAA;AFkyBJ;AE/xBA;EACI,YAAA;AFiyBJ;AE9xBA;EACI,iBAAA;EACA,cAAA;EACA,cAAA;EACA,aAAA;AFgyBJ;AE7xBA;EACI,mBAAA;AF+xBJ;AE5xBA;EACI,mBAAA;EACA,kBAAA;EACA,aAAA;AF8xBJ;AE3xBA;;EAEI,eAAA;AF6xBJ;AE1xBA;;EAEI,qBAAA;EACA,4BAAA;AF4xBJ;AEzxBA;EACI,iBAAA;EACA,0BAAA;EACA,eAAA;EACA,eAAA;AF2xBJ;AE/xBA;EAOQ,eAAA;AF2xBR;AEvxBA;EACI,0BAAA;AFyxBJ;AEtxBA;EACI,aAAA;AFwxBJ;AErxBA;;EAEI,mBAAA;AFuxBJ;AEpxBA;EACI,0BAAA;AFsxBJ;AEnxBA;EAEQ,UAAA;AFoxBR;AE/wBI;EACI,cAAA;AFixBR;AE7wBA;EACI,gBAAA;AF+wBJ;AE1wBA;;;EAIQ,mBAAA;EACA,qBAAA;AF2wBR;AEhxBA;EASQ,aAAA;AF0wBR;AEnxBA;;EAcQ,iBAAA;EACA,iCAAA;EACA,iBAAA;AFywBR;AEvwBQ;;EACI,oBAAA;AF0wBZ;AE7xBA;EAyBY,sBAAA;AFuwBZ;AEhwBoB;;EACI,UAAA;AFmwBxB;AE7vBQ;EAIQ,qBAAA;EACA,iBAAA;EACA,cAAA;AF4vBhB;AElwBQ;EASQ,iBAAA;EACA,iBAAA;AF4vBhB;AEtwBQ;EAIQ,qBAAA;EACA,iBAAA;EACA,cAAA;AFqwBhB;AE7vBgB;EALA,iBAAA;EACA,iBAAA;AFqwBhB;AEzvBoB;;;;EAlBJ,qBAAA;EACA,iBAAA;EACA,cAAA;AFixBhB;AEzwBgB;;;;EALA,iBAAA;EACA,iBAAA;AFoxBhB;AEpwBoB;;;;EAtBJ,qBAAA;EACA,iBAAA;EACA,cAAA;AFgyBhB;AExxBgB;;;;EALA,iBAAA;EACA,iBAAA;AFmyBhB;AE/wB4B;;;;EACI,0BAAA;EACA,iBAAA;EACA,aAAA;EACA,UAAA;AFoxBhC;AEjxBwB;;;;EACI,oBAAA;AFsxB5B;AEpxBwB;;;;EACI,qBAAA;AFyxB5B;AElxBoB;;EA5CJ,qBAAA;EACA,iBAAA;EACA,cAAA;AFk0BhB;AEpxBoB;EA3CJ,iBAAA;EACA,iBAAA;AFk0BhB;AEjxBoB;;EAvDJ,qBAAA;EACA,iBAAA;EACA,cAAA;EAwDQ,iBAAA;AFqxBxB;AEr0BgB;;EALA,iBAAA;EACA,iBAAA;AF80BhB;AExxBoB;EACI,mBAAA;AF0xBxB;AE3xBoB;EAGQ,eAAA;AF2xB5B;AE9xBoB;EAMQ,mBAAA;EACA,qBAAA;EACA,sBAAA;AF2xB5B;AEtwBA;;;EAGI,mBAAA;EACA,gBAAA;AFwwBJ;AErwBA;EACI,eAAA;EACA,UAAA;EACA,4BAAA;AFuwBJ;AEpwBA;EACI,aAAA;AFswBJ;AEnwBA;EACI,UAAA;EACA,SAAA;EACA,gBAAA;EFqwBF,mDAAmD;EEpwBjD,WAAA;AFswBJ;AEnwBA;EACI,YAAA;EACA,aAAA;EACA,oBAAA;EACA,cAAA;EACA,eAAA;EACA,sBAAA;EACA,qBAAA;AFqwBJ;AE5wBA;EAUQ,YAAA;AFqwBR;AEjwBA;EACI,SAAA;AFmwBJ;AEhwBA;EACI,mBAAA;EACA,gBAAA;EACA,yBAAA;EACA,0CAAA;EACA,cAAA;AFkwBJ;AE/vBA;EACI,gBAAA;AFiwBJ;AE9vBA;EACI,aAAA;AFgwBJ;AE7vBA;EACI,YAAA;EACA,iBAAA;EACA,gBAAA;AF+vBJ;AACA;;2BAE2B;AE5vB3B;EACI,cAAA;EACA,MAAA;EACA,sBAAA;EACA,uBAAA;EACA,eAAA;EACA,iBAAA;EACA,WAAA;AF8vBJ;AE3vBA;EACI,yBAAA;EF6vBF,oBAAoB;EE3vBlB,gBAAA;EACA,mBAAA;AF6vBJ;AE1vBA;EACI,eAAA;EACA,gBAAA;AF4vBJ;AE9vBA;EAKQ,+BAAA;EACA,eAAA;AF4vBR;AE1vBQ;;EAEI,cAAA;AF4vBZ;AEtwBA;EAeQ,mBAAA;AF0vBR;AEzwBA;;EAoBQ,qBAAA;AFyvBR;AErvBA;EACI,cAAA;EACA,mBAAA;EACA,WAAA;EACA,WAAA;EACA,eAAA;AFuvBJ;AEpvBA;;EAEI,gBAAA;EACA,YAAA;EACA,gBAAA;EACA,UAAA;EACA,WAAA;AFsvBJ;AEnvBA;EACI,WAAA;EACA,eAAA;EACA,qBAAA;EACA,qBAAA;EACA,qBAAA;EFqvBF,6BAA6B;AAC/B;AElvBA;EACI,mBAAA;AFovBJ;AErvBA;EAGQ,gBAAA;AFqvBR;AExvBA;;;;EAUQ,sBAAA;EACA,qBAAA;AFovBR;AEhvBA;EACI,YAAA;EACA,UAAA;EACA,SAAA;AFkvBJ;AE/uBA;EACI,gBAAA;EACA,gBAAA;AFivBJ;AE9uBA;EACI,YAAA;EACA,UAAA;EACA,eAAA;EACA,gBAAA;EACA,eAAA;EACA,kBAAA;EACA,8BAAA;AFgvBJ;AE7uBA;;;;;;;;;EASI,WAAA;EACA,mBAAA;EACA,yBAAA;AF+uBJ;AE5uBA;;EAEI,mBAAA;AF8uBJ;AE3uBA;EACI,UAAA;EF6uBF,wBAAwB;AAC1B;AE/uBA;EAGQ,YAAA;EACA,eAAA;AF+uBR;AEnvBA;EAQQ,eAAA;EACA,gBAAA;AF8uBR;AEvvBA;EAWY,YAAA;AF+uBZ;AE1vBA;;EAkBQ,eAAA;EACA,mBAAA;EACA,sBAAA;EACA,qBAAA;EACA,gBAAA;AF4uBR;AElwBA;EA0BQ,iBAAA;EACA,WAAA;AF2uBR;AEtwBA;EA+BQ,WAAA;AF0uBR;AEtuBA;EACI,gBAAA;EACA,qBAAA;EACA,SAAA;EACA,mBAAA;EACA,iBAAA;AFwuBJ;AEruBA;EACI,2FAAA;EACA,qBAAA;EACA,kBAAA;AFuuBJ;AEpuBA;EACI,yBAAA;AFsuBJ;AEnuBA;;EFsuBE,iBAAiB;EEpuBf,eAAA;EACA,OAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,WAAA;EACA,aAAA;EACA,8BAAA;EACA,cAAA;AFsuBJ;AEhvBA;EAYQ,eAAA;EACA,SAAA;EACA,WAAA;EACA,WAAA;EACA,cAAA;EACA,UAAA;AFuuBR;AExvBA;EAmBY,YAAA;AFwuBZ;AE3vBA;EAwBQ,YAAA;EACA,aAAA;EACA,eAAA;EACA,eAAA;EACA,SAAA;EACA,uBAAA;AFsuBR;AEnwBA;EAgCgB,gBAAA;EACA,WAAA;EACA,gBAAA;EACA,6BAAA;EACA,qBAAA;AFsuBhB;AE1wBA;EAwCgB,gBAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,6BAAA;EACA,gBAAA;EACA,gBAAA;AFquBhB;AEpxBA;EAmDgB,qBAAA;EACA,wBAAA;AFouBhB;AE9tBA;EACI,eAAA;EACA,YAAA;EACA,8BAAA;EACA,gBAAA;EACA,gBAAA;EACA,YAAA;EACA,eAAA;EACA,gBAAA;EACA,aAAA;EACA,UAAA;EACA,kBAAA;EACA,6CAAA;EACA,cAAA;AFguBJ;AE7uBA;EAeQ,aAAA;EACA,kBAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,gBAAA;AFiuBR;AErvBA;EAwBQ,kBAAA;EACA,QAAA;EACA,WAAA;EACA,qBAAA;EACA,cAAA;EACA,eAAA;EFguBN,oBAAoB;AACtB;AE9vBA;EAkCQ,gBAAA;EACA,sBAAA;EF+tBN,mBAAmB;EE7tBb,gBAAA;AF+tBR;AEpwBA;EAyCQ,iBAAA;AF8tBR;AE1tBA;EACI,YAAA;EACA,iBAAA;AF4tBJ;AEztBA;EACI,UAAA;EACA,mBAAA;AF2tBJ;AExtBA;EACI,cAAA;EACA,WAAA;EACA,eAAA;EACA,iBAAA;AF0tBJ;AEvtBA;EACI,YAAA;EACA,yBAAA;EACA,SAAA;EACA,aAAA;AFytBJ;AEttBA;EACI,eAAA;EACA,iBAAA;EACA,wBAAA;EACA,UAAA;EACA,eAAA;EACA,uBAAA;EACA,SAAA;EACA,YAAA;AFwtBJ;AErtBA;EACI,iBAAA;AFutBJ;AEptBA;EACI,eAAA;EACA,iBAAA;AFstBJ;AEntBA;EACI,gBAAA;AFqtBJ;AEltBA;EACI,cAAA;AFotBJ;AEjtBA;EACI,UAAA;AFmtBJ;AEhtBA;EAEQ,aAAA;AFitBR;AE7sBA;EACI,WAAA;EACA,YAAA;AF+sBJ;AE5sBA;EACI,gBAAA;AF8sBJ;AE3sBA;EAEQ,cAAA;EACA,uBAAA;AF4sBR;AE/sBA;EAMQ,gBAAA;AF4sBR;AEltBA;;EAUQ,iBAAA;AF4sBR;AExsBA;EACI,cAAA;AF0sBJ;AEtsBI;;EAEI,6CAAA;AFwsBR;AEpsBA;EACI,gBAAA;AFssBJ;AEnsBA;EACI,aAAA;AFqsBJ;AE3rBI;EACI,mBAAA;EACA,WAAA;EACA,yBAAA;AF6rBR;AE3rBQ;EACI,mBAAA;EACA,qBAAA;EACA,WAAA;AF6rBZ;AE1rBQ;EAhBA,0BAAA;EACA,mBAAA;EACA,iBAAA;AF6sBR;AE3rBQ;EACI,8BAAA;EACA,sBAAA;EACA,qBAAA;AF6rBZ;AExrBQ;EACI,mBAAA;EACA,qBAAA;AF0rBZ;AEvrBQ;EACI,mBAAA;EACA,WAAA;EAnCJ,0BAAA;EACA,mBAAA;EACA,iBAAA;AF6tBR;AEtrBQ;EACI,mBAAA;EACA,cAAA;EA3CJ,0BAAA;EACA,mBAAA;EACA,iBAAA;AFouBR;AErrBQ;EACI,mBAAA;EACA,cAAA;EAnDJ,0BAAA;EACA,mBAAA;EACA,iBAAA;AF2uBR;AEprBQ;EACI,mBAAA;EACA,cAAA;EA3DJ,0BAAA;EACA,mBAAA;EACA,iBAAA;AFkvBR;AEnrBQ;EAjEA,sCAAA;EACA,mBAAA;EACA,iBAAA;AFuvBR;AElrBA;EACI,cAAA;EACA,WAAA;AForBJ;AEjrBA;EACI,gBAAA;EACA,kBAAA;EACA,kBAAA;EACA,wCAAA;EACA,qCAAA;EACA,mCAAA;EACA,gCAAA;AFmrBJ;AEhrBA;EACI,mBAAA;EACA,cAAA;EACA,kBAAA;EACA,gBAAA;EACA,gBAAA;EFkrBF;yBACuB;AACzB;AEzrBA;;EAWQ,cAAA;EACA,iBAAA;EACA,gCAAA;EACA,gBAAA;EACA,UAAA;AFkrBR;AEhrBQ;;EACI,cAAA;AFmrBZ;AErsBA;EAuBQ,cAAA;EACA,iBAAA;EACA,YAAA;EACA,gBAAA;AFirBR;AE/qBQ;EACI,UAAA;AFirBZ;AE9sBA;;EAmCQ,WAAA;EACA,aAAA;AF+qBR;AE3qBA;EAEQ,6BAAA;EACA,aAAA;AF4qBR;AE/qBA;EAOQ,0BAAA;AF2qBR;AEvqBA;EACI,sBAAA;EFyqBF;;MAEI;AACN;AE1qBQ;EACI,kBAAA;AF4qBZ;AEhrBA;EASQ,cAAA;EACA,gBAAA;EACA,mBAAA;EACA,kBAAA;AF0qBR;AEtrBA;;;;EAmBQ,cAAA;EACA,kBAAA;AFyqBR;AACA;;;;;EAKE;AEjqBF;EACI,iBAAA;EACA,cAAA;EACA,cAAA;EACA,aAAA;AFmqBJ;AEhqBA;EACI,kBAAA;EACA,YAAA;EACA,WAAA;EFkqBF,qBAAqB;AACvB;AE/pBA;EFiqBE,kDAAkD;EE/pBhD,gBAAA;EACA,sBAAA;AFiqBJ;AE9pBA;EACI,kBAAA;EACA,mBAAA;AFgqBJ;AElqBA;EAKQ,kBAAA;AFgqBR;AE7pBA;EAEQ,UAAA;AF8pBR;AACA;;0BAE0B;AEzpB1B;EACI,aAAA;EACA,OAAA;EACA,8BAAA;AF2pBJ;AExpBA;EAEQ,cAAA;EACA,WAAA;EACA,kBAAA;AFypBR;AErpBA;EACI,cAAA;EACA,cAAA;EACA,2BAAA;EACA,mBAAA;EACA,0BAAA;AFupBJ;AE5pBA;;EASQ,mBAAA;AFupBR;AEhqBA;EAaQ,4BAAA;AFspBR;AEnqBA;EAiBgB,2BAAA;AFqpBhB;AEtqBA;EAuBQ,gBAAA;AFkpBR;AEzqBA;EA2BQ,cAAA;EACA,YAAA;EACA,gBAAA;AFipBR;AE9qBA;EAiCQ,gBAAA;EACA,UAAA;AFgpBR;AElrBA;EAqCY,kBAAA;EACA,cAAA;EACA,WAAA;EACA,eAAA;EACA,6BAAA;AFgpBZ;AEzrBA;EA4CgB,YAAA;EACA,cAAA;AFgpBhB;AE1oBA;EACI,gBAAA;EACA,mBAAA;AF4oBJ;AEzoBA;EACI,eAAA;EACA,cAAA;EACA,WAAA;EACA,eAAA;AF2oBJ;AExoBA;EACI,cAAA;EACA,WAAA;EACA,gBAAA;EACA,oBAAA;EACA,cAAA;EACA,eAAA;EACA,oBAAA;EACA,WAAA;AF0oBJ;AEzoBI;EACI,mBAAA;AF2oBR;AEzoBI;EACI,mBAAA;AF2oBR;AEzoBI;EACI,mBAAA;AF2oBR;AEzoBI;EACI,mBAAA;AF2oBR;AEvoBA;EACI,gBAAA;EACA,qBAAA;EACA,qBAAA;EACA,cAAA;EACA,gBAAA;EACA,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,wBAAA;EACA,sBAAA;EACA,qIAAA;AFyoBJ;AEloBA;EACI,WAAA;EACA,yBAAA;AFooBJ;AEjoBA;EACI,yBAAA;AFmoBJ;AEhoBA;EACI,eAAA;AFkoBJ;AE/nBA;EACI,YAAA;EACA,oCAAA;AFioBJ;AE9nBA;;;EAGI,gCAAA;EACA,sBAAA;EACA,gBAAA;EACA,yBAAA;EACA,uCAAA;AFgoBJ;AACA;;;;;;;;;;;;;;;;EAgBE;AE5nBF;EACI,mBAAA;AF8nBJ;AE3nBA;;EAEI,cAAA;EACA,eAAA;EACA,6BAAA;AF6nBJ;AE1nBA;EACI,iBAAA;EACA,cAAA;AF4nBJ;AEznBA;EACI,kBAAA;AF2nBJ;AExnBA;EACI,mBAAA;AF0nBJ;AEvnBA;;EAGQ,YAAA;EACA,iBAAA;AFwnBR;AEjnBA;;;EAGI,WAAA;EACA,uBAAA;AFmnBJ;AEhnBA;EACI,yBAAA;EACA,SAAA;EACA,UAAA;EACA,QAAA;AFknBJ;AE/mBA;EACI,WAAA;EFinBF,6BAA6B;AAC/B;AE9mBA;;;EAGI,yBAAA;AFgnBJ;AE7mBA;EACI,cAAA;EACA,eAAA;AF+mBJ;AACA,+NAA+N;AAC/N;;0BAE0B;AE1mB1B;EACI,YAAA;EACA,gBAAA;EACA,iBAAA;EACA,WAAA;AF4mBJ;AEzmBA;;;EAGI,qBAAA;EACA,YAAA;AF2mBJ;AExmBA;EACI,mBAAA;EACA,+BAAA;EACA,WAAA;AF0mBJ;AE7mBA;EAMQ,kBAAA;EACA,qBAAA;EACA,kBAAA;EACA,6BAAA;EACA,WAAA;EACA,WAAA;EACA,gBAAA;EACA,UAAA;EACA,eAAA;AF0mBR;AExnBA;EAiBY,aAAA;EACA,qBAAA;EACA,cAAA;AF0mBZ;AE7nBA;EAsBgB,gBAAA;EACA,WAAA;EACA,sBAAA;EACA,eAAA;AF0mBhB;AEnoBA;EA8BY,cAAA;AFwmBZ;AEtoBA;EAkCY,eAAA;AFumBZ;AEzoBA;EAsCY,gBAAA;EACA,cAAA;AFsmBZ;AE7oBA;EA4CQ,iBAAA;EACA,gBAAA;EACA,YAAA;AFomBR;AEhmBA;EACI,YAAA;EACA,gBAAA;AFkmBJ;AE/lBA;EACI,YAAA;EACA,iBAAA;AFimBJ;AE9lBA;EACI,aAAA;AFgmBJ;AE7lBA;EAEI,8BAAA;EACA,aAAA;EACA,WAAA;EACA,YAAA;AF8lBJ;AE3lBA;EACI,aAAA;EACA,iBAAA;EACA,eAAA;AF6lBJ;AE1lBA;EACI,gBAAA;EACA,mBAAA;AF4lBJ;AEzlBA;EACI,cAAA;AF2lBJ;AExlBA;EACI,eAAA;AF0lBJ;AEvlBA;EACI;IACI,iBAAA;IACA,sBAAA;IACA,4BAAA;EFylBN;EEtlBE;IACI,aAAA;IACA,cAAA;EFwlBN;EErlBE;IAEQ,aAAA;EFslBV;EEllBE;IACI,gBAAA;EFolBN;EEjlBE;IACI,gBAAA;IACA,gBAAA;EFmlBN;EEhlBE;IFklBA,qBAAqB;IEhlBjB,gBAAA;EFklBN;EEhlBE;IACI,gBAAA;IACA,kBAAA;IACA,YAAA;IFklBJ,oBAAoB;IEhlBhB,eAAA;IACA,cAAA;EFklBN;EExlBE;IASQ,cAAA;IACA,UAAA;EFklBV;EE5lBE;IAaY,cAAA;IACA,cAAA;IACA,eAAA;EFklBd;EEjmBE;;IFomBA,8BAA8B;IEhlBd,WAAA;IAEA,iBAAA;IACA,sBAAA;IACA,YAAA;IACA,cAAA;IACA,kBAAA;IFilBhB,eAAe;IE/kBC,iBAAA;IACA,oBAAA;EFilBlB;EE9mBE;;IAkCgB,2BAAA;IACA,0BAAA;IACA,cAAA;EFglBlB;EEpnBE;IAyCY,mBAAA;EF8kBd;EEzkBE;IACI,YAAA;IACA,iBAAA;IACA,kBAAA;EF2kBN;EExkBE;IACI,eAAA;EF0kBN;EEvkBE;IACI,gCAAA;EFykBN;EEtkBE;IACI,kCAAA;IACA,sBAAA;IACA,iBAAA;EFwkBN;EACA;;;;MAII;EEpkBF;IACI,WAAA;EFskBN;EEnkBE;IACI,gCAAA;IACA,wBAAA;IACA,2BAAA;IACA,0BAAA;EFqkBN;EElkBE;IACI,iBAAA;EFokBN;EErkBE;;;IAMQ,YAAA;IACA,cAAA;IACA,YAAA;IACA,eAAA;EFokBV;EE7kBE;;;IAYY,cAAA;IACA,eAAA;EFskBd;EEnlBE;IAmBY,YAAA;EFmkBd;EEtlBE;IAuBY,gBAAA;EFkkBd;EEzlBE;IA0BgB,YAAA;EFkkBlB;EE5lBE;;;IAkCQ,mBAAA;IACA,YAAA;IACA,gBAAA;IACA,uCAAA;IF+jBR;;;cAGU;EACZ;EE3jBE;;IACI,iBAAA;IACA,aAAA;EF8jBN;EEhkBE;IAKQ,gBAAA;IACA,SAAA;IACA,WAAA;EF8jBV;EErkBE;IASY,YAAA;EF+jBd;EExkBE;IAcQ,gBAAA;IACA,gBAAA;IACA,WAAA;EF6jBV;EErjBE;IACI,aAAA;EFujBN;EEpjBE;IACI,sBAAA;EFsjBN;EEnjBE;IACI,cAAA;IACA,mBAAA;EFqjBN;EEljBE;IACI,cAAA;EFojBN;EEjjBE;IAEQ,gBAAA;EFkjBV;EE9iBE;IACI,YAAA;IACA,kBAAA;EFgjBN;EE7iBE;IACI,eAAA;IACA,wBAAA;IACA,cAAA;IACA,+BAAA;IF+iBJ;;;;;wBAKoB;EACtB;EEzjBE;IAYQ,aAAA;IACA,kBAAA;IACA,YAAA;IACA,WAAA;EFgjBV;EE/jBE;IAmBQ,kBAAA;IACA,QAAA;IACA,WAAA;IACA,qBAAA;IACA,cAAA;IACA,eAAA;EF+iBV;EEvkBE;IA4BQ,gBAAA;IACA,sBAAA;IACA,eAAA;EF8iBV;EE5kBE;IAkCQ,iBAAA;EF6iBV;AACF;AEziBA;EACI;;;;IAII,eAAA;EF2iBN;EEziBE;IACI,YAAA;EF2iBN;EE5iBE;IAGQ,oBAAA;EF4iBV;EEziBE;IACI,UAAA;EF2iBN;EExiBE;IACI,aAAA;EF0iBN;EEviBE;IACI,SAAA;EFyiBN;EEviBE;IACI,YAAA;EFyiBN;EEtiBE;IACI,eAAA;EFwiBN;EEtiBE;IACI,WAAA;EFwiBN;EEriBE;IACI,aAAA;EFuiBN;EEpiBE;IACI,kBAAA;EFsiBN;EEniBE;IACI,wCAAA;EFqiBN;AACF;AEliBA;EACI;IFoiBA,yEAAyE;IEliBrE,eAAA;IACA,uBAAA;EFoiBN;AACF;AACA,4CAA4C;AEjiB5C;EACI;IACI,eAAA;EFmiBN;EEjiBE;IACI,mBAAA;IACA,8BAAA;EFmiBN;EEriBE;IAKQ,OAAA;EFmiBV;EExiBE;IASQ,eAAA;IACA,gBAAA;IACA,4BAAA;IACA,cAAA;EFkiBV;EE/hBE;IACI,8BAAA;EFiiBN;AACF;AE9hBA;EACI;IACI,+BAAA;EFgiBN;AACF;AE7hBA;EACI;;;IAGI,wBAAA;EF+hBN;AACF\",\"sourcesContent\":[\"/*! CSS Used fontfaces */\\n@font-face {\\n  font-family: \\\"accessgov\\\";\\n  src: url(\\\"../icons/fonts/accessgov.woff?v=7\\\") format(\\\"woff\\\"), url(\\\"../icons/fonts/accessgov.ttf?v=7\\\") format(\\\"truetype\\\"), url(\\\"../icons/fonts/accessgov.svg?v=7#accessgov\\\") format(\\\"svg\\\");\\n  font-weight: normal;\\n  font-style: normal;\\n}\\n/*! CSS Used from: ../bootstrap/bootstrap.css?v=-2013962739 */\\n:root {\\n  --blue: #007bff;\\n  --indigo: #6610f2;\\n  --purple: #6f42c1;\\n  --pink: #e83e8c;\\n  --red: #dc3545;\\n  --orange: #fd7e14;\\n  --yellow: #ffc107;\\n  --green: #28a745;\\n  --teal: #20c997;\\n  --cyan: #17a2b8;\\n  --white: #fff;\\n  --gray: #6c757d;\\n  --gray-dark: #343a40;\\n  --primary: #007bff;\\n  --secondary: #6c757d;\\n  --success: #28a745;\\n  --info: #17a2b8;\\n  --warning: #ffc107;\\n  --danger: #dc3545;\\n  --light: #f8f9fa;\\n  --dark: #343a40;\\n  --breakpoint-xs: 0;\\n  --breakpoint-sm: 576px;\\n  --breakpoint-md: 768px;\\n  --breakpoint-lg: 992px;\\n  --breakpoint-xl: 1200px;\\n  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace;\\n}\\n*,\\n*::before,\\n*::after {\\n  box-sizing: border-box;\\n}\\nhtml {\\n  font-family: sans-serif;\\n  line-height: 1.15;\\n  -webkit-text-size-adjust: 100%;\\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\nnav {\\n  display: block;\\n}\\nbody {\\n  margin: 0;\\n  font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n  font-size: 1rem;\\n  font-weight: 400;\\n  line-height: 1.5;\\n  color: #212529;\\n  text-align: left;\\n  background-color: #fff;\\n}\\nhr {\\n  box-sizing: content-box;\\n  height: 0;\\n  overflow: visible;\\n}\\nh2,\\nh3 {\\n  margin-top: 0;\\n  margin-bottom: 0.5rem;\\n}\\np {\\n  margin-top: 0;\\n  margin-bottom: 1rem;\\n}\\nul {\\n  margin-top: 0;\\n  margin-bottom: 1rem;\\n}\\nul ul {\\n  margin-bottom: 0;\\n}\\nsmall {\\n  font-size: 80%;\\n}\\na {\\n  color: #466db2;\\n  text-decoration: none;\\n  background-color: transparent;\\n}\\na:hover {\\n  color: #0056b3;\\n  text-decoration: underline;\\n}\\na:not([href]):not([tabindex]) {\\n  color: inherit;\\n  text-decoration: none;\\n}\\na:not([href]):not([tabindex]):hover,\\na:not([href]):not([tabindex]):focus {\\n  color: inherit;\\n  text-decoration: none;\\n}\\na:not([href]):not([tabindex]):focus {\\n  outline: 0;\\n}\\nimg {\\n  vertical-align: middle;\\n  border-style: none;\\n}\\ntable {\\n  border-collapse: collapse;\\n}\\nlabel {\\n  display: inline-block;\\n  margin-bottom: 0.5rem;\\n}\\nbutton {\\n  border-radius: 0;\\n}\\nbutton:focus {\\n  outline: 1px dotted;\\n  outline: 5px auto -webkit-focus-ring-color;\\n}\\ninput,\\nbutton {\\n  margin: 0;\\n  font-family: inherit;\\n  font-size: inherit;\\n  line-height: inherit;\\n}\\nbutton,\\ninput {\\n  overflow: visible;\\n}\\nbutton {\\n  text-transform: none;\\n}\\nbutton,\\n[type=\\\"button\\\"] {\\n  -webkit-appearance: button;\\n}\\nbutton::-moz-focus-inner,\\n[type=\\\"button\\\"]::-moz-focus-inner {\\n  padding: 0;\\n  border-style: none;\\n}\\ninput[type=\\\"radio\\\"] {\\n  box-sizing: border-box;\\n  padding: 0;\\n}\\nfieldset {\\n  min-width: 0;\\n  padding: 0;\\n  margin: 0;\\n  border: 0;\\n}\\nlegend {\\n  display: block;\\n  width: 100%;\\n  max-width: 100%;\\n  padding: 0;\\n  margin-bottom: 0.5rem;\\n  font-size: 1.5rem;\\n  line-height: inherit;\\n  color: inherit;\\n  white-space: normal;\\n}\\n[type=\\\"search\\\"] {\\n  outline-offset: -2px;\\n  -webkit-appearance: none;\\n}\\nh2,\\nh3 {\\n  margin-bottom: 0.5rem;\\n  font-weight: 500;\\n  line-height: 1.2;\\n}\\nh2 {\\n  font-size: 2rem;\\n}\\nh3 {\\n  font-size: 1.75rem;\\n}\\nhr {\\n  margin-top: 1rem;\\n  margin-bottom: 1rem;\\n  border: 0;\\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\\n}\\nsmall {\\n  font-size: 80%;\\n  font-weight: 400;\\n}\\n.container {\\n  width: 100%;\\n  padding-right: 15px;\\n  padding-left: 15px;\\n  margin-right: auto;\\n  margin-left: auto;\\n}\\n@media (min-width: 576px) {\\n  .container {\\n    max-width: 540px;\\n  }\\n}\\n@media (min-width: 768px) {\\n  .container {\\n    max-width: 720px;\\n  }\\n}\\n@media (min-width: 992px) {\\n  .container {\\n    max-width: 960px;\\n  }\\n}\\n@media (min-width: 1200px) {\\n  .container {\\n    max-width: 1140px;\\n  }\\n}\\n.container-fluid {\\n  width: 100%;\\n  padding-right: 15px;\\n  padding-left: 15px;\\n  margin-right: auto;\\n  margin-left: auto;\\n}\\n.form-control {\\n  display: block;\\n  width: 100%;\\n  height: calc(1.5em + 0.75rem + 2px);\\n  padding: 0.375rem 0.75rem;\\n  font-size: 1rem;\\n  font-weight: 400;\\n  line-height: 1.5;\\n  color: #495057;\\n  background-color: #fff;\\n  background-clip: padding-box;\\n  border: 1px solid #ced4da;\\n  border-radius: 0.25rem;\\n  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n  .form-control {\\n    transition: none;\\n  }\\n}\\n.form-control::-ms-expand {\\n  background-color: transparent;\\n  border: 0;\\n}\\n.form-control:focus {\\n  color: #495057;\\n  background-color: #fff;\\n  border-color: #80bdff;\\n  outline: 0;\\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n.form-control::-webkit-input-placeholder {\\n  color: #6c757d;\\n  opacity: 1;\\n}\\n.form-control::-moz-placeholder {\\n  color: #6c757d;\\n  opacity: 1;\\n}\\n.form-control:-ms-input-placeholder {\\n  color: #6c757d;\\n  opacity: 1;\\n}\\n.form-control::-ms-input-placeholder {\\n  color: #6c757d;\\n  opacity: 1;\\n}\\n.form-control::placeholder {\\n  color: #6c757d;\\n  opacity: 1;\\n}\\n.form-control:disabled {\\n  background-color: #e9ecef;\\n  opacity: 1;\\n}\\n.form-group {\\n  margin-bottom: 1rem;\\n}\\n.form-check {\\n  position: relative;\\n  display: block;\\n  padding-left: 1.25rem;\\n}\\n.form-check-input {\\n  position: absolute;\\n  margin-top: 0.3rem;\\n  margin-left: -1.25rem;\\n}\\n.form-check-label {\\n  margin-bottom: 0;\\n}\\n.btn {\\n  display: inline-block;\\n  font-weight: 400;\\n  color: #212529;\\n  text-align: center;\\n  vertical-align: middle;\\n  -webkit-user-select: none;\\n  -moz-user-select: none;\\n  -ms-user-select: none;\\n  user-select: none;\\n  background-color: transparent;\\n  border: 1px solid transparent;\\n  padding: 0.375rem 0.75rem;\\n  font-size: 1rem;\\n  line-height: 1.5;\\n  border-radius: 0.25rem;\\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n  .btn {\\n    transition: none;\\n  }\\n}\\n.btn:hover {\\n  color: #212529;\\n  text-decoration: none;\\n}\\n.btn:focus {\\n  outline: 0;\\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n.btn:disabled {\\n  opacity: 0.65;\\n}\\n.btn-link {\\n  font-weight: 400;\\n  color: #466db2;\\n  text-decoration: none;\\n}\\n.btn-link:hover {\\n  color: #0056b3;\\n  text-decoration: underline;\\n}\\n.btn-link:focus {\\n  text-decoration: underline;\\n  box-shadow: none;\\n}\\n.btn-link:disabled {\\n  color: #6c757d;\\n  pointer-events: none;\\n}\\n.fade {\\n  transition: opacity 0.15s linear;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n  .fade {\\n    transition: none;\\n  }\\n}\\n.fade:not(.show) {\\n  opacity: 0;\\n}\\n.collapse:not(.show) {\\n  display: none;\\n}\\n.dropdown {\\n  position: relative;\\n}\\n.dropdown-toggle {\\n  white-space: nowrap;\\n}\\n.dropdown-toggle::after {\\n  display: inline-block;\\n  margin-left: 0.255em;\\n  vertical-align: 0.255em;\\n  content: \\\"\\\";\\n  border-top: 0.3em solid;\\n  border-right: 0.3em solid transparent;\\n  border-bottom: 0;\\n  border-left: 0.3em solid transparent;\\n}\\n.dropdown-toggle:empty::after {\\n  margin-left: 0;\\n}\\n.dropdown-menu {\\n  position: absolute;\\n  top: 100%;\\n  left: 0;\\n  z-index: 1000;\\n  display: none;\\n  float: left;\\n  min-width: 10rem;\\n  padding: 0.5rem 0;\\n  margin: 0.125rem 0 0;\\n  font-size: 1rem;\\n  color: #212529;\\n  text-align: left;\\n  list-style: none;\\n  background-color: #fff;\\n  background-clip: padding-box;\\n  border: 1px solid rgba(0, 0, 0, 0.15);\\n  border-radius: 0.25rem;\\n}\\n.nav {\\n  display: -ms-flexbox;\\n  display: flex;\\n  -ms-flex-wrap: wrap;\\n  flex-wrap: wrap;\\n  padding-left: 0;\\n  margin-bottom: 0;\\n  list-style: none;\\n}\\n.nav-link {\\n  display: block;\\n  padding: 0.5rem 1rem;\\n}\\n.nav-link:hover,\\n.nav-link:focus {\\n  text-decoration: none;\\n}\\n.nav-tabs {\\n  border-bottom: 1px solid #dee2e6;\\n}\\n.nav-tabs .nav-item {\\n  margin-bottom: -1px;\\n}\\n.nav-tabs .nav-link {\\n  border: 1px solid transparent;\\n  border-top-left-radius: 0.25rem;\\n  border-top-right-radius: 0.25rem;\\n}\\n.nav-tabs .nav-link:hover,\\n.nav-tabs .nav-link:focus {\\n  border-color: #e9ecef #e9ecef #dee2e6;\\n}\\n.nav-tabs .nav-link.active {\\n  color: #495057;\\n  background-color: #fff;\\n  border-color: #dee2e6 #dee2e6 #fff;\\n}\\n.tab-content > .tab-pane {\\n  display: none;\\n}\\n.tab-content > .active {\\n  display: block;\\n}\\n.navbar {\\n  position: relative;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -ms-flex-wrap: wrap;\\n  flex-wrap: wrap;\\n  -ms-flex-align: center;\\n  align-items: center;\\n  -ms-flex-pack: justify;\\n  justify-content: space-between;\\n  padding: 0.5rem 1rem;\\n}\\n.navbar > .container-fluid {\\n  display: -ms-flexbox;\\n  display: flex;\\n  -ms-flex-wrap: wrap;\\n  flex-wrap: wrap;\\n  -ms-flex-align: center;\\n  align-items: center;\\n  -ms-flex-pack: justify;\\n  justify-content: space-between;\\n}\\n.navbar-brand {\\n  display: inline-block;\\n  padding-top: 0.3125rem;\\n  padding-bottom: 0.3125rem;\\n  margin-right: 1rem;\\n  font-size: 1.25rem;\\n  line-height: inherit;\\n  white-space: nowrap;\\n}\\n.navbar-brand:hover,\\n.navbar-brand:focus {\\n  text-decoration: none;\\n}\\n.navbar-nav {\\n  display: -ms-flexbox;\\n  display: flex;\\n  -ms-flex-direction: column;\\n  flex-direction: column;\\n  padding-left: 0;\\n  margin-bottom: 0;\\n  list-style: none;\\n}\\n.navbar-nav .nav-link {\\n  padding-right: 0;\\n  padding-left: 0;\\n}\\n.navbar-nav .dropdown-menu {\\n  position: static;\\n  float: none;\\n}\\n.navbar-collapse {\\n  -ms-flex-preferred-size: 100%;\\n  flex-basis: 100%;\\n  -ms-flex-positive: 1;\\n  flex-grow: 1;\\n  -ms-flex-align: center;\\n  align-items: center;\\n}\\n.navbar-toggler {\\n  padding: 0.25rem 0.75rem;\\n  font-size: 1.25rem;\\n  line-height: 1;\\n  background-color: transparent;\\n  border: 1px solid transparent;\\n  border-radius: 0.25rem;\\n}\\n.navbar-toggler:hover,\\n.navbar-toggler:focus {\\n  text-decoration: none;\\n}\\n@media (max-width: 767.98px) {\\n  .navbar-expand-md > .container-fluid {\\n    padding-right: 0;\\n    padding-left: 0;\\n  }\\n}\\n@media (min-width: 768px) {\\n  .navbar-expand-md {\\n    -ms-flex-flow: row nowrap;\\n    flex-flow: row nowrap;\\n    -ms-flex-pack: start;\\n    justify-content: flex-start;\\n  }\\n  .navbar-expand-md .navbar-nav {\\n    -ms-flex-direction: row;\\n    flex-direction: row;\\n  }\\n  .navbar-expand-md .navbar-nav .dropdown-menu {\\n    position: absolute;\\n  }\\n  .navbar-expand-md .navbar-nav .nav-link {\\n    padding-right: 0.5rem;\\n    padding-left: 0.5rem;\\n  }\\n  .navbar-expand-md > .container-fluid {\\n    -ms-flex-wrap: nowrap;\\n    flex-wrap: nowrap;\\n  }\\n  .navbar-expand-md .navbar-collapse {\\n    display: -ms-flexbox !important;\\n    display: flex !important;\\n    -ms-flex-preferred-size: auto;\\n    flex-basis: auto;\\n  }\\n  .navbar-expand-md .navbar-toggler {\\n    display: none;\\n  }\\n}\\n.navbar-dark .navbar-brand {\\n  color: #fff;\\n}\\n.navbar-dark .navbar-brand:hover,\\n.navbar-dark .navbar-brand:focus {\\n  color: #fff;\\n}\\n.navbar-dark .navbar-nav .nav-link {\\n  color: rgba(255, 255, 255, 0.5);\\n}\\n.navbar-dark .navbar-nav .nav-link:hover,\\n.navbar-dark .navbar-nav .nav-link:focus {\\n  color: rgba(255, 255, 255, 0.75);\\n}\\n.navbar-dark .navbar-toggler {\\n  color: rgba(255, 255, 255, 0.5);\\n  border-color: rgba(255, 255, 255, 0.1);\\n}\\n.close {\\n  float: right;\\n  font-size: 1.5rem;\\n  font-weight: 700;\\n  line-height: 1;\\n  color: #000;\\n  text-shadow: 0 1px 0 #fff;\\n  opacity: 0.5;\\n}\\n.close:hover {\\n  color: #000;\\n  text-decoration: none;\\n}\\nbutton.close {\\n  padding: 0;\\n  background-color: transparent;\\n  border: 0;\\n  -webkit-appearance: none;\\n  -moz-appearance: none;\\n  appearance: none;\\n}\\n.popover {\\n  position: absolute;\\n  top: 0;\\n  left: 0;\\n  z-index: 1060;\\n  display: block;\\n  max-width: 276px;\\n  font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n  font-style: normal;\\n  font-weight: 400;\\n  line-height: 1.5;\\n  text-align: left;\\n  text-align: start;\\n  text-decoration: none;\\n  text-shadow: none;\\n  text-transform: none;\\n  letter-spacing: normal;\\n  word-break: normal;\\n  word-spacing: normal;\\n  white-space: normal;\\n  line-break: auto;\\n  font-size: 0.875rem;\\n  word-wrap: break-word;\\n  background-color: #fff;\\n  background-clip: padding-box;\\n  border: 1px solid rgba(0, 0, 0, 0.2);\\n  border-radius: 0.3rem;\\n}\\n.popover .arrow {\\n  position: absolute;\\n  display: block;\\n  width: 1rem;\\n  height: 0.5rem;\\n  margin: 0 0.3rem;\\n}\\n.popover .arrow::before,\\n.popover .arrow::after {\\n  position: absolute;\\n  display: block;\\n  content: \\\"\\\";\\n  border-color: transparent;\\n  border-style: solid;\\n}\\n.bs-popover-top {\\n  margin-bottom: 0.5rem;\\n}\\n.bs-popover-top > .arrow {\\n  bottom: calc((0.5rem + 1px) * -1);\\n}\\n.bs-popover-top > .arrow::before {\\n  bottom: 0;\\n  border-width: 0.5rem 0.5rem 0;\\n  border-top-color: rgba(0, 0, 0, 0.25);\\n}\\n.bs-popover-top > .arrow::after {\\n  bottom: 1px;\\n  border-width: 0.5rem 0.5rem 0;\\n  border-top-color: #fff;\\n}\\n.popover-header {\\n  padding: 0.5rem 0.75rem;\\n  margin-bottom: 0;\\n  font-size: 1rem;\\n  background-color: #f7f7f7;\\n  border-bottom: 1px solid #ebebeb;\\n  border-top-left-radius: calc(0.3rem - 1px);\\n  border-top-right-radius: calc(0.3rem - 1px);\\n}\\n.popover-header:empty {\\n  display: none;\\n}\\n.popover-body {\\n  padding: 0.5rem 0.75rem;\\n  color: #212529;\\n}\\n.d-none {\\n  display: none !important;\\n}\\n.d-block {\\n  display: block !important;\\n}\\n@media (min-width: 768px) {\\n  .d-md-none {\\n    display: none !important;\\n  }\\n  .d-md-block {\\n    display: block !important;\\n  }\\n}\\n.fixed-top {\\n  position: fixed;\\n  top: 0;\\n  right: 0;\\n  left: 0;\\n  z-index: 1030;\\n}\\n.sr-only {\\n  position: absolute;\\n  width: 1px;\\n  height: 1px;\\n  padding: 0;\\n  overflow: hidden;\\n  clip: rect(0, 0, 0, 0);\\n  white-space: nowrap;\\n  border: 0;\\n}\\n.text-left {\\n  text-align: left !important;\\n}\\n.text-center {\\n  text-align: center !important;\\n}\\n@media print {\\n  *,\\n  *::before,\\n  *::after {\\n    text-shadow: none !important;\\n    box-shadow: none !important;\\n  }\\n  a:not(.btn) {\\n    text-decoration: underline;\\n  }\\n  tr,\\n  img {\\n    page-break-inside: avoid;\\n  }\\n  p,\\n  h2,\\n  h3 {\\n    orphans: 3;\\n    widows: 3;\\n  }\\n  h2,\\n  h3 {\\n    page-break-after: avoid;\\n  }\\n  body {\\n    min-width: 992px !important;\\n  }\\n  .container {\\n    min-width: 992px !important;\\n  }\\n  .navbar {\\n    display: none;\\n  }\\n}\\n.badge {\\n  display: inline-block;\\n  padding: 0.25em 0.4em;\\n  font-size: 75%;\\n  font-weight: 700;\\n  line-height: 1;\\n  text-align: center;\\n  white-space: nowrap;\\n  vertical-align: baseline;\\n  border-radius: 0.25rem;\\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n.badge-light {\\n  color: #212529;\\n  background-color: #f8f9fa;\\n  border: 1px solid #dee2e6;\\n}\\n/*! CSS Used from: ../DynamicForms/DFStyle_Master.css?v=-2013962739 */\\nhtml {\\n  min-height: 100%;\\n  position: relative;\\n}\\n.form-control {\\n  color: #333333;\\n}\\n.form-control::-webkit-input-placeholder {\\n  color: #999999;\\n  opacity: 1;\\n}\\n.form-control::-moz-placeholder {\\n  color: #999999;\\n  opacity: 1;\\n}\\n.form-control:-ms-input-placeholder {\\n  color: #999999;\\n  opacity: 1;\\n}\\n.form-control::-ms-input-placeholder {\\n  color: #999999;\\n  opacity: 1;\\n}\\n.form-control::placeholder {\\n  color: #999999;\\n  opacity: 1;\\n}\\n.nav.navbar-nav {\\n  margin: 0;\\n}\\nnav {\\n  display: block;\\n}\\n@media (max-width: 767px) {\\n  body {\\n    padding-bottom: 0;\\n  }\\n}\\n/*! CSS Used from: ../icons/style.css?v=7 */\\n.icon:before {\\n  font-family: accessgov !important;\\n  speak: never;\\n  font-style: normal;\\n  font-weight: 400;\\n  font-variant: normal;\\n  text-transform: none;\\n  line-height: 1;\\n  -webkit-font-smoothing: antialiased;\\n  -moz-osx-font-smoothing: grayscale;\\n}\\n.icon-info:before {\\n  content: \\\"\\\\62\\\";\\n}\\n.icon-search:before {\\n  content: \\\"\\\\49\\\";\\n}\\n.icon-close:before {\\n  content: \\\"\\\\74\\\";\\n}\\n.icon-user-solid:before {\\n  content: \\\"\\\\e90d\\\";\\n}\\n@font-face {\\n  font-style: normal;\\n  font-weight: 400;\\n  src: local(\\\"Open Sans Regular\\\"), local(\\\"OpenSans-Regular\\\"), url(https://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\\\"woff2\\\");\\n  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\\n}\\n/* variables for easier Custom Less modification */\\nhtml {\\n  position: relative;\\n  min-height: 100vh;\\n}\\n.skip-to.popup.focus {\\n  z-index: 1030;\\n}\\nbody {\\n  padding-top: 70px;\\n  background: #fff;\\n  background-size: cover;\\n  font-weight: normal;\\n  font-family: \\\"Open Sans\\\", sans-serif;\\n}\\n.body-content {\\n  width: 100%;\\n  position: relative;\\n}\\na {\\n  color: #466db2;\\n}\\na:hover {\\n  cursor: pointer;\\n  color: #304b7b;\\n}\\np {\\n  clear: none;\\n}\\nh1 {\\n  line-height: 1;\\n  color: #333;\\n}\\nh1,\\nh2,\\nh3 {\\n  margin-top: 10px;\\n  font-weight: 500;\\n}\\nh1 {\\n  font-size: 1.9rem;\\n}\\nh2 {\\n  font-size: 1.65rem;\\n}\\nh3 {\\n  font-size: 1.45rem;\\n}\\nh4 {\\n  font-size: 1.3rem;\\n}\\nh5 {\\n  font-size: 1.15rem;\\n}\\nh6 {\\n  font-size: 1rem;\\n}\\n.pull-right {\\n  float: right;\\n}\\n.loading {\\n  margin: 15px auto;\\n  display: block;\\n  margin: 0 auto;\\n  height: 100px;\\n}\\n.text-smaller {\\n  font-size: 0.875rem;\\n}\\n.tile {\\n  background: #ffffff;\\n  border-radius: 8px;\\n  padding: 15px;\\n}\\n[data-bind*=\\\"clickOrEnter\\\"],\\n[data-bind^=\\\"clickOrEnter\\\"] {\\n  cursor: pointer;\\n}\\n.dropdown-menu li,\\n.returning_user li {\\n  list-style-type: none;\\n  list-style-position: initial;\\n}\\n.previous-question {\\n  padding: 5px 10px;\\n  border-top: 1px solid #ddd;\\n  font-size: 13px;\\n  cursor: pointer;\\n}\\n.previous-question strong {\\n  font-size: 15px;\\n}\\n.current-question {\\n  border-top: 1px solid #ddd;\\n}\\n.answer.disabled {\\n  opacity: 0.65;\\n}\\n.previous-question:hover,\\n.previous-question:focus {\\n  background: #f5f5f5;\\n}\\n.dropdown-menu {\\n  border-radius: 0 0 6px 6px;\\n}\\n.dropdown.open .dropdown-menu {\\n  opacity: 1;\\n}\\n.dropdown-toggle.show + .dropdown-menu {\\n  display: block;\\n}\\nlabel {\\n  font-weight: 500;\\n}\\n#jsPageEditor .form-control,\\n#jsPageEditor .vs__dropdown-toggle,\\n#jsPageEditor .form-group .input-group .input-group-text {\\n  font-weight: normal;\\n  border-color: #787878;\\n}\\n#jsPageEditor .vs__dropdown-toggle .vs__open-indicator {\\n  fill: #333333;\\n}\\n#jsPageEditor .form-control:focus,\\n#jsPageEditor .vs--open .vs__dropdown-toggle {\\n  border-width: 2px;\\n  border-color: rgba(0, 0, 0, 0.87);\\n  box-shadow: unset;\\n}\\n#jsPageEditor .form-control:focus ~ .vs__dropdown-menu,\\n#jsPageEditor .vs--open .vs__dropdown-toggle ~ .vs__dropdown-menu {\\n  --vs-border-width: 0;\\n}\\n#jsPageEditor .form-group .btn-group {\\n  border-radius: 0.35rem;\\n}\\n#jsPageEditor .form-group.text-form-group .input-group-append .input-group-text:focus,\\n#jsPageEditor .form-group.text-form-group .input-group-prepend .input-group-text:focus {\\n  z-index: 0;\\n}\\n#jsPageEditor .form-group.has-custom-errors .border-mixin {\\n  border-color: #b00020;\\n  border-width: 1px;\\n  outline: unset;\\n}\\n#jsPageEditor .form-group.has-custom-errors .border-focus-mixin {\\n  border-width: 2px;\\n  box-shadow: unset;\\n}\\n#jsPageEditor .form-group.has-custom-errors .invalid-border-mixin {\\n  border-color: #b00020;\\n  border-width: 1px;\\n  outline: unset;\\n}\\n#jsPageEditor .form-group.has-custom-errors .invalid-border-mixin:focus {\\n  border-width: 2px;\\n  box-shadow: unset;\\n}\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .form-control,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .form-control,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-text,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-text {\\n  border-color: #b00020;\\n  border-width: 1px;\\n  outline: unset;\\n}\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .form-control:focus,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .form-control:focus,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-text:focus,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-text:focus {\\n  border-width: 2px;\\n  box-shadow: unset;\\n}\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-append .input-group-text,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-append .input-group-text,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-prepend .input-group-text,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-prepend .input-group-text {\\n  border-color: #b00020;\\n  border-width: 1px;\\n  outline: unset;\\n}\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-append .input-group-text:focus,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-append .input-group-text:focus,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-prepend .input-group-text:focus,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-prepend .input-group-text:focus {\\n  border-width: 2px;\\n  box-shadow: unset;\\n}\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-append .input-group-text:focus,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-append .input-group-text:focus,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-prepend .input-group-text:focus,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-prepend .input-group-text:focus {\\n  outline: 2px solid #b00020;\\n  box-shadow: unset;\\n  border: unset;\\n  z-index: 0;\\n}\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-append:not(.input-group-prepend) .input-group-text,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-append:not(.input-group-prepend) .input-group-text,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-prepend:not(.input-group-prepend) .input-group-text,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-prepend:not(.input-group-prepend) .input-group-text {\\n  border-left-width: 0;\\n}\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-append:not(.input-group-append) .input-group-text,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-append:not(.input-group-append) .input-group-text,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .input-group-prepend:not(.input-group-append) .input-group-text,\\n#jsPageEditor .form-group.has-custom-errors.text-form-group > div > .datepicker-group > .input-group-prepend:not(.input-group-append) .input-group-text {\\n  border-right-width: 0;\\n}\\n#jsPageEditor .form-group.has-custom-errors.dropdown-form-group > div > div > select.form-control,\\n#jsPageEditor .form-group.has-custom-errors.dropdown-form-group > div > div > .v-select .vs__dropdown-toggle {\\n  border-color: #b00020;\\n  border-width: 1px;\\n  outline: unset;\\n}\\n#jsPageEditor .form-group.has-custom-errors.dropdown-form-group > div > div > .v-select.vs--open .vs__dropdown-toggle {\\n  border-width: 2px;\\n  box-shadow: unset;\\n}\\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-file,\\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-group {\\n  border-color: #b00020;\\n  border-width: 1px;\\n  outline: unset;\\n  border-width: 2px;\\n}\\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-file:focus,\\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-group:focus {\\n  border-width: 2px;\\n  box-shadow: unset;\\n}\\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-group {\\n  border-style: solid;\\n}\\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-group a.btn {\\n  border-width: 0;\\n}\\n#jsPageEditor .form-group.has-custom-errors.file-form-group > div > .btn-group .input-group-append {\\n  border-top-width: 0;\\n  border-right-width: 0;\\n  border-bottom-width: 0;\\n}\\n.form-check-label,\\n.radio-inline,\\n.checkbox label {\\n  font-weight: normal;\\n  margin-bottom: 0;\\n}\\n.page-loading {\\n  position: fixed;\\n  opacity: 1;\\n  transition: all 0.4s ease-in;\\n}\\nhtml.no-js .page-loading {\\n  display: none;\\n}\\n.page-loaded {\\n  opacity: 0;\\n  height: 0;\\n  transition: none;\\n  /*ensure wheel doesn't fade out, rather disappears*/\\n  z-index: -1;\\n}\\n.body-loading {\\n  width: 100px;\\n  height: 100px;\\n  border-radius: 1.5ex;\\n  padding: 0.2ex;\\n  position: fixed;\\n  left: calc(50% - 50px);\\n  top: calc(50% - 50px);\\n}\\n.body-loading .loading {\\n  height: 100%;\\n}\\n.popover-header {\\n  margin: 0;\\n}\\n.popper {\\n  background: #ffffff;\\n  max-width: 300px;\\n  border: 1px solid #cccccc;\\n  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);\\n  padding: 7.5px;\\n}\\n.form-check.answer {\\n  position: static;\\n}\\n.v--modal-overlay {\\n  z-index: 1002;\\n}\\n.modal-content {\\n  border: none;\\n  max-height: 100vh;\\n  overflow-y: auto;\\n}\\n/* ------------------------\\n NAVIGATION\\n-/----------------------- */\\n.skip-navigation-link:focus {\\n  display: block;\\n  top: 0;\\n  width: auto !important;\\n  height: auto !important;\\n  z-index: 998999;\\n  background: white;\\n  clip: unset;\\n}\\n.navbar-dark {\\n  background-color: #2b2b2b;\\n  /*min-height: 60px;*/\\n  padding-top: 5px;\\n  padding-bottom: 5px;\\n}\\n.navbar-dark {\\n  padding-left: 0;\\n  padding-right: 0;\\n}\\n.navbar-dark .navbar-nav .nav-link {\\n  color: rgba(255, 255, 255, 0.9);\\n  cursor: pointer;\\n}\\n.navbar-dark .navbar-nav .nav-link:hover,\\n.navbar-dark .navbar-nav .nav-link:focus {\\n  color: #ffffff;\\n}\\n.navbar-dark a {\\n  white-space: nowrap;\\n}\\n.navbar-dark a:hover,\\n.navbar-dark a:focus {\\n  text-decoration: none;\\n}\\n.icon-bar {\\n  display: block;\\n  background: #ffffff;\\n  height: 1px;\\n  width: 18px;\\n  margin-top: 5px;\\n}\\n.navbar-fixed-top .navbar-collapse,\\n.navbar-fixed-bottom .navbar-collapse {\\n  max-height: none;\\n  border: none;\\n  box-shadow: none;\\n  padding: 0;\\n  width: 100%;\\n}\\n.navbar-dark .navbar-nav > li > a {\\n  color: #fff;\\n  font-size: 15px;\\n  text-decoration: none;\\n  display: inline-block;\\n  letter-spacing: 0.5px;\\n  /*text-transform: uppercase;*/\\n}\\n.navbar-dark .navbar-nav > li {\\n  padding: 13px 7.5px;\\n}\\n.navbar-dark .navbar-nav > li button {\\n  margin-bottom: 0;\\n}\\n.navbar-dark .navbar-nav > li ::-webkit-input-placeholder,\\n.navbar-dark .navbar-nav > li :-moz-placeholder,\\n.navbar-dark .navbar-nav > li ::-moz-placeholder,\\n.navbar-dark .navbar-nav > li :-ms-input-placeholder {\\n  color: #fff !important;\\n  opacity: 1 !important;\\n}\\nfieldset {\\n  border: none;\\n  padding: 0;\\n  margin: 0;\\n}\\nlegend {\\n  font-size: 1.2em;\\n  font-weight: 500;\\n}\\n.navbar-dark .navbar-nav > .vr {\\n  height: 50px;\\n  width: 1px;\\n  margin-top: 5px;\\n  margin-left: 7px;\\n  padding-left: 0;\\n  padding-right: 7px;\\n  border-left: 1px solid #3e3e3e;\\n}\\n.navbar-dark .navbar-nav > li:not(.active) > a:hover,\\n.navbar-dark .navbar-nav > li > a:focus,\\n.navbar-dark .navbar-nav > li:focus,\\n.navbar-dark .navbar-nav > li.open > a:hover,\\n.navbar-dark .navbar-nav > li.open > a:focus,\\n.navbar-dark .navbar-nav > li.open > a:active,\\n.dropdown-menu > li > a:hover,\\n.dropdown-menu > li > a:focus,\\n.dropdown-menu > li > a:active {\\n  color: #fff;\\n  background: #2b2b2b;\\n  border-color: transparent;\\n}\\n.navbar-dark .navbar-nav > .open > a:hover,\\n.navbar-dark .navbar-nav > .open > a:focus {\\n  background: #27221a;\\n}\\n.navbar-dark .navbar-brand {\\n  padding: 0;\\n  /* cspell:ignore ccess */\\n}\\n.navbar-dark .navbar-brand img {\\n  height: 50px;\\n  display: inline;\\n}\\n.navbar-dark .navbar-brand .brand-letters {\\n  display: inline;\\n  margin-left: 4px;\\n}\\n.navbar-dark .navbar-brand .brand-letters img {\\n  height: 25px;\\n}\\n.navbar-dark .navbar-brand .brand-letters-ccess,\\n.navbar-dark .navbar-brand .brand-letters-gov {\\n  font-size: 40px;\\n  letter-spacing: 6pt;\\n  vertical-align: middle;\\n  display: inline-block;\\n  margin-top: -1px;\\n}\\n.navbar-dark .navbar-brand .brand-letters-ccess {\\n  font-weight: bold;\\n  color: #ccc;\\n}\\n.navbar-dark .navbar-brand .brand-letters-gov {\\n  color: #fff;\\n}\\n.navbar-dark .navbar-right {\\n  font-size: 1.1em;\\n  letter-spacing: 0.4pt;\\n  margin: 0;\\n  margin-right: -15px;\\n  margin-left: auto;\\n}\\n.form-control.search-control {\\n  background: transparent url(\\\"../images/search.png\\\") no-repeat center left 7.5px;\\n  background-size: 15px;\\n  padding-left: 30px;\\n}\\n.navbar-dark .form-control.search-control:focus {\\n  border-bottom-color: #fff;\\n}\\n.search-backdrop,\\n.my-forms-backdrop {\\n  /*display: none;*/\\n  position: fixed;\\n  left: 0;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  width: 100%;\\n  height: 100vh;\\n  background: rgba(0, 0, 0, 0.9);\\n  z-index: 10000;\\n}\\n.search-backdrop .close {\\n  position: fixed;\\n  top: 30px;\\n  right: 30px;\\n  color: #fff;\\n  font-size: 2em;\\n  opacity: 1;\\n}\\n.search-backdrop .close img {\\n  height: 20px;\\n}\\n.search-backdrop .search-form-wrapper {\\n  width: 600px;\\n  height: 100px;\\n  max-width: 100%;\\n  position: fixed;\\n  top: 25vh;\\n  left: calc(50% - 300px);\\n}\\n.search-backdrop .search-form-wrapper .form-group label {\\n  font-size: 1.5em;\\n  color: #aaa;\\n  margin-bottom: 0;\\n  -webkit-transition: all 0.25s;\\n  transition: all 0.25s;\\n}\\n.search-backdrop .search-form-wrapper .form-group .form-control {\\n  background: none;\\n  height: 40px;\\n  color: #ddd;\\n  border: none;\\n  padding: 10px;\\n  border-bottom: 1px solid #aaa;\\n  border-radius: 0;\\n  box-shadow: none;\\n}\\n.search-backdrop .search-form-wrapper .form-group .form-control:focus {\\n  border-color: #466db2;\\n  border-bottom-width: 2px;\\n}\\n.nav-search-results {\\n  position: fixed;\\n  height: auto;\\n  max-height: calc(75vh - 125px);\\n  min-height: 75px;\\n  overflow-y: auto;\\n  width: 600px;\\n  max-width: 100%;\\n  background: #fff;\\n  margin-top: 0;\\n  padding: 0;\\n  border-radius: 4px;\\n  box-shadow: 0 2px 6px 1px rgba(0, 0, 0, 0.25);\\n  overflow: auto;\\n}\\n.nav-search-results .nav-search-results-inner {\\n  padding: 15px;\\n  position: relative;\\n  height: auto;\\n  width: 100%;\\n  overflow-x: hidden;\\n  text-align: left;\\n}\\n.nav-search-results .nav-search-results-caption {\\n  position: absolute;\\n  top: 5px;\\n  right: 10px;\\n  display: inline-block;\\n  color: #636363;\\n  font-size: 12px;\\n  /*font-weight: 600;*/\\n}\\n.nav-search-results .result {\\n  padding-top: 5px;\\n  letter-spacing: normal;\\n  /*font-size: 14px;*/\\n  text-align: left;\\n}\\n.nav-search-results .result:first-of-type {\\n  padding-top: 10px;\\n}\\n.close {\\n  opacity: 0.7;\\n  font-size: 1.25em;\\n}\\n.dropdown-menu {\\n  padding: 0;\\n  padding-bottom: 8px;\\n}\\n.dropdown-menu > li > a {\\n  display: block;\\n  color: #fff;\\n  font-size: 13px;\\n  padding: 6px 18px;\\n}\\n.dropdown-menu .divider {\\n  opacity: 0.3;\\n  background-color: #000000;\\n  margin: 0;\\n  display: none;\\n}\\n.pane-size-toggle {\\n  font-size: 32px;\\n  margin-top: -10px;\\n  -webkit-appearance: none;\\n  padding: 0;\\n  cursor: pointer;\\n  background: transparent;\\n  border: 0;\\n  float: right;\\n}\\n.toolbox_pane .pane-size-toggle {\\n  margin-top: -14px;\\n}\\n.toggle-symbol {\\n  font-size: 24px;\\n  margin-top: -10px;\\n}\\n.toggle-smaller {\\n  margin-left: 7px;\\n}\\n.toggle-larger {\\n  margin-left: 0;\\n}\\n.pane-size-toggle.close:hover {\\n  opacity: 1;\\n}\\n.df-public-nav .navbar {\\n  min-height: 0;\\n}\\n.navbar-toggle.public_pages_toggle {\\n  margin: 5px;\\n  padding: 5px;\\n}\\n.navbar-collapse .list-group {\\n  margin-bottom: 0;\\n}\\n.btn .icon {\\n  line-height: 0;\\n  vertical-align: inherit;\\n}\\n.btn .icon-trash {\\n  font-size: 1.1em;\\n}\\n.btn .icon-undo,\\n.btn .icon-redo {\\n  font-size: 1.15em;\\n}\\n.btn-link {\\n  color: #466db2;\\n}\\n.btn-link.icon:active,\\n.btn-link.icon:focus {\\n  box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%);\\n}\\n.btn-group-vertical .btn {\\n  margin-bottom: 0;\\n}\\n.fixed-top {\\n  z-index: 1001;\\n}\\n.btn.btn-primary {\\n  background: #234d7f;\\n  color: #fff;\\n  border-color: transparent;\\n}\\n.btn.btn-primary:hover {\\n  background: #3471bb;\\n  border-color: #3471bb;\\n  color: #fff;\\n}\\n.btn.btn-primary:focus {\\n  outline: 2px solid #3471bb;\\n  outline-offset: 2px;\\n  box-shadow: unset;\\n}\\n.btn.btn-primary:active {\\n  background: #3471bb !important;\\n  color: #fff !important;\\n  border-color: #183557;\\n}\\n.btn.btn-outline-primary:hover {\\n  background: #234d7f;\\n  border-color: #234d7f;\\n}\\n.btn.btn-outline-primary:focus {\\n  background: #234d7f;\\n  color: #fff;\\n  outline: 2px solid #234d7f;\\n  outline-offset: 2px;\\n  box-shadow: unset;\\n}\\n.btn.btn-outline-secondary:focus {\\n  background: #6c757d;\\n  color: #ffffff;\\n  outline: 2px solid #6c757d;\\n  outline-offset: 2px;\\n  box-shadow: unset;\\n}\\n.btn.btn-outline-danger:focus {\\n  background: #dc3545;\\n  color: #ffffff;\\n  outline: 2px solid #dc3545;\\n  outline-offset: 2px;\\n  box-shadow: unset;\\n}\\n.btn.btn-outline-success:focus {\\n  background: #28a745;\\n  color: #ffffff;\\n  outline: 2px solid #28a745;\\n  outline-offset: 2px;\\n  box-shadow: unset;\\n}\\n.btn.btn-bare:focus {\\n  outline: 2px solid rgba(0, 0, 0, 0.87);\\n  outline-offset: 2px;\\n  box-shadow: unset;\\n}\\n.btn-block {\\n  display: block;\\n  width: 100%;\\n}\\n.btn.btn-xs {\\n  padding: 2px 5px;\\n  font-size: 0.75rem;\\n  border-radius: 3px;\\n  -webkit-transition: 0.1s all ease-in-out;\\n  -moz-transition: 0.1s all ease-in-out;\\n  -o-transition: 0.1s all ease-in-out;\\n  transition: 0.1s all ease-in-out;\\n}\\n.notificationBarTop {\\n  background: #ffc107;\\n  color: #121212;\\n  text-align: center;\\n  line-height: 2.5;\\n  overflow: hidden;\\n  /*margin-top: -15px;\\n    margin-bottom: 15px;*/\\n}\\n.notificationBarTop a,\\n.notificationBarTop button {\\n  color: #121212;\\n  font-weight: bold;\\n  border-bottom: 1px solid #121212;\\n  border-radius: 0;\\n  padding: 0;\\n}\\n.notificationBarTop a:hover,\\n.notificationBarTop button:hover {\\n  color: #0a0c0d;\\n}\\n.notificationBarTop .close {\\n  color: #eeeeee;\\n  padding: 7px 10px;\\n  opacity: 0.8;\\n  font-size: 1.3em;\\n}\\n.notificationBarTop .close:hover {\\n  opacity: 1;\\n}\\n.notificationBarTop .close:not(:disabled):not(.disabled):hover,\\n.notificationBarTop .close:not(:disabled):not(.disabled):focus {\\n  color: #fff;\\n  opacity: 0.75;\\n}\\n.tab-content .result {\\n  border-bottom: 1px solid #ddd;\\n  padding: 15px;\\n}\\n.tab-content .result:first-of-type {\\n  border-top: 1px solid #ddd;\\n}\\n.form-group {\\n  margin-bottom: 0.75rem;\\n  /*label.focused {\\n        color: @focus;\\n    }*/\\n}\\n.form-group label.sr-only {\\n  position: absolute;\\n}\\n.form-group legend {\\n  font-size: 1em;\\n  font-weight: 600;\\n  border-bottom: none;\\n  margin-bottom: 2px;\\n}\\n.form-group .radio-inline,\\n.form-group .checkbox-inline,\\n.form-group .checkbox label,\\n.form-group .radio label {\\n  margin-left: 0;\\n  margin-right: 10px;\\n}\\n/*.radio-inline,\\n.radio,\\n.checkbox-inline,\\n.checkbox {\\n    font-size: 14px;\\n}*/\\n.loading {\\n  margin: 15px auto;\\n  display: block;\\n  margin: 0 auto;\\n  height: 100px;\\n}\\n.have_not_searched {\\n  text-align: center;\\n  height: 100%;\\n  width: 100%;\\n  /*padding-top: 15px;*/\\n}\\n.have_not_searched:before {\\n  /*content: \\\"Use this search tool to find forms.\\\";*/\\n  font-size: 1.2em;\\n  vertical-align: middle;\\n}\\n#questionsDiv {\\n  position: relative;\\n  margin-bottom: 20px;\\n}\\n#questionsDiv .radio {\\n  margin-bottom: 7px;\\n}\\n.public-page-body .body-content {\\n  padding: 0;\\n}\\n/* ------------------------\\n AUTHENTICATED USER\\n------------------------ */\\n.index-container {\\n  display: flex;\\n  flex: 1;\\n  flex-direction: column-reverse;\\n}\\n.index-content legend {\\n  display: block;\\n  width: 100%;\\n  text-align: center;\\n}\\n.returning_user {\\n  overflow: auto;\\n  flex: 0 0 100%;\\n  padding: 0px 15px 15px 15px;\\n  background: #f9f9f9;\\n  border-top: 1px solid #ccc;\\n}\\n.returning_user .returning_user_header,\\n.returning_user .returning_user_body {\\n  visibility: visible;\\n}\\n.returning_user .nav-tabs {\\n  border-bottom-color: #bbbbbb;\\n}\\n.returning_user .nav-tabs li a {\\n  background: none !important;\\n}\\n.returning_user .badge {\\n  margin-left: 5px;\\n}\\n.returning_user .tab-content {\\n  padding: 4px 0;\\n  border: none;\\n  border-top: none;\\n}\\n.returning_user .returning_user_list_of_forms {\\n  list-style: none;\\n  padding: 0;\\n}\\n.returning_user .returning_user_list_of_forms li {\\n  position: relative;\\n  display: table;\\n  width: 100%;\\n  padding: 0.5rem;\\n  border-bottom: 1px solid #ccc;\\n}\\n.returning_user .returning_user_list_of_forms li .returning_user_actions {\\n  float: right;\\n  display: block;\\n}\\n#MyFormsHeading {\\n  margin-top: 15px;\\n  margin-bottom: 10px;\\n}\\n.submitted_timestamp {\\n  font-size: 12px;\\n  color: #6d6d6d;\\n  float: left;\\n  margin-top: 5px;\\n}\\n.my-forms-tag {\\n  display: block;\\n  clear: both;\\n  padding: 2px 6px;\\n  border-radius: 100px;\\n  font-size: 80%;\\n  margin-top: 5px;\\n  margin-bottom: 2.5px;\\n  float: left;\\n}\\n.my-forms-tag.returned {\\n  background: #ffebce;\\n}\\n.my-forms-tag.in-progress {\\n  background: #e0edff;\\n}\\n.my-forms-tag.done {\\n  background: #dbf2e4;\\n}\\n.my-forms-tag.unavailable {\\n  background: #ffe0e0;\\n}\\n.badge {\\n  font-weight: 600;\\n  display: inline-block;\\n  padding: 0.25em 0.4em;\\n  font-size: 75%;\\n  font-weight: 700;\\n  line-height: 1;\\n  text-align: center;\\n  white-space: nowrap;\\n  vertical-align: baseline;\\n  border-radius: 0.25rem;\\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n.badge-primary {\\n  color: #fff;\\n  background-color: #007bff;\\n}\\n.badge-light {\\n  border: 1px solid #dee2e6;\\n}\\ndiv .nav-tabs {\\n  margin-right: 0;\\n}\\n.nav-tabs > li > .nav-link {\\n  border: none;\\n  border-bottom: 3px solid transparent;\\n}\\n.nav-tabs > li > .nav-link.active,\\n.nav-tabs > li > .nav-link.active:hover,\\n.nav-tabs > li > .nav-link.active:focus {\\n  border-bottom: 3px solid #466db2;\\n  background-color: #fff;\\n  border-radius: 0;\\n  color: #466db2 !important;\\n  border-bottom-color: #466db2 !important;\\n}\\n/*.nav-tabs > li.active > .nav-link.show {\\n    border-bottom-color: transparent;\\n}\\n\\n.nav-tabs > li.active > .nav-link,\\n.nav-tabs > li.active > .nav-link:hover,\\n.nav-tabs > li.active > .nav-link:focus {\\n    border-bottom: 3px solid @focus;\\n    background-color: #fff;\\n    border-radius: 0;\\n    color: @focus !important;\\n    border-bottom-color: @focus !important;\\n\\n    .badge {\\n        background-color: #333;\\n    }\\n}*/\\n.nav-tabs > li {\\n  margin-bottom: -1px;\\n}\\n.nav-tabs > li > .nav-link,\\n.nav-tabs > li > .nav-link:hover {\\n  color: inherit;\\n  margin-right: 0;\\n  background-color: transparent;\\n}\\n#myFormsDiv {\\n  max-height: 495px;\\n  overflow: auto;\\n}\\n#myFormsDiv ul {\\n  padding-left: 20px;\\n}\\n#myFormsDiv li {\\n  margin-bottom: 10px;\\n}\\n.navbar-dark .navbar-nav > li.login > a img,\\n.navbar-dark .navbar-nav > li.login.dropdown > a img {\\n  height: 20px;\\n  margin-right: 5px;\\n}\\n.navbar-dark .navbar-nav > li > a,\\n.navbar-dark .navbar-nav > li > a:hover,\\n.navbar-dark .navbar-nav > li > a:focus {\\n  color: #fff;\\n  background: transparent;\\n}\\n.navbar-dark .navbar-nav > li .dropdown-menu {\\n  background-color: #2b2b2b;\\n  border: 0;\\n  left: auto;\\n  right: 0;\\n}\\n.navbar-dark .navbar-nav > li .dropdown-menu > li > a {\\n  color: #fff;\\n  /*text-transform: uppercase;*/\\n}\\n.nav .open > a,\\n.nav .open > a:hover,\\n.nav .open > a:focus {\\n  border-color: transparent;\\n}\\n.help-block {\\n  color: #717171;\\n  font-size: 13px;\\n}\\n/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/\\n/* ------------------------\\n FOOTER\\n------------------------ */\\n#demo {\\n  width: 600px;\\n  padding-top: 5px;\\n  margin-left: 10px;\\n  float: left;\\n}\\n#demo a,\\na.visited,\\na.hover {\\n  text-decoration: none;\\n  border: none;\\n}\\n#footer {\\n  background: #2b2b2b;\\n  color: rgba(255, 255, 255, 0.9);\\n  width: 100%;\\n}\\n#footer ul {\\n  padding: 24px 20px;\\n  list-style-type: none;\\n  text-align: center;\\n  list-style: none outside none;\\n  z-index: 11;\\n  bottom: 0px;\\n  margin: 0px auto;\\n  flex: auto;\\n  display: inline;\\n}\\n#footer ul li {\\n  margin: 0 5px;\\n  display: inline-block;\\n  color: #e2d5b4;\\n}\\n#footer ul li a {\\n  background: none;\\n  color: #fff;\\n  letter-spacing: normal;\\n  font-size: 12px;\\n}\\n#footer ul li:first-of-type {\\n  margin-left: 0;\\n}\\n#footer ul li:last-of-type {\\n  margin-right: 0;\\n}\\n#footer ul li:hover {\\n  background: none;\\n  color: #e2d5b4;\\n}\\n#footer > a {\\n  margin-left: auto;\\n  max-height: 48px;\\n  border: none;\\n}\\n.mi-footer-logo {\\n  height: 35px;\\n  margin-top: -6px;\\n}\\n.accessgov-footer-logo {\\n  height: 45px;\\n  margin-top: -10px;\\n}\\n.visible-xs-inline-block {\\n  display: none;\\n}\\n.my-forms-backdrop {\\n  background: rgba(0, 0, 0, 0.5);\\n  height: 100vh;\\n  width: 100%;\\n  z-index: 999;\\n}\\n.index-logo {\\n  height: 150px;\\n  margin: 10px auto;\\n  max-width: 100%;\\n}\\n.public-page-body .tile {\\n  margin-top: 20px;\\n  margin-bottom: 20px;\\n}\\n.public-page-body .body-content {\\n  padding: 0 5px;\\n}\\n.returning_user {\\n  margin: 0 -15px;\\n}\\n@media (max-width: 767px) {\\n  body {\\n    padding-top: 60px;\\n    background-image: none;\\n    padding-bottom: 0 !important;\\n  }\\n  .body-content {\\n    margin-top: 0;\\n    padding-top: 0;\\n  }\\n  .transitions-after-load .body-content {\\n    height: 100vh;\\n  }\\n  .nav .dropdown {\\n    position: static;\\n  }\\n  .dropdown-menu {\\n    position: static;\\n    box-shadow: none;\\n  }\\n  .notificationBarTop {\\n    /*margin-top: -10px;*/\\n    margin-bottom: 0;\\n  }\\n  #footer {\\n    position: static;\\n    text-align: center;\\n    height: auto;\\n    /*margin-top: 25px;*/\\n    padding: 15px 0;\\n    display: block;\\n  }\\n  #footer ul {\\n    display: block;\\n    width: 90%;\\n  }\\n  #footer ul li {\\n    display: block;\\n    margin-left: 0;\\n    margin-right: 0;\\n  }\\n  #footer ul li a:link,\\n  #footer ul li a {\\n    /*background: @primary-light;*/\\n    float: none;\\n    margin: 0.5em 0px;\\n    padding: 1.2em 0 1.2em;\\n    height: auto;\\n    display: block;\\n    margin-bottom: 5px;\\n    /*color: #fff;*/\\n    padding-top: 10px;\\n    padding-bottom: 10px;\\n  }\\n  #footer ul li a:link:hover,\\n  #footer ul li a:hover {\\n    background: #eee !important;\\n    text-decoration: underline;\\n    color: #2b2b2b;\\n  }\\n  #footer ul li:hover a {\\n    background: #454545;\\n  }\\n  #questionsDiv {\\n    height: auto;\\n    padding-bottom: 0;\\n    position: relative;\\n  }\\n  .form-control {\\n    max-width: none;\\n  }\\n  .visible-xs-inline-block {\\n    display: inline-block !important;\\n  }\\n  .have_not_searched {\\n    background-position: center center;\\n    background-size: 150px;\\n    padding-top: 30px;\\n  }\\n  /*.dfNavButton:not(.dfNavRemoveButton) {\\n        display: block;\\n        width: 100%;\\n        margin-bottom: 5px;\\n    }*/\\n  .dropdown-toggle {\\n    width: 100%;\\n  }\\n  .pane-size-toggle {\\n    -webkit-transform: rotate(90deg);\\n    transform: rotate(90deg);\\n    margin-top: -8px !important;\\n    margin-right: 0 !important;\\n  }\\n  .navbar-dark {\\n    padding: 13px 5px;\\n  }\\n  .navbar-dark a.search-toggle,\\n  .navbar-dark a.search-toggle:hover,\\n  .navbar-dark a.search-toggle:focus {\\n    float: right;\\n    color: #ffffff;\\n    opacity: 0.8;\\n    padding: 0 10px;\\n  }\\n  .navbar-dark a.search-toggle .icon,\\n  .navbar-dark a.search-toggle:hover .icon,\\n  .navbar-dark a.search-toggle:focus .icon {\\n    display: block;\\n    margin-top: 2px;\\n  }\\n  .navbar-dark .navbar-brand img {\\n    height: 33px;\\n  }\\n  .navbar-dark .navbar-brand .brand-letters {\\n    margin-left: 3px;\\n  }\\n  .navbar-dark .navbar-brand .brand-letters img {\\n    height: 15px;\\n  }\\n  .navbar-dark .navbar-toggler,\\n  .navbar-dark .navbar-toggler:focus,\\n  .navbar-dark .navbar-toggler:hover {\\n    background: #2b2b2b;\\n    border: none;\\n    box-shadow: none;\\n    padding: 0.25rem 0.75rem 0.5rem 0.75rem;\\n    /*.navbar-toggler-icon {\\n                width: 20px;\\n                height: 20px;\\n            }*/\\n  }\\n  .search-backdrop,\\n  .my-forms-backdrop {\\n    padding: 5px 15px;\\n    height: 150vh;\\n  }\\n  .search-backdrop .close {\\n    font-size: 1.4em;\\n    top: 15px;\\n    right: 15px;\\n  }\\n  .search-backdrop .close img {\\n    height: 15px;\\n  }\\n  .search-backdrop .search-form-wrapper {\\n    position: static;\\n    margin-top: 40px;\\n    width: 100%;\\n  }\\n  .navbar-dark .navbar-nav > .vr {\\n    display: none;\\n  }\\n  .navbar-dark .form-group.search-group .search-control {\\n    width: 100% !important;\\n  }\\n  .navbar-dark .navbar-left {\\n    margin-left: 0;\\n    margin-right: -15px;\\n  }\\n  .navbar-dark .navbar-nav > li {\\n    padding: 0 7px;\\n  }\\n  .navbar-dark .icon-search {\\n    font-size: 1.4em;\\n  }\\n  #collapse2 {\\n    padding: 8px;\\n    overflow-x: hidden;\\n  }\\n  .nav-search-results {\\n    position: fixed;\\n    width: calc(100% - 30px);\\n    z-index: 10000;\\n    max-height: calc(100vh - 150px);\\n    /*background: #fff;\\n        margin-top: 0;\\n        padding: 0;\\n        border: 1px solid #ddd;\\n        box-shadow: 0 2px 6px 1px rgba(0,0,0,.25);\\n        overflow: auto;*/\\n  }\\n  .nav-search-results .nav-search-results-inner {\\n    padding: 15px;\\n    position: relative;\\n    height: auto;\\n    width: 100%;\\n  }\\n  .nav-search-results .nav-search-results-caption {\\n    position: absolute;\\n    top: 5px;\\n    right: 10px;\\n    display: inline-block;\\n    color: #717171;\\n    font-size: 11px;\\n  }\\n  .nav-search-results .result {\\n    padding-top: 5px;\\n    letter-spacing: normal;\\n    font-size: 13px;\\n  }\\n  .nav-search-results .result:first-of-type {\\n    padding-top: 10px;\\n  }\\n}\\n@media (min-width: 768px) {\\n  body,\\n  label,\\n  .btn,\\n  .form-control {\\n    font-size: 15px;\\n  }\\n  .navbar-dark {\\n    height: 70px;\\n  }\\n  .navbar-dark .navbar-brand {\\n    pointer-events: none;\\n  }\\n  .public-page-body .body-content {\\n    padding: 0;\\n  }\\n  .index-content {\\n    padding: 15px;\\n  }\\n  .returning_user {\\n    margin: 0;\\n  }\\n  .mi-footer-logo {\\n    float: right;\\n  }\\n  .lead {\\n    font-size: 16px;\\n  }\\n  .accessgov-footer-logo {\\n    float: left;\\n  }\\n  .my-forms-backdrop {\\n    display: none;\\n  }\\n  #collapse2 {\\n    margin-right: 10px;\\n  }\\n  .navbar-inverse .navbar-nav > li .dropdown-menu {\\n    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);\\n  }\\n}\\n@media (max-width: 991px) {\\n  .img-responsive {\\n    /* account for large homepage images to be responsive on mobile devices */\\n    max-width: 100%;\\n    height: auto !important;\\n  }\\n}\\n/* Medium devices (desktops, 992px and up) */\\n@media (min-width: 992px) {\\n  .lead {\\n    font-size: 17px;\\n  }\\n  .index-container {\\n    flex-direction: row;\\n    min-height: calc(100vh - 70px);\\n  }\\n  .index-container .index-content {\\n    flex: 1;\\n  }\\n  .index-container .returning_user {\\n    flex: 0 0 375px;\\n    border-top: none;\\n    border-right: 1px solid #ccc;\\n    overflow: auto;\\n  }\\n  .body-content {\\n    min-height: calc(100vh - 70px);\\n  }\\n}\\n@media (min-width: 1200px) {\\n  .have_not_searched {\\n    background-position: center 40%;\\n  }\\n}\\n@media print {\\n  .no_print,\\n  #footer,\\n  .btn {\\n    display: none !important;\\n  }\\n}\\n\",\"/*! CSS Used fontfaces */\\n@font-face {\\n    font-family: \\\"accessgov\\\";\\n    src:\\n        url(\\\"../icons/fonts/accessgov.woff?v=7\\\") format(\\\"woff\\\"),\\n        url(\\\"../icons/fonts/accessgov.ttf?v=7\\\") format(\\\"truetype\\\"),\\n        url(\\\"../icons/fonts/accessgov.svg?v=7#accessgov\\\") format(\\\"svg\\\");\\n    font-weight: normal;\\n    font-style: normal;\\n}\\n/*! CSS Used from: ../bootstrap/bootstrap.css?v=-2013962739 */\\n:root {\\n    --blue: #007bff;\\n    --indigo: #6610f2;\\n    --purple: #6f42c1;\\n    --pink: #e83e8c;\\n    --red: #dc3545;\\n    --orange: #fd7e14;\\n    --yellow: #ffc107;\\n    --green: #28a745;\\n    --teal: #20c997;\\n    --cyan: #17a2b8;\\n    --white: #fff;\\n    --gray: #6c757d;\\n    --gray-dark: #343a40;\\n    --primary: #007bff;\\n    --secondary: #6c757d;\\n    --success: #28a745;\\n    --info: #17a2b8;\\n    --warning: #ffc107;\\n    --danger: #dc3545;\\n    --light: #f8f9fa;\\n    --dark: #343a40;\\n    --breakpoint-xs: 0;\\n    --breakpoint-sm: 576px;\\n    --breakpoint-md: 768px;\\n    --breakpoint-lg: 992px;\\n    --breakpoint-xl: 1200px;\\n    --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n    --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace;\\n}\\n*,\\n*::before,\\n*::after {\\n    box-sizing: border-box;\\n}\\nhtml {\\n    font-family: sans-serif;\\n    line-height: 1.15;\\n    -webkit-text-size-adjust: 100%;\\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\nnav {\\n    display: block;\\n}\\nbody {\\n    margin: 0;\\n    font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n    font-size: 1rem;\\n    font-weight: 400;\\n    line-height: 1.5;\\n    color: #212529;\\n    text-align: left;\\n    background-color: #fff;\\n}\\nhr {\\n    box-sizing: content-box;\\n    height: 0;\\n    overflow: visible;\\n}\\nh2,\\nh3 {\\n    margin-top: 0;\\n    margin-bottom: 0.5rem;\\n}\\np {\\n    margin-top: 0;\\n    margin-bottom: 1rem;\\n}\\nul {\\n    margin-top: 0;\\n    margin-bottom: 1rem;\\n}\\nul ul {\\n    margin-bottom: 0;\\n}\\nsmall {\\n    font-size: 80%;\\n}\\na {\\n    color: #466db2;\\n    text-decoration: none;\\n    background-color: transparent;\\n}\\na:hover {\\n    color: #0056b3;\\n    text-decoration: underline;\\n}\\na:not([href]):not([tabindex]) {\\n    color: inherit;\\n    text-decoration: none;\\n}\\na:not([href]):not([tabindex]):hover,\\na:not([href]):not([tabindex]):focus {\\n    color: inherit;\\n    text-decoration: none;\\n}\\na:not([href]):not([tabindex]):focus {\\n    outline: 0;\\n}\\nimg {\\n    vertical-align: middle;\\n    border-style: none;\\n}\\ntable {\\n    border-collapse: collapse;\\n}\\nlabel {\\n    display: inline-block;\\n    margin-bottom: 0.5rem;\\n}\\nbutton {\\n    border-radius: 0;\\n}\\nbutton:focus {\\n    outline: 1px dotted;\\n    outline: 5px auto -webkit-focus-ring-color;\\n}\\ninput,\\nbutton {\\n    margin: 0;\\n    font-family: inherit;\\n    font-size: inherit;\\n    line-height: inherit;\\n}\\nbutton,\\ninput {\\n    overflow: visible;\\n}\\nbutton {\\n    text-transform: none;\\n}\\nbutton,\\n[type=\\\"button\\\"] {\\n    -webkit-appearance: button;\\n}\\nbutton::-moz-focus-inner,\\n[type=\\\"button\\\"]::-moz-focus-inner {\\n    padding: 0;\\n    border-style: none;\\n}\\ninput[type=\\\"radio\\\"] {\\n    box-sizing: border-box;\\n    padding: 0;\\n}\\nfieldset {\\n    min-width: 0;\\n    padding: 0;\\n    margin: 0;\\n    border: 0;\\n}\\nlegend {\\n    display: block;\\n    width: 100%;\\n    max-width: 100%;\\n    padding: 0;\\n    margin-bottom: 0.5rem;\\n    font-size: 1.5rem;\\n    line-height: inherit;\\n    color: inherit;\\n    white-space: normal;\\n}\\n[type=\\\"search\\\"] {\\n    outline-offset: -2px;\\n    -webkit-appearance: none;\\n}\\nh2,\\nh3 {\\n    margin-bottom: 0.5rem;\\n    font-weight: 500;\\n    line-height: 1.2;\\n}\\nh2 {\\n    font-size: 2rem;\\n}\\nh3 {\\n    font-size: 1.75rem;\\n}\\nhr {\\n    margin-top: 1rem;\\n    margin-bottom: 1rem;\\n    border: 0;\\n    border-top: 1px solid rgba(0, 0, 0, 0.1);\\n}\\nsmall {\\n    font-size: 80%;\\n    font-weight: 400;\\n}\\n.container {\\n    width: 100%;\\n    padding-right: 15px;\\n    padding-left: 15px;\\n    margin-right: auto;\\n    margin-left: auto;\\n}\\n@media (min-width: 576px) {\\n    .container {\\n        max-width: 540px;\\n    }\\n}\\n@media (min-width: 768px) {\\n    .container {\\n        max-width: 720px;\\n    }\\n}\\n@media (min-width: 992px) {\\n    .container {\\n        max-width: 960px;\\n    }\\n}\\n@media (min-width: 1200px) {\\n    .container {\\n        max-width: 1140px;\\n    }\\n}\\n.container-fluid {\\n    width: 100%;\\n    padding-right: 15px;\\n    padding-left: 15px;\\n    margin-right: auto;\\n    margin-left: auto;\\n}\\n.form-control {\\n    display: block;\\n    width: 100%;\\n    height: ~\\\"calc(1.5em + 0.75rem + 2px)\\\";\\n    padding: 0.375rem 0.75rem;\\n    font-size: 1rem;\\n    font-weight: 400;\\n    line-height: 1.5;\\n    color: #495057;\\n    background-color: #fff;\\n    background-clip: padding-box;\\n    border: 1px solid #ced4da;\\n    border-radius: 0.25rem;\\n    transition:\\n        border-color 0.15s ease-in-out,\\n        box-shadow 0.15s ease-in-out;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n    .form-control {\\n        transition: none;\\n    }\\n}\\n.form-control::-ms-expand {\\n    background-color: transparent;\\n    border: 0;\\n}\\n.form-control:focus {\\n    color: #495057;\\n    background-color: #fff;\\n    border-color: #80bdff;\\n    outline: 0;\\n    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n.form-control::-webkit-input-placeholder {\\n    color: #6c757d;\\n    opacity: 1;\\n}\\n.form-control::-moz-placeholder {\\n    color: #6c757d;\\n    opacity: 1;\\n}\\n.form-control:-ms-input-placeholder {\\n    color: #6c757d;\\n    opacity: 1;\\n}\\n.form-control::-ms-input-placeholder {\\n    color: #6c757d;\\n    opacity: 1;\\n}\\n.form-control::placeholder {\\n    color: #6c757d;\\n    opacity: 1;\\n}\\n.form-control:disabled {\\n    background-color: #e9ecef;\\n    opacity: 1;\\n}\\n.form-group {\\n    margin-bottom: 1rem;\\n}\\n.form-check {\\n    position: relative;\\n    display: block;\\n    padding-left: 1.25rem;\\n}\\n.form-check-input {\\n    position: absolute;\\n    margin-top: 0.3rem;\\n    margin-left: -1.25rem;\\n}\\n.form-check-label {\\n    margin-bottom: 0;\\n}\\n.btn {\\n    display: inline-block;\\n    font-weight: 400;\\n    color: #212529;\\n    text-align: center;\\n    vertical-align: middle;\\n    -webkit-user-select: none;\\n    -moz-user-select: none;\\n    -ms-user-select: none;\\n    user-select: none;\\n    background-color: transparent;\\n    border: 1px solid transparent;\\n    padding: 0.375rem 0.75rem;\\n    font-size: 1rem;\\n    line-height: 1.5;\\n    border-radius: 0.25rem;\\n    transition:\\n        color 0.15s ease-in-out,\\n        background-color 0.15s ease-in-out,\\n        border-color 0.15s ease-in-out,\\n        box-shadow 0.15s ease-in-out;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n    .btn {\\n        transition: none;\\n    }\\n}\\n.btn:hover {\\n    color: #212529;\\n    text-decoration: none;\\n}\\n.btn:focus {\\n    outline: 0;\\n    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\\n}\\n.btn:disabled {\\n    opacity: 0.65;\\n}\\n.btn-link {\\n    font-weight: 400;\\n    color: #466db2;\\n    text-decoration: none;\\n}\\n.btn-link:hover {\\n    color: #0056b3;\\n    text-decoration: underline;\\n}\\n.btn-link:focus {\\n    text-decoration: underline;\\n    box-shadow: none;\\n}\\n.btn-link:disabled {\\n    color: #6c757d;\\n    pointer-events: none;\\n}\\n.fade {\\n    transition: opacity 0.15s linear;\\n}\\n@media (prefers-reduced-motion: reduce) {\\n    .fade {\\n        transition: none;\\n    }\\n}\\n.fade:not(.show) {\\n    opacity: 0;\\n}\\n.collapse:not(.show) {\\n    display: none;\\n}\\n.dropdown {\\n    position: relative;\\n}\\n.dropdown-toggle {\\n    white-space: nowrap;\\n}\\n.dropdown-toggle::after {\\n    display: inline-block;\\n    margin-left: 0.255em;\\n    vertical-align: 0.255em;\\n    content: \\\"\\\";\\n    border-top: 0.3em solid;\\n    border-right: 0.3em solid transparent;\\n    border-bottom: 0;\\n    border-left: 0.3em solid transparent;\\n}\\n.dropdown-toggle:empty::after {\\n    margin-left: 0;\\n}\\n.dropdown-menu {\\n    position: absolute;\\n    top: 100%;\\n    left: 0;\\n    z-index: 1000;\\n    display: none;\\n    float: left;\\n    min-width: 10rem;\\n    padding: 0.5rem 0;\\n    margin: 0.125rem 0 0;\\n    font-size: 1rem;\\n    color: #212529;\\n    text-align: left;\\n    list-style: none;\\n    background-color: #fff;\\n    background-clip: padding-box;\\n    border: 1px solid rgba(0, 0, 0, 0.15);\\n    border-radius: 0.25rem;\\n}\\n.nav {\\n    display: -ms-flexbox;\\n    display: flex;\\n    -ms-flex-wrap: wrap;\\n    flex-wrap: wrap;\\n    padding-left: 0;\\n    margin-bottom: 0;\\n    list-style: none;\\n}\\n.nav-link {\\n    display: block;\\n    padding: 0.5rem 1rem;\\n}\\n.nav-link:hover,\\n.nav-link:focus {\\n    text-decoration: none;\\n}\\n.nav-tabs {\\n    border-bottom: 1px solid #dee2e6;\\n}\\n.nav-tabs .nav-item {\\n    margin-bottom: -1px;\\n}\\n.nav-tabs .nav-link {\\n    border: 1px solid transparent;\\n    border-top-left-radius: 0.25rem;\\n    border-top-right-radius: 0.25rem;\\n}\\n.nav-tabs .nav-link:hover,\\n.nav-tabs .nav-link:focus {\\n    border-color: #e9ecef #e9ecef #dee2e6;\\n}\\n.nav-tabs .nav-link.active {\\n    color: #495057;\\n    background-color: #fff;\\n    border-color: #dee2e6 #dee2e6 #fff;\\n}\\n.tab-content > .tab-pane {\\n    display: none;\\n}\\n.tab-content > .active {\\n    display: block;\\n}\\n.navbar {\\n    position: relative;\\n    display: -ms-flexbox;\\n    display: flex;\\n    -ms-flex-wrap: wrap;\\n    flex-wrap: wrap;\\n    -ms-flex-align: center;\\n    align-items: center;\\n    -ms-flex-pack: justify;\\n    justify-content: space-between;\\n    padding: 0.5rem 1rem;\\n}\\n.navbar > .container-fluid {\\n    display: -ms-flexbox;\\n    display: flex;\\n    -ms-flex-wrap: wrap;\\n    flex-wrap: wrap;\\n    -ms-flex-align: center;\\n    align-items: center;\\n    -ms-flex-pack: justify;\\n    justify-content: space-between;\\n}\\n.navbar-brand {\\n    display: inline-block;\\n    padding-top: 0.3125rem;\\n    padding-bottom: 0.3125rem;\\n    margin-right: 1rem;\\n    font-size: 1.25rem;\\n    line-height: inherit;\\n    white-space: nowrap;\\n}\\n.navbar-brand:hover,\\n.navbar-brand:focus {\\n    text-decoration: none;\\n}\\n.navbar-nav {\\n    display: -ms-flexbox;\\n    display: flex;\\n    -ms-flex-direction: column;\\n    flex-direction: column;\\n    padding-left: 0;\\n    margin-bottom: 0;\\n    list-style: none;\\n}\\n.navbar-nav .nav-link {\\n    padding-right: 0;\\n    padding-left: 0;\\n}\\n.navbar-nav .dropdown-menu {\\n    position: static;\\n    float: none;\\n}\\n.navbar-collapse {\\n    -ms-flex-preferred-size: 100%;\\n    flex-basis: 100%;\\n    -ms-flex-positive: 1;\\n    flex-grow: 1;\\n    -ms-flex-align: center;\\n    align-items: center;\\n}\\n.navbar-toggler {\\n    padding: 0.25rem 0.75rem;\\n    font-size: 1.25rem;\\n    line-height: 1;\\n    background-color: transparent;\\n    border: 1px solid transparent;\\n    border-radius: 0.25rem;\\n}\\n.navbar-toggler:hover,\\n.navbar-toggler:focus {\\n    text-decoration: none;\\n}\\n@media (max-width: 767.98px) {\\n    .navbar-expand-md > .container-fluid {\\n        padding-right: 0;\\n        padding-left: 0;\\n    }\\n}\\n@media (min-width: 768px) {\\n    .navbar-expand-md {\\n        -ms-flex-flow: row nowrap;\\n        flex-flow: row nowrap;\\n        -ms-flex-pack: start;\\n        justify-content: flex-start;\\n    }\\n    .navbar-expand-md .navbar-nav {\\n        -ms-flex-direction: row;\\n        flex-direction: row;\\n    }\\n    .navbar-expand-md .navbar-nav .dropdown-menu {\\n        position: absolute;\\n    }\\n    .navbar-expand-md .navbar-nav .nav-link {\\n        padding-right: 0.5rem;\\n        padding-left: 0.5rem;\\n    }\\n    .navbar-expand-md > .container-fluid {\\n        -ms-flex-wrap: nowrap;\\n        flex-wrap: nowrap;\\n    }\\n    .navbar-expand-md .navbar-collapse {\\n        display: -ms-flexbox !important;\\n        display: flex !important;\\n        -ms-flex-preferred-size: auto;\\n        flex-basis: auto;\\n    }\\n    .navbar-expand-md .navbar-toggler {\\n        display: none;\\n    }\\n}\\n.navbar-dark .navbar-brand {\\n    color: #fff;\\n}\\n.navbar-dark .navbar-brand:hover,\\n.navbar-dark .navbar-brand:focus {\\n    color: #fff;\\n}\\n.navbar-dark .navbar-nav .nav-link {\\n    color: rgba(255, 255, 255, 0.5);\\n}\\n.navbar-dark .navbar-nav .nav-link:hover,\\n.navbar-dark .navbar-nav .nav-link:focus {\\n    color: rgba(255, 255, 255, 0.75);\\n}\\n.navbar-dark .navbar-toggler {\\n    color: rgba(255, 255, 255, 0.5);\\n    border-color: rgba(255, 255, 255, 0.1);\\n}\\n.close {\\n    float: right;\\n    font-size: 1.5rem;\\n    font-weight: 700;\\n    line-height: 1;\\n    color: #000;\\n    text-shadow: 0 1px 0 #fff;\\n    opacity: 0.5;\\n}\\n.close:hover {\\n    color: #000;\\n    text-decoration: none;\\n}\\nbutton.close {\\n    padding: 0;\\n    background-color: transparent;\\n    border: 0;\\n    -webkit-appearance: none;\\n    -moz-appearance: none;\\n    appearance: none;\\n}\\n.popover {\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    z-index: 1060;\\n    display: block;\\n    max-width: 276px;\\n    font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n    font-style: normal;\\n    font-weight: 400;\\n    line-height: 1.5;\\n    text-align: left;\\n    text-align: start;\\n    text-decoration: none;\\n    text-shadow: none;\\n    text-transform: none;\\n    letter-spacing: normal;\\n    word-break: normal;\\n    word-spacing: normal;\\n    white-space: normal;\\n    line-break: auto;\\n    font-size: 0.875rem;\\n    word-wrap: break-word;\\n    background-color: #fff;\\n    background-clip: padding-box;\\n    border: 1px solid rgba(0, 0, 0, 0.2);\\n    border-radius: 0.3rem;\\n}\\n.popover .arrow {\\n    position: absolute;\\n    display: block;\\n    width: 1rem;\\n    height: 0.5rem;\\n    margin: 0 0.3rem;\\n}\\n.popover .arrow::before,\\n.popover .arrow::after {\\n    position: absolute;\\n    display: block;\\n    content: \\\"\\\";\\n    border-color: transparent;\\n    border-style: solid;\\n}\\n.bs-popover-top {\\n    margin-bottom: 0.5rem;\\n}\\n.bs-popover-top > .arrow {\\n    bottom: ~\\\"calc((0.5rem + 1px) * -1)\\\";\\n}\\n.bs-popover-top > .arrow::before {\\n    bottom: 0;\\n    border-width: 0.5rem 0.5rem 0;\\n    border-top-color: rgba(0, 0, 0, 0.25);\\n}\\n.bs-popover-top > .arrow::after {\\n    bottom: 1px;\\n    border-width: 0.5rem 0.5rem 0;\\n    border-top-color: #fff;\\n}\\n.popover-header {\\n    padding: 0.5rem 0.75rem;\\n    margin-bottom: 0;\\n    font-size: 1rem;\\n    background-color: #f7f7f7;\\n    border-bottom: 1px solid #ebebeb;\\n    border-top-left-radius: ~\\\"calc(0.3rem - 1px)\\\";\\n    border-top-right-radius: ~\\\"calc(0.3rem - 1px)\\\";\\n}\\n.popover-header:empty {\\n    display: none;\\n}\\n.popover-body {\\n    padding: 0.5rem 0.75rem;\\n    color: #212529;\\n}\\n.d-none {\\n    display: none !important;\\n}\\n.d-block {\\n    display: block !important;\\n}\\n@media (min-width: 768px) {\\n    .d-md-none {\\n        display: none !important;\\n    }\\n    .d-md-block {\\n        display: block !important;\\n    }\\n}\\n.fixed-top {\\n    position: fixed;\\n    top: 0;\\n    right: 0;\\n    left: 0;\\n    z-index: 1030;\\n}\\n.sr-only {\\n    position: absolute;\\n    width: 1px;\\n    height: 1px;\\n    padding: 0;\\n    overflow: hidden;\\n    clip: rect(0, 0, 0, 0);\\n    white-space: nowrap;\\n    border: 0;\\n}\\n.text-left {\\n    text-align: left !important;\\n}\\n.text-center {\\n    text-align: center !important;\\n}\\n@media print {\\n    *,\\n    *::before,\\n    *::after {\\n        text-shadow: none !important;\\n        box-shadow: none !important;\\n    }\\n    a:not(.btn) {\\n        text-decoration: underline;\\n    }\\n    tr,\\n    img {\\n        page-break-inside: avoid;\\n    }\\n    p,\\n    h2,\\n    h3 {\\n        orphans: 3;\\n        widows: 3;\\n    }\\n    h2,\\n    h3 {\\n        page-break-after: avoid;\\n    }\\n    body {\\n        min-width: 992px !important;\\n    }\\n    .container {\\n        min-width: 992px !important;\\n    }\\n    .navbar {\\n        display: none;\\n    }\\n}\\n.badge {\\n    display: inline-block;\\n    padding: 0.25em 0.4em;\\n    font-size: 75%;\\n    font-weight: 700;\\n    line-height: 1;\\n    text-align: center;\\n    white-space: nowrap;\\n    vertical-align: baseline;\\n    border-radius: 0.25rem;\\n    transition:\\n        color 0.15s ease-in-out,\\n        background-color 0.15s ease-in-out,\\n        border-color 0.15s ease-in-out,\\n        box-shadow 0.15s ease-in-out;\\n}\\n.badge-light {\\n    color: #212529;\\n    background-color: #f8f9fa;\\n    border: 1px solid #dee2e6;\\n}\\n/*! CSS Used from: ../DynamicForms/DFStyle_Master.css?v=-2013962739 */\\nhtml {\\n    min-height: 100%;\\n    position: relative;\\n}\\n.form-control {\\n    color: #333333;\\n}\\n.form-control::-webkit-input-placeholder {\\n    color: #999999;\\n    opacity: 1;\\n}\\n.form-control::-moz-placeholder {\\n    color: #999999;\\n    opacity: 1;\\n}\\n.form-control:-ms-input-placeholder {\\n    color: #999999;\\n    opacity: 1;\\n}\\n.form-control::-ms-input-placeholder {\\n    color: #999999;\\n    opacity: 1;\\n}\\n.form-control::placeholder {\\n    color: #999999;\\n    opacity: 1;\\n}\\n.nav.navbar-nav {\\n    margin: 0;\\n}\\nnav {\\n    display: block;\\n}\\n@media (max-width: 767px) {\\n    body {\\n        padding-bottom: 0;\\n    }\\n}\\n/*! CSS Used from: ../icons/style.css?v=7 */\\n.icon:before {\\n    font-family: accessgov !important;\\n    speak: never;\\n    font-style: normal;\\n    font-weight: 400;\\n    font-variant: normal;\\n    text-transform: none;\\n    line-height: 1;\\n    -webkit-font-smoothing: antialiased;\\n    -moz-osx-font-smoothing: grayscale;\\n}\\n.icon-info:before {\\n    content: \\\"\\\\62\\\";\\n}\\n.icon-search:before {\\n    content: \\\"\\\\49\\\";\\n}\\n.icon-close:before {\\n    content: \\\"\\\\74\\\";\\n}\\n.icon-user-solid:before {\\n    content: \\\"\\\\e90d\\\";\\n}\\n\",\"@font-face {\\n    font-style: normal;\\n    font-weight: 400;\\n    src:\\n        local(\\\"Open Sans Regular\\\"),\\n        local(\\\"OpenSans-Regular\\\"),\\n        url(https://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\\\"woff2\\\");\\n    unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\\n}\\n/* variables for easier Custom Less modification */\\n@navbar-height: 70px;\\n@small-font: 0.875rem;\\n\\nhtml {\\n    position: relative;\\n    min-height: 100vh;\\n}\\n\\n.skip-to.popup.focus {\\n    z-index: 1030;\\n}\\n\\nbody {\\n    padding-top: 70px;\\n    background: #fff;\\n    background-size: cover;\\n    font-weight: normal;\\n    font-family: \\\"Open Sans\\\", sans-serif;\\n}\\n\\n.body-content {\\n    width: 100%;\\n    position: relative;\\n}\\n\\na {\\n    color: @link-color;\\n}\\n\\na:hover {\\n    cursor: pointer;\\n    color: @link-color-hover;\\n}\\n\\np {\\n    clear: none;\\n}\\n\\nh1 {\\n    line-height: 1;\\n    color: #333;\\n}\\n\\nh1,\\nh2,\\nh3 {\\n    margin-top: 10px;\\n    font-weight: 500;\\n}\\n\\nh1 {\\n    font-size: 1.9rem;\\n}\\n\\nh2 {\\n    font-size: 1.65rem;\\n}\\n\\nh3 {\\n    font-size: 1.45rem;\\n}\\n\\nh4 {\\n    font-size: 1.3rem;\\n}\\n\\nh5 {\\n    font-size: 1.15rem;\\n}\\n\\nh6 {\\n    font-size: 1rem;\\n}\\n\\n.pull-right {\\n    float: right;\\n}\\n\\n.loading {\\n    margin: 15px auto;\\n    display: block;\\n    margin: 0 auto;\\n    height: 100px;\\n}\\n\\n.text-smaller {\\n    font-size: @small-font;\\n}\\n\\n.tile {\\n    background: #ffffff;\\n    border-radius: 8px;\\n    padding: 15px;\\n}\\n\\n[data-bind*=\\\"clickOrEnter\\\"],\\n[data-bind^=\\\"clickOrEnter\\\"] {\\n    cursor: pointer;\\n}\\n\\n.dropdown-menu li,\\n.returning_user li {\\n    list-style-type: none;\\n    list-style-position: initial;\\n}\\n\\n.previous-question {\\n    padding: 5px 10px;\\n    border-top: 1px solid #ddd;\\n    font-size: 13px;\\n    cursor: pointer;\\n\\n    strong {\\n        font-size: 15px;\\n    }\\n}\\n\\n.current-question {\\n    border-top: 1px solid #ddd;\\n}\\n\\n.answer.disabled {\\n    opacity: 0.65;\\n}\\n\\n.previous-question:hover,\\n.previous-question:focus {\\n    background: #f5f5f5;\\n}\\n\\n.dropdown-menu {\\n    border-radius: 0 0 6px 6px;\\n}\\n\\n.dropdown.open {\\n    .dropdown-menu {\\n        opacity: 1;\\n    }\\n}\\n\\n.dropdown-toggle {\\n    &.show + .dropdown-menu {\\n        display: block;\\n    }\\n}\\n\\nlabel {\\n    font-weight: 500;\\n}\\n\\n// Specify id from public form to avoid\\n// overlapping with form-control styles when form is accessed from admin\\n#jsPageEditor {\\n    .form-control,\\n    .vs__dropdown-toggle,\\n    .form-group .input-group .input-group-text {\\n        font-weight: normal;\\n        border-color: @primary-lightest;\\n    }\\n\\n    .vs__dropdown-toggle .vs__open-indicator {\\n        fill: @black;\\n    }\\n\\n    .form-control:focus,\\n    .vs--open .vs__dropdown-toggle {\\n        border-width: 2px;\\n        border-color: @active-black;\\n        box-shadow: unset;\\n\\n        & ~ .vs__dropdown-menu {\\n            --vs-border-width: 0;\\n        }\\n    }\\n\\n    .form-group {\\n        .btn-group {\\n            border-radius: 0.35rem;\\n        }\\n\\n        &.text-form-group {\\n            .input-group-append,\\n            .input-group-prepend {\\n                .input-group-text {\\n                    &:focus {\\n                        z-index: 0;\\n                    }\\n                }\\n            }\\n        }\\n\\n        &.has-custom-errors {\\n            // Specify selectors to avoid inheriting styles if elements are nested\\n            @width: 2px;\\n            .border-mixin {\\n                border-color: @custom-error-red;\\n                border-width: 1px;\\n                outline: unset;\\n            }\\n            .border-focus-mixin {\\n                border-width: @width;\\n                box-shadow: unset;\\n            }\\n            .invalid-border-mixin {\\n                .border-mixin;\\n                &:focus {\\n                    .border-focus-mixin;\\n                }\\n            }\\n\\n            &.text-form-group {\\n                & > div,\\n                & > div > .datepicker-group {\\n                    & > .form-control,\\n                    & > .input-group-text {\\n                        .invalid-border-mixin;\\n                    }\\n                    & > .input-group-append,\\n                    & > .input-group-prepend {\\n                        .input-group-text {\\n                            .invalid-border-mixin;\\n                            &:focus {\\n                                outline: @width solid @custom-error-red;\\n                                box-shadow: unset;\\n                                border: unset;\\n                                z-index: 0;\\n                            }\\n                        }\\n                        &:not(.input-group-prepend) .input-group-text {\\n                            border-left-width: 0;\\n                        }\\n                        &:not(.input-group-append) .input-group-text {\\n                            border-right-width: 0;\\n                        }\\n                    }\\n                }\\n            }\\n            &.dropdown-form-group {\\n                & > div > div {\\n                    & > select.form-control,\\n                    & > .v-select .vs__dropdown-toggle {\\n                        .border-mixin;\\n                    }\\n                    & > .v-select.vs--open .vs__dropdown-toggle {\\n                        .border-focus-mixin;\\n                    }\\n                }\\n            }\\n            &.file-form-group {\\n                & > div {\\n                    & > .btn-file,\\n                    & > .btn-group {\\n                        .invalid-border-mixin;\\n                        border-width: @width;\\n                    }\\n                    & > .btn-group {\\n                        border-style: solid;\\n                        a.btn {\\n                            border-width: 0;\\n                        }\\n                        .input-group-append {\\n                            border-top-width: 0;\\n                            border-right-width: 0;\\n                            border-bottom-width: 0;\\n                        }\\n                    }\\n                }\\n            }\\n            // &.radio-form-group,\\n            // &.checkbox-form-group {\\n            //     & > fieldset:before {\\n            //         content: \\\"\\\";\\n            //         position: absolute;\\n            //         top: 0;\\n            //         left: 5px;\\n            //         width: 2px;\\n            //         height: 100%;\\n            //         background: @custom-error-red;\\n            //     }\\n            // }\\n        }\\n    }\\n}\\n\\n.form-check-label,\\n.radio-inline,\\n.checkbox label {\\n    font-weight: normal;\\n    margin-bottom: 0;\\n}\\n\\n.page-loading {\\n    position: fixed;\\n    opacity: 1;\\n    transition: all 0.4s ease-in;\\n}\\n\\nhtml.no-js .page-loading {\\n    display: none;\\n}\\n\\n.page-loaded {\\n    opacity: 0;\\n    height: 0;\\n    transition: none; /*ensure wheel doesn't fade out, rather disappears*/\\n    z-index: -1;\\n}\\n\\n.body-loading {\\n    width: 100px;\\n    height: 100px;\\n    border-radius: 1.5ex;\\n    padding: 0.2ex;\\n    position: fixed;\\n    left: calc(~\\\"50% - 50px\\\");\\n    top: calc(~\\\"50% - 50px\\\");\\n\\n    .loading {\\n        height: 100%;\\n    }\\n}\\n\\n.popover-header {\\n    margin: 0;\\n}\\n\\n.popper {\\n    background: #ffffff;\\n    max-width: 300px;\\n    border: 1px solid #cccccc;\\n    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);\\n    padding: 7.5px;\\n}\\n\\n.form-check.answer {\\n    position: static;\\n}\\n\\n.v--modal-overlay {\\n    z-index: 1002;\\n}\\n\\n.modal-content {\\n    border: none;\\n    max-height: 100vh;\\n    overflow-y: auto;\\n}\\n\\n/* ------------------------\\n NAVIGATION\\n-/----------------------- */\\n.skip-navigation-link:focus {\\n    display: block;\\n    top: 0;\\n    width: auto !important;\\n    height: auto !important;\\n    z-index: 998999;\\n    background: white;\\n    clip: unset;\\n}\\n\\n.navbar-dark {\\n    background-color: @primary;\\n    /*min-height: 60px;*/\\n    padding-top: 5px;\\n    padding-bottom: 5px;\\n}\\n\\n.navbar-dark {\\n    padding-left: 0;\\n    padding-right: 0;\\n\\n    .navbar-nav .nav-link {\\n        color: rgba(255, 255, 255, 0.9);\\n        cursor: pointer;\\n\\n        &:hover,\\n        &:focus {\\n            color: rgba(255, 255, 255, 1);\\n        }\\n    }\\n\\n    a {\\n        white-space: nowrap;\\n    }\\n\\n    a:hover,\\n    a:focus {\\n        text-decoration: none;\\n    }\\n}\\n\\n.icon-bar {\\n    display: block;\\n    background: #ffffff;\\n    height: 1px;\\n    width: 18px;\\n    margin-top: 5px;\\n}\\n\\n.navbar-fixed-top .navbar-collapse,\\n.navbar-fixed-bottom .navbar-collapse {\\n    max-height: none;\\n    border: none;\\n    box-shadow: none;\\n    padding: 0;\\n    width: 100%;\\n}\\n\\n.navbar-dark .navbar-nav > li > a {\\n    color: #fff;\\n    font-size: 15px;\\n    text-decoration: none;\\n    display: inline-block;\\n    letter-spacing: 0.5px;\\n    /*text-transform: uppercase;*/\\n}\\n\\n.navbar-dark .navbar-nav > li {\\n    padding: 13px 7.5px;\\n    button {\\n        margin-bottom: 0;\\n    }\\n\\n    ::-webkit-input-placeholder,\\n    :-moz-placeholder,\\n    ::-moz-placeholder,\\n    :-ms-input-placeholder {\\n        color: #fff !important;\\n        opacity: 1 !important;\\n    }\\n}\\n\\nfieldset {\\n    border: none;\\n    padding: 0;\\n    margin: 0;\\n}\\n\\nlegend {\\n    font-size: 1.2em;\\n    font-weight: 500;\\n}\\n\\n.navbar-dark .navbar-nav > .vr {\\n    height: 50px;\\n    width: 1px;\\n    margin-top: 5px;\\n    margin-left: 7px;\\n    padding-left: 0;\\n    padding-right: 7px;\\n    border-left: 1px solid lighten(@primary, 7.5%);\\n}\\n\\n.navbar-dark .navbar-nav > li:not(.active) > a:hover,\\n.navbar-dark .navbar-nav > li > a:focus,\\n.navbar-dark .navbar-nav > li:focus,\\n.navbar-dark .navbar-nav > li.open > a:hover,\\n.navbar-dark .navbar-nav > li.open > a:focus,\\n.navbar-dark .navbar-nav > li.open > a:active,\\n.dropdown-menu > li > a:hover,\\n.dropdown-menu > li > a:focus,\\n.dropdown-menu > li > a:active {\\n    color: #fff;\\n    background: @primary;\\n    border-color: transparent;\\n}\\n\\n.navbar-dark .navbar-nav > .open > a:hover,\\n.navbar-dark .navbar-nav > .open > a:focus {\\n    background: #27221a;\\n}\\n\\n.navbar-dark .navbar-brand {\\n    padding: 0;\\n    img {\\n        height: 50px;\\n        display: inline;\\n    }\\n\\n    .brand-letters {\\n        display: inline;\\n        margin-left: 4px;\\n        img {\\n            height: 25px;\\n        }\\n    }\\n\\n    /* cspell:ignore ccess */\\n    .brand-letters-ccess,\\n    .brand-letters-gov {\\n        font-size: 40px;\\n        letter-spacing: 6pt;\\n        vertical-align: middle;\\n        display: inline-block;\\n        margin-top: -1px;\\n    }\\n\\n    .brand-letters-ccess {\\n        font-weight: bold;\\n        color: #ccc;\\n    }\\n\\n    .brand-letters-gov {\\n        color: #fff;\\n    }\\n}\\n\\n.navbar-dark .navbar-right {\\n    font-size: 1.1em;\\n    letter-spacing: 0.4pt;\\n    margin: 0;\\n    margin-right: -15px;\\n    margin-left: auto;\\n}\\n\\n.form-control.search-control {\\n    background: transparent url(\\\"../images/search.png\\\") no-repeat center left 7.5px;\\n    background-size: 15px;\\n    padding-left: 30px;\\n}\\n\\n.navbar-dark .form-control.search-control:focus {\\n    border-bottom-color: #fff;\\n}\\n\\n.search-backdrop {\\n    /*display: none;*/\\n    position: fixed;\\n    left: 0;\\n    top: 0;\\n    right: 0;\\n    bottom: 0;\\n    width: 100%;\\n    height: 100vh;\\n    background: rgba(0, 0, 0, 0.9);\\n    z-index: 10000;\\n    .close {\\n        position: fixed;\\n        top: 30px;\\n        right: 30px;\\n        color: #fff;\\n        font-size: 2em;\\n        opacity: 1;\\n        img {\\n            height: 20px;\\n        }\\n    }\\n\\n    .search-form-wrapper {\\n        width: 600px;\\n        height: 100px;\\n        max-width: 100%;\\n        position: fixed;\\n        top: 25vh;\\n        left: calc(~\\\"50% - 300px\\\");\\n        .form-group {\\n            label {\\n                font-size: 1.5em;\\n                color: #aaa;\\n                margin-bottom: 0;\\n                -webkit-transition: all 0.25s;\\n                transition: all 0.25s;\\n            }\\n\\n            .form-control {\\n                background: none;\\n                height: 40px;\\n                color: #ddd;\\n                border: none;\\n                padding: 10px;\\n                border-bottom: 1px solid #aaa;\\n                border-radius: 0;\\n                box-shadow: none;\\n            }\\n\\n            .form-control:focus {\\n                border-color: @link-color;\\n                border-bottom-width: 2px;\\n            }\\n        }\\n    }\\n}\\n\\n.nav-search-results {\\n    position: fixed;\\n    height: auto;\\n    max-height: calc(~\\\"75vh - 125px\\\");\\n    min-height: 75px;\\n    overflow-y: auto;\\n    width: 600px;\\n    max-width: 100%;\\n    background: #fff;\\n    margin-top: 0;\\n    padding: 0;\\n    border-radius: 4px;\\n    box-shadow: 0 2px 6px 1px rgba(0, 0, 0, 0.25);\\n    overflow: auto;\\n    .nav-search-results-inner {\\n        padding: 15px;\\n        position: relative;\\n        height: auto;\\n        width: 100%;\\n        overflow-x: hidden;\\n        text-align: left;\\n    }\\n\\n    .nav-search-results-caption {\\n        position: absolute;\\n        top: 5px;\\n        right: 10px;\\n        display: inline-block;\\n        color: #636363;\\n        font-size: 12px;\\n        /*font-weight: 600;*/\\n    }\\n\\n    .result {\\n        padding-top: 5px;\\n        letter-spacing: normal;\\n        /*font-size: 14px;*/\\n        text-align: left;\\n    }\\n\\n    .result:first-of-type {\\n        padding-top: 10px;\\n    }\\n}\\n\\n.close {\\n    opacity: 0.7;\\n    font-size: 1.25em;\\n}\\n\\n.dropdown-menu {\\n    padding: 0;\\n    padding-bottom: 8px;\\n}\\n\\n.dropdown-menu > li > a {\\n    display: block;\\n    color: #fff;\\n    font-size: 13px;\\n    padding: 6px 18px;\\n}\\n\\n.dropdown-menu .divider {\\n    opacity: 0.3;\\n    background-color: #000000;\\n    margin: 0;\\n    display: none;\\n}\\n\\n.pane-size-toggle {\\n    font-size: 32px;\\n    margin-top: -10px;\\n    -webkit-appearance: none;\\n    padding: 0;\\n    cursor: pointer;\\n    background: transparent;\\n    border: 0;\\n    float: right;\\n}\\n\\n.toolbox_pane .pane-size-toggle {\\n    margin-top: -14px;\\n}\\n\\n.toggle-symbol {\\n    font-size: 24px;\\n    margin-top: -10px;\\n}\\n\\n.toggle-smaller {\\n    margin-left: 7px;\\n}\\n\\n.toggle-larger {\\n    margin-left: 0;\\n}\\n\\n.pane-size-toggle.close:hover {\\n    opacity: 1;\\n}\\n\\n.df-public-nav {\\n    .navbar {\\n        min-height: 0;\\n    }\\n}\\n\\n.navbar-toggle.public_pages_toggle {\\n    margin: 5px;\\n    padding: 5px;\\n}\\n\\n.navbar-collapse .list-group {\\n    margin-bottom: 0;\\n}\\n\\n.btn {\\n    .icon {\\n        line-height: 0;\\n        vertical-align: inherit;\\n    }\\n    .icon-trash {\\n        font-size: 1.1em;\\n    }\\n    .icon-undo,\\n    .icon-redo {\\n        font-size: 1.15em;\\n    }\\n}\\n\\n.btn-link {\\n    color: @link-color;\\n}\\n\\n.btn-link.icon {\\n    &:active,\\n    &:focus {\\n        box-shadow: ~\\\"0 0 0 0.2rem rgb(0 123 255 / 25%)\\\";\\n    }\\n}\\n\\n.btn-group-vertical .btn {\\n    margin-bottom: 0;\\n}\\n\\n.fixed-top {\\n    z-index: 1001;\\n}\\n\\n.btn {\\n    .focus-mixin(@outline-color) {\\n        outline: 2px solid @outline-color;\\n        outline-offset: 2px;\\n        box-shadow: unset;\\n    }\\n\\n    &.btn-primary {\\n        background: @button-color;\\n        color: #fff;\\n        border-color: transparent;\\n\\n        &:hover {\\n            background: @button-color-hover;\\n            border-color: @button-color-hover;\\n            color: #fff;\\n        }\\n\\n        &:focus {\\n            .focus-mixin(@button-color-hover);\\n        }\\n\\n        &:active {\\n            background: @button-color-hover !important;\\n            color: #fff !important;\\n            border-color: darken(@button-color, 10%);\\n        }\\n    }\\n\\n    &.btn-outline-primary {\\n        &:hover {\\n            background: @button-color;\\n            border-color: @button-color;\\n        }\\n\\n        &:focus {\\n            background: @button-color;\\n            color: #fff;\\n            .focus-mixin(@button-color);\\n        }\\n    }\\n\\n    &.btn-outline-secondary {\\n        &:focus {\\n            background: #6c757d;\\n            color: #ffffff;\\n            .focus-mixin(#6c757d);\\n        }\\n    }\\n\\n    &.btn-outline-danger {\\n        &:focus {\\n            background: #dc3545;\\n            color: #ffffff;\\n            .focus-mixin(#dc3545);\\n        }\\n    }\\n\\n    &.btn-outline-success {\\n        &:focus {\\n            background: #28a745;\\n            color: #ffffff;\\n            .focus-mixin(#28a745);\\n        }\\n    }\\n\\n    &.btn-bare {\\n        &:focus {\\n            .focus-mixin(@active-black);\\n        }\\n    }\\n}\\n\\n.btn-block {\\n    display: block;\\n    width: 100%;\\n}\\n\\n.btn.btn-xs {\\n    padding: 2px 5px;\\n    font-size: 0.75rem;\\n    border-radius: 3px;\\n    -webkit-transition: 0.1s all ease-in-out;\\n    -moz-transition: 0.1s all ease-in-out;\\n    -o-transition: 0.1s all ease-in-out;\\n    transition: 0.1s all ease-in-out;\\n}\\n\\n.notificationBarTop {\\n    background: @notification-bar-top-color;\\n    color: @text-color-primary;\\n    text-align: center;\\n    line-height: 2.5;\\n    overflow: hidden;\\n    /*margin-top: -15px;\\n    margin-bottom: 15px;*/\\n\\n    a,\\n    button {\\n        color: @text-color-primary;\\n        font-weight: bold;\\n        border-bottom: 1px solid @text-color-primary;\\n        border-radius: 0;\\n        padding: 0;\\n\\n        &:hover {\\n            color: @text-color-hover;\\n        }\\n    }\\n\\n    .close {\\n        color: @button-color-text;\\n        padding: 7px 10px;\\n        opacity: 0.8;\\n        font-size: 1.3em;\\n\\n        &:hover {\\n            opacity: 1;\\n        }\\n    }\\n\\n    .close:not(:disabled):not(.disabled):hover,\\n    .close:not(:disabled):not(.disabled):focus {\\n        color: #fff;\\n        opacity: 0.75;\\n    }\\n}\\n\\n.tab-content {\\n    .result {\\n        border-bottom: 1px solid #ddd;\\n        padding: 15px;\\n    }\\n\\n    .result:first-of-type {\\n        border-top: 1px solid #ddd;\\n    }\\n}\\n\\n.form-group {\\n    margin-bottom: 0.75rem;\\n    label {\\n        &.sr-only {\\n            position: absolute;\\n        }\\n    }\\n\\n    legend {\\n        font-size: 1em;\\n        font-weight: 600;\\n        border-bottom: none;\\n        margin-bottom: 2px;\\n    }\\n\\n    .radio-inline,\\n    .checkbox-inline,\\n    .checkbox label,\\n    .radio label {\\n        margin-left: 0;\\n        margin-right: 10px;\\n    }\\n    /*label.focused {\\n        color: @focus;\\n    }*/\\n}\\n\\n/*.radio-inline,\\n.radio,\\n.checkbox-inline,\\n.checkbox {\\n    font-size: 14px;\\n}*/\\n\\n.loading {\\n    margin: 15px auto;\\n    display: block;\\n    margin: 0 auto;\\n    height: 100px;\\n}\\n\\n.have_not_searched {\\n    text-align: center;\\n    height: 100%;\\n    width: 100%;\\n    /*padding-top: 15px;*/\\n}\\n\\n.have_not_searched:before {\\n    /*content: \\\"Use this search tool to find forms.\\\";*/\\n    font-size: 1.2em;\\n    vertical-align: middle;\\n}\\n\\n#questionsDiv {\\n    position: relative;\\n    margin-bottom: 20px;\\n\\n    .radio {\\n        margin-bottom: 7px;\\n    }\\n}\\n.public-page-body {\\n    .body-content {\\n        padding: 0;\\n    }\\n}\\n\\n/* ------------------------\\n AUTHENTICATED USER\\n------------------------ */\\n@my-forms-width: 375px;\\n.index-container {\\n    display: flex;\\n    flex: 1;\\n    flex-direction: column-reverse;\\n}\\n\\n.index-content {\\n    legend {\\n        display: block;\\n        width: 100%;\\n        text-align: center;\\n    }\\n}\\n\\n.returning_user {\\n    overflow: auto;\\n    flex: 0 0 100%;\\n    padding: 0px 15px 15px 15px;\\n    background: #f9f9f9;\\n    border-top: 1px solid #ccc;\\n\\n    .returning_user_header,\\n    .returning_user_body {\\n        visibility: visible;\\n    }\\n\\n    .nav-tabs {\\n        border-bottom-color: #bbbbbb;\\n\\n        li {\\n            a {\\n                background: none !important;\\n            }\\n        }\\n    }\\n\\n    .badge {\\n        margin-left: 5px;\\n    }\\n\\n    .tab-content {\\n        padding: 4px 0;\\n        border: none;\\n        border-top: none;\\n    }\\n\\n    .returning_user_list_of_forms {\\n        list-style: none;\\n        padding: 0;\\n\\n        li {\\n            position: relative;\\n            display: table;\\n            width: 100%;\\n            padding: 0.5rem;\\n            border-bottom: 1px solid #ccc;\\n\\n            .returning_user_actions {\\n                float: right;\\n                display: block;\\n            }\\n        }\\n    }\\n}\\n\\n#MyFormsHeading {\\n    margin-top: 15px;\\n    margin-bottom: 10px;\\n}\\n\\n.submitted_timestamp {\\n    font-size: 12px;\\n    color: #6d6d6d;\\n    float: left;\\n    margin-top: 5px;\\n}\\n\\n.my-forms-tag {\\n    display: block;\\n    clear: both;\\n    padding: 2px 6px;\\n    border-radius: 100px;\\n    font-size: 80%;\\n    margin-top: 5px;\\n    margin-bottom: 2.5px;\\n    float: left;\\n    &.returned {\\n        background: #ffebce;\\n    }\\n    &.in-progress {\\n        background: #e0edff;\\n    }\\n    &.done {\\n        background: #dbf2e4;\\n    }\\n    &.unavailable {\\n        background: #ffe0e0;\\n    }\\n}\\n\\n.badge {\\n    font-weight: 600;\\n    display: inline-block;\\n    padding: 0.25em 0.4em;\\n    font-size: 75%;\\n    font-weight: 700;\\n    line-height: 1;\\n    text-align: center;\\n    white-space: nowrap;\\n    vertical-align: baseline;\\n    border-radius: 0.25rem;\\n    transition:\\n        color 0.15s ease-in-out,\\n        background-color 0.15s ease-in-out,\\n        border-color 0.15s ease-in-out,\\n        box-shadow 0.15s ease-in-out;\\n}\\n\\n.badge-primary {\\n    color: #fff;\\n    background-color: #007bff;\\n}\\n\\n.badge-light {\\n    border: 1px solid #dee2e6;\\n}\\n\\ndiv .nav-tabs {\\n    margin-right: 0;\\n}\\n\\n.nav-tabs > li > .nav-link {\\n    border: none;\\n    border-bottom: 3px solid transparent;\\n}\\n\\n.nav-tabs > li > .nav-link.active,\\n.nav-tabs > li > .nav-link.active:hover,\\n.nav-tabs > li > .nav-link.active:focus {\\n    border-bottom: 3px solid @focus;\\n    background-color: #fff;\\n    border-radius: 0;\\n    color: @focus !important;\\n    border-bottom-color: @focus !important;\\n}\\n\\n/*.nav-tabs > li.active > .nav-link.show {\\n    border-bottom-color: transparent;\\n}\\n\\n.nav-tabs > li.active > .nav-link,\\n.nav-tabs > li.active > .nav-link:hover,\\n.nav-tabs > li.active > .nav-link:focus {\\n    border-bottom: 3px solid @focus;\\n    background-color: #fff;\\n    border-radius: 0;\\n    color: @focus !important;\\n    border-bottom-color: @focus !important;\\n\\n    .badge {\\n        background-color: #333;\\n    }\\n}*/\\n\\n.nav-tabs > li {\\n    margin-bottom: -1px;\\n}\\n\\n.nav-tabs > li > .nav-link,\\n.nav-tabs > li > .nav-link:hover {\\n    color: inherit;\\n    margin-right: 0;\\n    background-color: transparent;\\n}\\n\\n#myFormsDiv {\\n    max-height: 495px;\\n    overflow: auto;\\n}\\n\\n#myFormsDiv ul {\\n    padding-left: 20px;\\n}\\n\\n#myFormsDiv li {\\n    margin-bottom: 10px;\\n}\\n\\n.navbar-dark .navbar-nav > li.login > a,\\n.navbar-dark .navbar-nav > li.login.dropdown > a {\\n    img {\\n        height: 20px;\\n        margin-right: 5px;\\n    }\\n}\\n\\n.navbar-dark .navbar-nav > li {\\n}\\n\\n.navbar-dark .navbar-nav > li > a,\\n.navbar-dark .navbar-nav > li > a:hover,\\n.navbar-dark .navbar-nav > li > a:focus {\\n    color: #fff;\\n    background: transparent;\\n}\\n\\n.navbar-dark .navbar-nav > li .dropdown-menu {\\n    background-color: @primary;\\n    border: 0;\\n    left: auto;\\n    right: 0;\\n}\\n\\n.navbar-dark .navbar-nav > li .dropdown-menu > li > a {\\n    color: #fff;\\n    /*text-transform: uppercase;*/\\n}\\n\\n.nav .open > a,\\n.nav .open > a:hover,\\n.nav .open > a:focus {\\n    border-color: transparent;\\n}\\n\\n.help-block {\\n    color: #717171;\\n    font-size: 13px;\\n}\\n\\n/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/\\n\\n/* ------------------------\\n FOOTER\\n------------------------ */\\n\\n#demo {\\n    width: 600px;\\n    padding-top: 5px;\\n    margin-left: 10px;\\n    float: left;\\n}\\n\\n#demo a,\\na.visited,\\na.hover {\\n    text-decoration: none;\\n    border: none;\\n}\\n\\n#footer {\\n    background: @primary;\\n    color: rgba(255, 255, 255, 0.9);\\n    width: 100%;\\n\\n    ul {\\n        padding: 24px 20px;\\n        list-style-type: none;\\n        text-align: center;\\n        list-style: none outside none;\\n        z-index: 11;\\n        bottom: 0px;\\n        margin: 0px auto;\\n        flex: auto;\\n        display: inline;\\n\\n        li {\\n            margin: 0 5px;\\n            display: inline-block;\\n            color: #e2d5b4;\\n\\n            a {\\n                background: none;\\n                color: #fff;\\n                letter-spacing: normal;\\n                font-size: 12px;\\n            }\\n        }\\n\\n        li:first-of-type {\\n            margin-left: 0;\\n        }\\n\\n        li:last-of-type {\\n            margin-right: 0;\\n        }\\n\\n        li:hover {\\n            background: none;\\n            color: #e2d5b4;\\n        }\\n    }\\n\\n    > a {\\n        margin-left: auto;\\n        max-height: 48px;\\n        border: none;\\n    }\\n}\\n\\n.mi-footer-logo {\\n    height: 35px;\\n    margin-top: -6px;\\n}\\n\\n.accessgov-footer-logo {\\n    height: 45px;\\n    margin-top: -10px;\\n}\\n\\n.visible-xs-inline-block {\\n    display: none;\\n}\\n\\n.my-forms-backdrop {\\n    &:extend(.search-backdrop);\\n    background: rgba(0, 0, 0, 0.5);\\n    height: 100vh;\\n    width: 100%;\\n    z-index: 999;\\n}\\n\\n.index-logo {\\n    height: 150px;\\n    margin: 10px auto;\\n    max-width: 100%;\\n}\\n\\n.public-page-body .tile {\\n    margin-top: 20px;\\n    margin-bottom: 20px;\\n}\\n\\n.public-page-body .body-content {\\n    padding: 0 5px;\\n}\\n\\n.returning_user {\\n    margin: 0 -15px;\\n}\\n\\n@media (max-width: 767px) {\\n    body {\\n        padding-top: 60px;\\n        background-image: none;\\n        padding-bottom: 0 !important;\\n    }\\n\\n    .body-content {\\n        margin-top: 0;\\n        padding-top: 0;\\n    }\\n\\n    .transitions-after-load {\\n        .body-content {\\n            height: 100vh;\\n        }\\n    }\\n\\n    .nav .dropdown {\\n        position: static;\\n    }\\n\\n    .dropdown-menu {\\n        position: static;\\n        box-shadow: none;\\n    }\\n\\n    .notificationBarTop {\\n        /*margin-top: -10px;*/\\n        margin-bottom: 0;\\n    }\\n    #footer {\\n        position: static;\\n        text-align: center;\\n        height: auto;\\n        /*margin-top: 25px;*/\\n        padding: 15px 0;\\n        display: block;\\n\\n        ul {\\n            display: block;\\n            width: 90%;\\n\\n            li {\\n                display: block;\\n                margin-left: 0;\\n                margin-right: 0;\\n\\n                a:link,\\n                a {\\n                    /*background: @primary-light;*/\\n                    float: none;\\n                    display: block;\\n                    margin: 0.5em 0px;\\n                    padding: 1.2em 0 1.2em;\\n                    height: auto;\\n                    display: block;\\n                    margin-bottom: 5px;\\n                    /*color: #fff;*/\\n                    padding-top: 10px;\\n                    padding-bottom: 10px;\\n                }\\n\\n                a:link:hover,\\n                a:hover {\\n                    background: #eee !important;\\n                    text-decoration: underline;\\n                    color: @primary;\\n                }\\n            }\\n\\n            li:hover a {\\n                background: @primary-light;\\n            }\\n        }\\n    }\\n\\n    #questionsDiv {\\n        height: auto;\\n        padding-bottom: 0;\\n        position: relative;\\n    }\\n\\n    .form-control {\\n        max-width: none;\\n    }\\n\\n    .visible-xs-inline-block {\\n        display: inline-block !important;\\n    }\\n\\n    .have_not_searched {\\n        background-position: center center;\\n        background-size: 150px;\\n        padding-top: 30px;\\n    }\\n\\n    /*.dfNavButton:not(.dfNavRemoveButton) {\\n        display: block;\\n        width: 100%;\\n        margin-bottom: 5px;\\n    }*/\\n\\n    .dropdown-toggle {\\n        width: 100%;\\n    }\\n\\n    .pane-size-toggle {\\n        -webkit-transform: rotate(90deg);\\n        transform: rotate(90deg);\\n        margin-top: -8px !important;\\n        margin-right: 0 !important;\\n    }\\n\\n    .navbar-dark {\\n        padding: 13px 5px;\\n\\n        a.search-toggle,\\n        a.search-toggle:hover,\\n        a.search-toggle:focus {\\n            float: right;\\n            color: #ffffff;\\n            opacity: 0.8;\\n            padding: 0 10px;\\n\\n            .icon {\\n                display: block;\\n                margin-top: 2px;\\n            }\\n        }\\n\\n        .navbar-brand {\\n            img {\\n                height: 33px;\\n            }\\n\\n            .brand-letters {\\n                margin-left: 3px;\\n\\n                img {\\n                    height: 15px;\\n                }\\n            }\\n        }\\n\\n        .navbar-toggler,\\n        .navbar-toggler:focus,\\n        .navbar-toggler:hover {\\n            background: @primary;\\n            border: none;\\n            box-shadow: none;\\n            padding: 0.25rem 0.75rem 0.5rem 0.75rem;\\n            /*.navbar-toggler-icon {\\n                width: 20px;\\n                height: 20px;\\n            }*/\\n        }\\n    }\\n\\n    .search-backdrop {\\n        padding: 5px 15px;\\n        height: 150vh;\\n\\n        .close {\\n            font-size: 1.4em;\\n            top: 15px;\\n            right: 15px;\\n            img {\\n                height: 15px;\\n            }\\n        }\\n\\n        .search-form-wrapper {\\n            position: static;\\n            margin-top: 40px;\\n            width: 100%;\\n            .form-control {\\n                label {\\n                }\\n            }\\n        }\\n    }\\n\\n    .navbar-dark .navbar-nav > .vr {\\n        display: none;\\n    }\\n\\n    .navbar-dark .form-group.search-group .search-control {\\n        width: 100% !important;\\n    }\\n\\n    .navbar-dark .navbar-left {\\n        margin-left: 0;\\n        margin-right: -15px;\\n    }\\n\\n    .navbar-dark .navbar-nav > li {\\n        padding: 0 7px;\\n    }\\n\\n    .navbar-dark {\\n        .icon-search {\\n            font-size: 1.4em;\\n        }\\n    }\\n\\n    #collapse2 {\\n        padding: 8px;\\n        overflow-x: hidden;\\n    }\\n\\n    .nav-search-results {\\n        position: fixed;\\n        width: calc(~\\\"100% - 30px\\\");\\n        z-index: 10000;\\n        max-height: calc(~\\\"100vh - 150px\\\");\\n        /*background: #fff;\\n        margin-top: 0;\\n        padding: 0;\\n        border: 1px solid #ddd;\\n        box-shadow: 0 2px 6px 1px rgba(0,0,0,.25);\\n        overflow: auto;*/\\n        .nav-search-results-inner {\\n            padding: 15px;\\n            position: relative;\\n            height: auto;\\n            width: 100%;\\n        }\\n\\n        .nav-search-results-caption {\\n            position: absolute;\\n            top: 5px;\\n            right: 10px;\\n            display: inline-block;\\n            color: #717171;\\n            font-size: 11px;\\n        }\\n\\n        .result {\\n            padding-top: 5px;\\n            letter-spacing: normal;\\n            font-size: 13px;\\n        }\\n\\n        .result:first-of-type {\\n            padding-top: 10px;\\n        }\\n    }\\n}\\n\\n@media (min-width: 768px) {\\n    body,\\n    label,\\n    .btn,\\n    .form-control {\\n        font-size: 15px;\\n    }\\n    .navbar-dark {\\n        height: @navbar-height;\\n        .navbar-brand {\\n            pointer-events: none;\\n        }\\n    }\\n    .public-page-body .body-content {\\n        padding: 0;\\n    }\\n\\n    .index-content {\\n        padding: 15px;\\n    }\\n\\n    .returning_user {\\n        margin: 0;\\n    }\\n    .mi-footer-logo {\\n        float: right;\\n    }\\n\\n    .lead {\\n        font-size: 16px;\\n    }\\n    .accessgov-footer-logo {\\n        float: left;\\n    }\\n\\n    .my-forms-backdrop {\\n        display: none;\\n    }\\n\\n    #collapse2 {\\n        margin-right: 10px;\\n    }\\n\\n    .navbar-inverse .navbar-nav > li .dropdown-menu {\\n        box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);\\n    }\\n}\\n\\n@media (max-width: 991px) {\\n    .img-responsive {\\n        /* account for large homepage images to be responsive on mobile devices */\\n        max-width: 100%;\\n        height: auto !important;\\n    }\\n}\\n\\n/* Medium devices (desktops, 992px and up) */\\n@media (min-width: 992px) {\\n    .lead {\\n        font-size: 17px;\\n    }\\n    .index-container {\\n        flex-direction: row;\\n        min-height: calc(~\\\"100vh\\\" - @navbar-height);\\n\\n        .index-content {\\n            flex: 1;\\n        }\\n\\n        .returning_user {\\n            flex: 0 0 @my-forms-width;\\n            border-top: none;\\n            border-right: 1px solid #ccc;\\n            overflow: auto;\\n        }\\n    }\\n    .body-content {\\n        min-height: calc(~\\\"100vh\\\" - @navbar-height);\\n    }\\n}\\n\\n@media (min-width: 1200px) {\\n    .have_not_searched {\\n        background-position: center 40%;\\n    }\\n}\\n\\n@media print {\\n    .no_print,\\n    #footer,\\n    .btn {\\n        display: none !important;\\n    }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","<style scoped>\n.help-button {\n    -webkit-appearance: none;\n    background: none;\n    border: none;\n}\n::v-deep(.popper) {\n    white-space: pre-wrap;\n}\n.border-0 {\n    border: 0 !important;\n}\n.m-0 {\n    margin: 0 !important;\n}\n</style>\n<style>\n:root {\n    --popper-theme-background-color: #ffffff;\n    --popper-theme-background-color-hover: #ffffff;\n    --popper-theme-text-color: inherit;\n    --popper-theme-border-width: 0px;\n    --popper-theme-border-style: solid;\n    --popper-theme-border-radius: 6px;\n    --popper-theme-padding: 16px;\n    --popper-theme-box-shadow: 0 6px 30px -6px rgba(0, 0, 0, 0.25);\n}\n</style>\n<template>\n    <Popper ref=\"popperRef\" :show=\"showPopper\" arrow :placement=\"placement || 'top'\" v-if=\"text != null && !/^\\s*$/.test(text)\" class=\"m-0 border-0\">\n        <button type=\"button\" @click.stop=\"triggerClick\" @keydown.enter.prevent=\"triggerClick\" @keydown.space.prevent=\"triggerClick\" @mouseover.prevent=\"handleHoverEvent(true)\" @mouseleave.prevent=\"handleHoverEvent(false)\" @focus=\"showPopper = true\" @blur=\"showPopper = false\" slot=\"reference\" :aria-label=\"labelText + 'More information'\" class=\"help-button\">\n            <span class=\"icon\" :class=\"iconClass || 'icon-info'\" aria-hidden=\"true\"></span>\n        </button>\n        <template #content>\n            <div :id=\"cid?.toString()\" role=\"tooltip\">{{ text }}</div>\n        </template>\n    </Popper>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, onMounted, watch, getCurrentInstance, computed } from \"vue\";\nimport Popper from \"vue3-popper\";\nimport \"vue-popperjs/dist/vue-popper.css\";\ntype Props = {\n    text: string;\n    placement: string;\n    hover: boolean;\n    iconClass: string;\n    label: string;\n};\nexport default defineComponent({\n    components: {\n        Popper,\n    },\n    props: [\"text\", \"placement\", \"hover\", \"iconClass\", \"label\"],\n    setup(props: Props) {\n        const cid = getCurrentInstance()?.uid;\n        const popperRef = ref<typeof Popper>(null!);\n        const showPopper = ref<boolean>(false);\n\n        const labelText = computed(() => {\n            return props.label ? props.label + \": \" : \"\";\n        });\n        const hover = computed(() => props.hover ?? true);\n\n        const triggerClick = () => {\n            showPopper.value = !showPopper.value;\n        };\n        const handleHoverEvent = (state: boolean) => {\n            if (hover.value) {\n                showPopper.value = state;\n            }\n        };\n\n        onMounted(() => {\n            if (popperRef.value) {\n                watch(\n                    () => popperRef.value?.show,\n                    state => {\n                        popperRef.value?.$refs.triggerNode.querySelector(\"button\").setAttribute(\"aria-expanded\", !!state);\n                        popperRef.value?.$refs.triggerNode.querySelector(\"button\").setAttribute(\"aria-describedby\", state ? cid : \"\");\n                        popperRef.value?.$refs.popperNode.setAttribute(\"aria-hidden\", !state);\n                    },\n                    { immediate: true },\n                );\n            }\n        });\n        return {\n            cid,\n            popperRef,\n            showPopper,\n            labelText,\n            triggerClick,\n            handleHoverEvent,\n        };\n    },\n});\n</script>\n","\n      import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!../../node_modules/vue-loader/dist/stylePostLoader.js!../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./HelpIcon.3.vue?vue&type=style&index=0&id=e8e3c66a&scoped=true&lang=css\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!../../node_modules/vue-loader/dist/stylePostLoader.js!../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./HelpIcon.3.vue?vue&type=style&index=0&id=e8e3c66a&scoped=true&lang=css\";\n       export default content && content.locals ? content.locals : undefined;\n","\n      import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!../../node_modules/vue-loader/dist/stylePostLoader.js!../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./HelpIcon.3.vue?vue&type=style&index=1&id=e8e3c66a&lang=css\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!../../node_modules/vue-loader/dist/stylePostLoader.js!../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./HelpIcon.3.vue?vue&type=style&index=1&id=e8e3c66a&lang=css\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render } from \"./HelpIcon.3.vue?vue&type=template&id=e8e3c66a&scoped=true&ts=true\"\nimport script from \"./HelpIcon.3.vue?vue&type=script&lang=ts\"\nexport * from \"./HelpIcon.3.vue?vue&type=script&lang=ts\"\n\nimport \"./HelpIcon.3.vue?vue&type=style&index=0&id=e8e3c66a&scoped=true&lang=css\"\nimport \"./HelpIcon.3.vue?vue&type=style&index=1&id=e8e3c66a&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-e8e3c66a\"]])\n\nexport default __exports__","<template>\n    <div v-bind=\"$attrs\">\n        <LoadingWheel :width=\"100\" style=\"margin: auto\" />\n    </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent } from \"vue\";\nimport LoadingWheel from \"./LoadingWheel.3.vue\";\nexport default defineComponent({\n    components: {\n        LoadingWheel,\n    },\n});\n</script>\n","import { render } from \"./LoadingPlaceholder.3.vue?vue&type=template&id=5fa46067&ts=true\"\nimport script from \"./LoadingPlaceholder.3.vue?vue&type=script&lang=ts\"\nexport * from \"./LoadingPlaceholder.3.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n    <picture ref=\"container\" v-bind=\"$attrs\" :style=\"{ width: `${width}px` }\">\n        <source type=\"image/svg+xml\" :srcset=\"svgImage\" />\n        <img :src=\"gifImage\" alt=\"loading\" class=\"loading\" style=\"height: 100%\" :height=\"width\" :width=\"width\" v-bind=\"$attrs\" />\n    </picture>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted } from \"vue\";\n//import Spinner16Svg from '../images/Spinner-1s-16px.svg';\nimport Spinner64Svg from \"../images/Spinner-1s-64px.svg\";\nimport Spinner200Svg from \"../images/Spinner-1s-200px.svg\";\nimport Spinner64SvgLight from \"../images/Spinner-1s-64px-light.svg\";\nimport Spinner200SvgLight from \"../images/Spinner-1s-200px-light.svg\";\n//import Spinner16Gif from '../images/Spinner-1s-16px.gif';\nimport Spinner64Gif from \"../images/Spinner-1s-64px.gif\";\nimport Spinner200Gif from \"../images/Spinner-1s-200px.gif\";\nimport Spinner64GifLight from \"../images/Spinner-1s-64px-light.gif\";\nimport Spinner200GifLight from \"../images/Spinner-1s-200px-light.gif\";\ntype Props = { width: number; imageWidth: number };\nexport default defineComponent({\n    inheritAttrs: false,\n    props: [\"width\", \"imageWidth\"],\n    setup(props: Props) {\n        const containerRef = ref<HTMLElement>(null!);\n        const color = ref(\"light\");\n\n        const effectiveWidth = computed(() => {\n            return props.imageWidth != null ? props.imageWidth : props.width;\n        });\n        const svgImage = computed(() => {\n            /*if (effectiveWidth.value <= 16) {\n                    return Spinner16Svg;\n                } else */ if (effectiveWidth.value <= 64) {\n                return color.value == \"light\" ? Spinner64Svg : Spinner64SvgLight;\n            } else {\n                return color.value == \"light\" ? Spinner200Svg : Spinner200SvgLight;\n            }\n        });\n        const gifImage = computed(() => {\n            /*if (effectiveWidth.value <= 16) {\n                    return Spinner16Gif;\n                } else */ if (effectiveWidth.value <= 64) {\n                return color.value == \"light\" ? Spinner64Gif : Spinner64GifLight;\n            } else {\n                return color.value == \"light\" ? Spinner200Gif : Spinner200GifLight;\n            }\n        });\n\n        onMounted(() => {\n            // https://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n            const componentLumen = (i: number) => (i < 10 ? i / 3294 : Math.pow(i / 269 + 0.0513, 2.4));\n            const lumen = (r: number, g: number, b: number) => 0.2126 * componentLumen(r) + 0.7152 * componentLumen(g) + 0.0722 * componentLumen(b);\n            const whiteLumen = lumen(255, 255, 255);\n            const blackLumen = lumen(0, 0, 0);\n            let node: typeof containerRef.value | null = containerRef.value;\n            let [red, green, blue, alpha] = [0, 0, 0, 0];\n            while (alpha < 1 && node != null) {\n                const bgColor = window.getComputedStyle(node).backgroundColor ?? \"\";\n                const match = bgColor.match(/^rgba?\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)(?:,\\s*((?:.|\\d)+))?\\s*\\)$/i);\n                if (match != null && match.length >= 4) {\n                    let [_, thisRed, thisGreen, thisBlue, thisAlpha] = match.map(i => +i);\n                    thisAlpha = thisAlpha == null || isNaN(thisAlpha) ? 1 : thisAlpha;\n                    const mixAlpha = 1 - (1 - thisAlpha) * (1 - alpha);\n                    red = mixAlpha == 0 ? 0 : Math.round((thisRed * thisAlpha) / mixAlpha + (red * (1 - thisAlpha)) / mixAlpha);\n                    blue = mixAlpha == 0 ? 0 : Math.round((thisBlue * thisAlpha) / mixAlpha + (blue * (1 - thisAlpha)) / mixAlpha);\n                    green = mixAlpha == 0 ? 0 : Math.round((thisGreen * thisAlpha) / mixAlpha + (green * (1 - thisAlpha)) / mixAlpha);\n                    alpha = mixAlpha;\n                }\n                node = node.parentElement;\n            }\n            const bgLumen = lumen(red * alpha, green * alpha, blue * alpha);\n            //https://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef\n            const contrast = (a: number, b: number) => (Math.max(a, b) + 0.05) / (Math.min(a, b) + 0.05);\n            const whiteContrast = contrast(bgLumen, whiteLumen);\n            const blackContrast = contrast(bgLumen, blackLumen);\n            if (whiteContrast > blackContrast) {\n                color.value = \"dark\";\n            } else {\n                color.value = \"light\";\n            }\n        });\n\n        return {\n            container: containerRef,\n            gifImage,\n            svgImage,\n        };\n    },\n});\n</script>\n","import { render } from \"./LoadingWheel.3.vue?vue&type=template&id=3f40c216&ts=true\"\nimport script from \"./LoadingWheel.3.vue?vue&type=script&lang=ts\"\nexport * from \"./LoadingWheel.3.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n    <div class=\"modal-content\" ref=\"container\">\n        <div class=\"modal-header\">\n            <h2 class=\"modal-title\">{{ status == \"deleted\" ? \"Form Deleted\" : \"Confirm Delete\" }}</h2>\n            <button type=\"button\" class=\"close icon icon-close\" id=\"topClose\" aria-hidden=\"true\" @click=\"close\" autofocus :disabled=\"status == 'deleting'\" aria-label=\"Close\" />\n        </div>\n        <div class=\"modal-body\">\n            <p v-if=\"status == 'pending' && !asAdmin\" describedby-text>Are you sure you want to permanently delete this form?</p>\n            <p v-if=\"status == 'pending' && asAdmin\" describedby-text>Are you sure you want to delete this submission?</p>\n            <div v-else-if=\"status == 'deleting'\">\n                <LoadingWheel :width=\"100\" />\n            </div>\n            <template v-else-if=\"status == 'deleted'\">\n                <span class=\"action-success-icon icon icon-check\"></span>\n                <p describedby-text class=\"action-success-text\">Form deleted successfully.</p>\n            </template>\n        </div>\n        <div class=\"modal-footer\">\n            <a class=\"btn btn-outline-secondary\" @click.prevent=\"close\" id=\"bottomClose\" v-if=\"status == 'deleted'\">Close</a>\n            <template v-else>\n                <button class=\"btn btn-primary\" @click=\"submit\" :disabled=\"status == 'deleting'\" id=\"deleteBtn\" v-if=\"!asAdmin\">Delete Form</button>\n                <button class=\"btn btn-danger\" @click=\"submit\" :disabled=\"status == 'deleting'\" id=\"deleteBtn\" v-if=\"asAdmin\">Delete</button>\n                <button class=\"btn btn-outline-secondary\" @click=\"close\" id=\"bottomClose\" :disabled=\"status == 'deleting'\">Cancel</button>\n            </template>\n        </div>\n    </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, SetupContext } from \"vue\";\nimport LoadingWheel from \"@/lib/LoadingWheel.3.vue\";\nimport { dialogSetup, DialogProps } from \"@/lib/dialogMixin.3\";\ntype Props = {\n    asAdmin: boolean;\n    deleteFunction: () => Promise<void>;\n} & DialogProps;\nexport default defineComponent({\n    props: [\"deleteFunction\", \"asAdmin\", \"triggerElement\"],\n    setup(props: Props, context: SetupContext) {\n        const containerRef = ref<HTMLElement>(null!);\n        dialogSetup(containerRef, props);\n        const status = ref(\"pending\" as \"pending\" | \"deleting\" | \"deleted\");\n\n        const submit = async () => {\n            status.value = \"deleting\";\n            await props.deleteFunction();\n            status.value = \"deleted\";\n        };\n\n        return {\n            container: containerRef,\n            submit,\n            status,\n            close: () => context.emit(\"close\"),\n        };\n    },\n    components: {\n        LoadingWheel,\n    },\n});\n</script>\n","import { render } from \"./DeleteConfirm.3.vue?vue&type=template&id=adf246f6&ts=true\"\nimport script from \"./DeleteConfirm.3.vue?vue&type=script&lang=ts\"\nexport * from \"./DeleteConfirm.3.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","__webpack_require__.O(0, [926], () => {\n\t[736,497,885,519,317,923,695,21,678,2].map(__webpack_require__.E);\n}, 5);"],"names":["changePageInjectKey","Symbol","updatePageInjectKey","getLoginUrlInjectKey","showModalInjectKey","loadUserDataInjectKey","key","id","class","role","src","_imports_0","alt","_imports_1","_createElementVNode","_createTextVNode","defineComponent","props","inheritAttrs","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_createBlock","_component_vue_final_modal","_mergeProps","_ctx","$attrs","classes","default","_withCtx","close","params","_resolveDynamicComponent","innerComponent","innerParams","onClose","_","title","style","Submission","areaCode","formName","formVersion","formHash","formTitle","publicDisplayLabel","submitterStatusLabel","lastUpdated","submitDate","viewTypes","hasFileUploads","testMode","isExpired","isDeletable","isDiscontinued","isReturned","activeTasks","constructor","data","this","Id","Tenant","FormName","FormVersion","FormHash","FormTitle","PublicDisplayLabel","SubmitterStatusLabel","Date","LastUpdated","SubmitDate","ViewTypes","HasFileUploads","TestMode","IsExpired","IsDeletable","IsDiscontinued","IsReturned","UserTasks","filter","i","UserTaskStatus","Active","WaitingAssignment","Returned","includes","Status","visibleActiveTasks","DisplayLabel","test","effectiveDisplayLabel","displayLabel","effectiveInProgressStatusLabel","effectiveDoneStatusLabel","QuestionNode","text","answers","QuestionText","Children","map","d","AnswerNode","helpText","type","question","linkedId","linkedTenant","link","valid","formUrlSlug","formTenant","openInNewTab","AnswerText","HelpText","child","isQuestion","isLink","LinkedId","isForm","Error","JSON","stringify","FormUrlSlug","FormTenant","OpenInNewTab","node","resolveLink","urlFetch","url","tenantCode","rootId","fetch","status","json","components","LoadingWheel","HelpIcon","Promised","emits","setup","previousAnswersRef","ref","firstLoad","indexDataPromise","showSideBar","tab","previousAnswers","currentQuestion","selectedAnswer","currentQuestionLoading","mainStore","useMainStore","showModal","inject","changePage","activeFormsSortedByLastUpdated","computed","activeForms","value","slice","sort","a","b","inProgressForms","submittedForms","length","completedForms","inProgressFormsSortedBySubmitDate","completedFormsSortedBySubmitDate","asyncComputed","async","contentHtml","questionRootNode","watch","val","forEach","answer","getUrl","loadData","ensureSiteCssLoaded","response","cache","hasSession","HasSubmissions","ActiveForms","SubmittedForms","ContentHtml","RootNode","gotoViewUrl","item","view","formId","document","gotoViewAttachmentsUrl","gotoViewAllDocumentsUrl","focusFirstAnswer","delayPromise","focus","onActivated","gotoDraftUrl","page","gotoDraft","settings","confirmDelete","event","deleting","DeleteConfirmModal","deleteFunction","asAdmin","fetchXsrf","method","headers","credentials","statusText","triggerElement","target","stop","gotoView","window","open","gotoViewAttachments","gotoViewAllDocuments","answerClick","pageX","pageY","preventDefault","push","parentQuestion","then","linkedQuestion","urlSlug","priorAnswerClick","answerQuestion","splice","indexOf","toggleDropdown","localeDateTime","_component_Promised","promise","pendingDelay","combined","isPending","isDelayElapsed","_component_LoadingWheel","width","_createElementBlock","_normalizeClass","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_createCommentVNode","_hoisted_5","_hoisted_6","onClick","_cache","$event","active","tabindex","_hoisted_7","_toDisplayString","_hoisted_8","_hoisted_9","show","_hoisted_10","_Fragment","_renderList","itemIndex","_hoisted_11","task","_hoisted_12","toISOString","_hoisted_13","_createVNode","_withModifiers","href","_hoisted_15","_hoisted_14","_hoisted_17","_hoisted_16","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_30","_hoisted_29","_hoisted_33","_hoisted_32","_hoisted_35","_hoisted_34","_hoisted_37","_hoisted_36","_hoisted_31","_hoisted_38","_hoisted_40","_hoisted_39","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_49","_hoisted_48","_hoisted_52","_hoisted_51","_hoisted_54","_hoisted_53","_hoisted_56","_hoisted_55","_hoisted_50","_hoisted_57","_hoisted_59","_hoisted_58","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","innerHTML","_hoisted_65","_hoisted_66","_hoisted_70","_hoisted_71","_hoisted_72","ref_for","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_component_HelpIcon","_hoisted_73","_hoisted_78","_hoisted_79","_hoisted_80","disabled","_hoisted_81","name","_hoisted_82","_hoisted_83","_hoisted_84","setupContextUntyped","emit","containerRef","focusTrapSetup","getLoginUrl","loginUrl","computedAsync","mode","container","login","loginWindow","winObj","Promise","resolve","reject","f","closed","setTimeout","e","isLoggedInNow","callback","wasLoggedIn","isLoggedIn","args","showSlidedown","refresh","location","reload","asModal","Boolean","expireTime","context","focusTrap","loadUserData","now","nowTimerId","setInterval","focusTrapSetEnabled","onUnmounted","nowTimerIdValue","clearInterval","sessionExpired","relativeSessionTimeout","getTime","relativeSessionTimeoutDisplay","relativeSessionTimeoutNumber","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","format","relativeSessionTimeoutSeconds","Math","round","formatList","list","result","formatUnit","number","unit","unitDisplay","hours","trunc","minutes","seconds","newVal","isLoggedInPromise","refreshUrl","hideSlidedown","decode","decodeURIComponent","pairSplitRegExp","tryDecode","str","CookieSameSite","CookieChangeEvent","Event","eventInitDict","arguments","undefined","changed","deleted","super","CookieStore","EventTarget","TypeError","toStringTag","get","init","Object","keys","getAll","set","possibleValue","_a","_b","_c","path","secure","sameSite","strict","expires","domain","assign","startsWith","hostname","endsWith","cookieString","encodeURIComponent","toUTCString","lax","none","previousCookie","cookie","onchange","cookies","obj","opt","pairs","split","dec","pair","eqIdx","substr","trim","parse","parsedURL","URL","origin","delete","workerSubscriptions","WeakMap","registrations","CookieStoreManager","subscribe","subscriptions","currentSubcriptions","worker","subscription","scope","toString","some","x","getSubscriptions","_ref","unsubscribe","ServiceWorkerRegistration","prototype","defineProperty","configurable","enumerable","manager","create","cookieStore","isResetSkipped","skipReset","message$","Subject","currentMessage","liveRegionPromise","promiseVal","next","Observable","subscriber","liveRegionPendingMessage","complete","pipe","switchAll","message","for","navSearchRef","searchText2","toRef","searchText","searchTextDebounced","searchRootTenant","searchResultsPromise","searchTextDebouncedVal","searchFromRoot","searchUrl","searchResultJsonPromise","setLiveRegion","search","Results","searchResultJson","tenantDisplayLabel","getTenantDisplayLabel","v","tenant","tenantDisplay","label","Label","description","Description","searchTextSet","searchTextValue","updateSearchText","onMounted","navSearch","gotoSearchResult","searchResultUrl","clearSearch","onSubmit","autocomplete","searchData","error","tenantData","vfmInjectKey","shouldSkipGaSetup","skipGaSetup","vfm","currentUrl","isAdminComponent","isPageEditorComponent","showMobileNav","searchVisible","showAdminMenu","component","componentSettings","tenantDataPromise","userDataPromise","displayLabelCache","shouldLoadSiteCss","loaded","opensans","siteIndexCss","siteCss","sessionTimeout","showLoginExpiringBanner","siteDesignStylesUrl","editorMode","ActiveFeatureFlags","siteDesignIndexStylesUrl","needsLogin","IsLoggedIn","hasVersionMismatch","promiseComputable","promiseRef","func","hasPageworkflowFeature","isUserLoginDisabled","hasTenantStatsFeature","hasBillingPageFeature","hasShowDataSourceTestModeSyncFeature","hasMultiFactorAuthenticationFeature","IsStateUser","hasDeploymentToggle","hasOverrideableNow","KnownFeatureFlags","OverridableNow","overriddenNow","getOverriddenNowTimeoutId","setOverriddenNow","globalConfigData","OverriddenNow","OverriddenNowAutoAdvance","clearTimeout","immediate","deep","isBridgeBrandEnabled","customFooterHtml","isPublicAreaEnabled","publicAreaEnabled","isAdminAreaEnabled","adminAreaEnabled","allLoaded","every","k","dataPromise","userData","all","showModalFunc","events","bind","isOpened","resolvablePromise","opened","ModalWrapper","on","markRaw","cookieTimerId","sessionTimeoutNoticeTimerId","sessionTimeoutExpiredTimerId","provide","unref","LoginModal","needsLoginPromise","needsLoginMode","RequiredMode","c","handleAuthTimeout","newC","sessionWatchActive","userActionDetected","sessionTimeoutValue","triggerRef","SessionExpiringModal","nextTick","sessionTimeWaitInSeconds","keepAliveEvent","addEventListener","passive","removeEventListener","html","getElementsByTagName","body","classList","remove","add","shouldEnsureSiteCssLoaded","ensureSiteCssLoadedVal","unwatch","newValue","siteCssLoaded","replaceHistory","skipHistory","urlType","pageToUrl","u","_isPageEditorComponent","_isAdminComponent","_component","_componentSettings","adminReview","pushHistoryState","updateDocumentTitle","updatePage","componentSettings2","adminPreview","form","pathname","gaData","googleAnalyticsIds","index","ga","gtag","send_to","page_title","page_location","page_path","history","r","token","XsrfToken","XrsfToken","xsrfToken","activeFeatureFlagsPromise","setUserData","returnUrl","isDefaultTenant","tenantUrlSlug","template","urlTemplates","urlData","urlParamsFlip","Array","from","searchParams","entries","reduce","templateParamMap","queryString","URLSearchParams","getTenantUrlSlug","console","trace","areaUrlSlug","area","join","append","urlFetcher","setupGoogleAnalytics","s","o","q","l","createElement","m","parentNode","insertBefore","scriptTag","bodyScript","dataLayer","trackingId","cookieDomain","cookieFlags","cookie_domain","cookie_flags","extraDataElement","getElementById","extraDataKey","dataset","escapeRegExp","string","replace","templatesToRegex","templateToRegex","templateData","partKeys","partFlip","templateUrl","templateUrlWithoutQueryString","templateQueryStringKeys","regex","matches","lastIndex","partRegex","RegExp","match","optional","first","exec","groupRegex","part","prefix","substring","queryStringMatches","patterns","Preview","Preview2","Index","Directory","Page","PageSlug","PageResumeFailure","FailedPaymentResume","PageLegacy","PageSlugLegacy","Draft","SubmitDraftSuccess","Admin","AdminSearch","AdminTasksIndex","AdminSearchReview","AdminPage","AdminPageEdit","AdminPageNew","AdminPageDiscontinue","AdminPageTransfer","AdminDataSources","AdminAddressBook","AdminGuidedSearch","AdminFeatureFlags","AdminTenantManagementIndex","AdminTenantManagementNew","AdminTenantManagementEdit","AdminFormImport","AdminWidget","AdminUserManagementUsers","AdminUserManagementGroups","AdminStats","AdminBilling","MultiFactorAuthenticationIndex","MultiFactorAuthenticationEdit","MultiFactorAuthenticationVerifyToken","urlKey","concat","urlMatch","pattern","has","getTenantCodeByUrlSlug","setComponentFromUrl","userDataString","newState","state","nodeName","code","keyCode","click","setLoaded","getLogoutUrl","globalClick","togglers","querySelectorAll","showSearch","NavSearchModal","styles","top","toggleMobileNav","ModalsContainer","VersionMismatchBanner","LiveRegion","IndexPage","Offline","loading","LoadingPlaceholder","defineAsyncComponent","loadingComponent","loader","NotFound","PageNotFound","AccessDenied","SessionExpired","DirectoryPage","PagePage","nonIndexStyles","AdminStyles","isDelayOver","rel","onLoad","resolvedUrl","_component_nonIndexStyles","_component_AdminStyles","_component_SessionExpiringModal","_component_VersionMismatchBanner","UserName","CanTestForms","CanReview","CanEditForms","CanViewDataSources","CanManageUsers","includeAllTenants","start","end","CanViewAllTenantsBilling","CanViewTenantBilling","includePageDetails","CanViewAllTenantsStats","CanViewTenantStats","CanViewFeatureFlags","CanManageTenants","onClickCapture","_hoisted_69","srcset","logoUrl","height","logoAlt","CanUserSearchPages","CanUserViewHomePage","_hoisted_85","_hoisted_86","CanUserViewDirectory","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","IsAdmin","_hoisted_91","_hoisted_92","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_KeepAlive","onChangePage","onUpdatePage","_hoisted_97","_hoisted_98","_normalizeStyle","DeploymentToggleUrl","Deployment","_hoisted_99","OverrideableNowUrl","_hoisted_101","toLocaleString","_hoisted_102","_hoisted_100","_component_ModalsContainer","_component_LiveRegion","tenantDataString","globalConfigDataString","pinia","createPinia","app","createApp","AppShell","use","vfmPlugin","directive","vue3Debounce","mount","SkipToConfig","skipTo","displayOption","static","UserTaskType","mills","dialogSetup","componentInstance","getCurrentInstance","dialogRenderPromise","linkModalDescriptionTexts","describedbyElements","describedbyTexts","elem","modalDescriptionText","uid","setAttribute","closest","querySelector","HTMLElement","array","Set","objectDistinct","throwIfNonSuccessStatus","fetchAuth","fetchM","versionHash","VersionHash","urlUrl","addQueryParam","latestVersionHash","setVersionMismatch","setNeedsLogin","getXsrfToken","refreshXsrfToken","focusQuery","focusTrapContainer","focusTrapEnabled","focusTrapListener","dialogFocused","activeElement","parents","currentEl","parentElement","focusableElements","focusFirstElement","parentIndex","sibs","children","targetIndex","focusElement","removeLastActiveModal","toggleFocusTrapActiveModals","addActiveModal","input","xsrfTokenPromise","setXsrfToken","getXsftHeader","localeDate","toLocaleDateString","tenantDateTime","datetime","oldTimeZone","newTimeZone","zonedDateTime","moment","tz","convertTimeZone","getTimeZone","$el","contains","_getTenantLookup","codes","urlPromise","idKey","refreshCache","distinct","missingCodes","urlParams","startIndex","urlParam","fetchData","baseUrl","toLowerCase","getters","tenantDisplayLabelsCache","_getTenantDisplayLabel","tenantUrlSlugCache","_getTenantUrlSlug","urlSlugs","tenantCodeByUrlSlugCache","_getTenantCodeByUrlSlug","getTenantDisplayLabelByUrlSlug","tenantDisplayLabelByUrlSlugCache","_getTenantDisplayLabelByUrlSlug","timeZone","isFeatureFlagActiveAsync","flag","nowStr","autoAdvance","autoAdvanceFromStr","OverriddenNowOn","autoAdvanceFrom","diff","actions","wantedVersionHash","newModal","activeModals","pop","focusTrapState","activeModal","pendingMessage","defineStore","stateFunc","loginSessionExpire","publicPath","__webpack_public_path__","___CSS_LOADER_EXPORT___","module","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","hash","___CSS_LOADER_URL_REPLACEMENT_3___","Popper","cid","popperRef","showPopper","labelText","hover","$refs","triggerNode","popperNode","triggerClick","handleHoverEvent","_component_Popper","arrow","placement","content","onKeydown","_withKeys","onMouseover","onMouseleave","onFocus","onBlur","slot","iconClass","_normalizeProps","_guardReactiveProps","color","effectiveWidth","imageWidth","svgImage","gifImage","Spinner64Gif","Spinner64GifLight","Spinner200Gif","Spinner200GifLight","componentLumen","pow","lumen","g","whiteLumen","blackLumen","red","green","blue","alpha","getComputedStyle","backgroundColor","thisRed","thisGreen","thisBlue","thisAlpha","isNaN","mixAlpha","bgLumen","contrast","max","min","whiteContrast","blackContrast","submit","autofocus","__webpack_require__","O","E"],"sourceRoot":""}