{"version":3,"file":"js/app.min.js?t=1743075070513","mappings":"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","sources":["webpack://frontend/webpack/runtime/chunk loaded","webpack://frontend/webpack/runtime/create fake namespace object","webpack://frontend/webpack/runtime/load script","webpack://frontend/./src/helpers/kratosHelper.ts","webpack://frontend/./src/components/login/store/loginState.ts","webpack://frontend/./src/helpers/redirectHelper.ts","webpack://frontend/./src/helpers/configHelper.ts","webpack://frontend/./src/components/kartosNodes/KratosCustomComponents/KratosCountryCode/CountriesMap.ts","webpack://frontend/./src/enums/themesEnums.ts","webpack://frontend/./src/helpers/uuidHelper.ts","webpack://frontend/./src/router/index.ts","webpack://frontend/./src/helpers/errorHelper.ts","webpack://frontend/./src/enums/routePathsEnum.ts","webpack://frontend/./src/helpers/contextHelper.ts","webpack://frontend/./src/helpers/kratosNameToObjectHelper.ts","webpack://frontend/./src/enums/operationPath.ts","webpack://frontend/./src/helpers/phoneNumberStore.ts","webpack://frontend/./src/helpers/phoneNumberHelper.ts","webpack://frontend/./src/helpers/recaptchaHelper.ts","webpack://frontend/./src/helpers/groupNodesHelper.ts","webpack://frontend/./src/components/signup/store/signupState.ts","webpack://frontend/./src/enums/htmlAttributeEnums.ts","webpack://frontend/./src/helpers/smokeHelper.ts","webpack://frontend/./src/helpers/modifyFlowHelper.ts","webpack://frontend/./src/enums/operationIdEnum.ts","webpack://frontend/./src/helpers/iconHelper.ts","webpack://frontend/./src/enums/messageFromServerEnum.ts","webpack://frontend/./src/components/login/store/loginActions.ts","webpack://frontend/./src/enums/errorEnum.ts","webpack://frontend/./src/enums/restrictEditProfileEnum.ts","webpack://frontend/./src/components/vonageLogo/VonageLogo.vue?06eb","webpack://frontend/./src/components/vonageLogo/VonageLogo.vue","webpack://frontend/./src/components/vonageLogo/VonageLogo.vue?b59c","webpack://frontend/./src/lang/themes/ lazy ^\\.\\/.*\\/locales\\.json$ namespace object","webpack://frontend/./src/plugins/i18n.ts","webpack://frontend/./src/lang/en.ts","webpack://frontend/./src/lang/countries/en.ts","webpack://frontend/./src/lang/es.ts","webpack://frontend/./src/lang/countries/es.ts","webpack://frontend/./src/helpers/stringHelper.ts","webpack://frontend/./src/helpers/themeHelper.ts","webpack://frontend/./src/components/theme/themeState.ts","webpack://frontend/./src/enums/routeNamesEnum.ts","webpack://frontend/./src/helpers/viamBackendHelper.ts","webpack://frontend/./src/plugins/cookieConsent.ts","webpack://frontend/./src/components/privacy/viam-privacy-badge.vue?73b0","webpack://frontend/./src/components/privacy/viam-privacy-badge.vue","webpack://frontend/./src/components/privacy/viam-privacy-badge.vue?48e7","webpack://frontend/./src/App.vue?2a5e","webpack://frontend/./src/App.vue","webpack://frontend/./src/App.vue?7ccd","webpack://frontend/./src/components/kartosNodes/KratosCustomComponents/KratosCountryCode/KratosCountryCode.vue?ca87","webpack://frontend/./src/components/kartosNodes/KratosCustomComponents/KratosCountryCode/KratosCountryCode.vue","webpack://frontend/./src/components/kartosNodes/KratosCustomComponents/KratosCountryCode/KratosCountryCode.vue?78af","webpack://frontend/./src/plugins/adobeAnalytics.ts","webpack://frontend/./src/helpers/analyticsHelper.ts","webpack://frontend/./src/directives/clickOutside.js","webpack://frontend/./src/main.ts","webpack://frontend/./src/components/login/LoginStepEnum.ts","webpack://frontend/./src/components/signup/store/signupGroupAdvisor.ts","webpack://frontend/./src/helpers/viewportHelper.ts","webpack://frontend/./src/components/signup/modifySignupFlow.ts","webpack://frontend/./src/components/signup/store/signupActions.ts","webpack://frontend/./src/components/config/configState.ts","webpack://frontend/./src/AppStore.ts","webpack://frontend/./src/enums/kratosNodesEnum.ts","webpack://frontend/webpack/bootstrap","webpack://frontend/webpack/runtime/compat get default export","webpack://frontend/webpack/runtime/define property getters","webpack://frontend/webpack/runtime/ensure chunk","webpack://frontend/webpack/runtime/get javascript chunk filename","webpack://frontend/webpack/runtime/get mini-css chunk filename","webpack://frontend/webpack/runtime/global","webpack://frontend/webpack/runtime/hasOwnProperty shorthand","webpack://frontend/webpack/runtime/make namespace object","webpack://frontend/webpack/runtime/publicPath","webpack://frontend/webpack/runtime/css loading","webpack://frontend/webpack/runtime/jsonp chunk loading","webpack://frontend/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"frontend:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","import axios from \"axios\";\nimport {\n KratosFlowGroupNodeInterface,\n KratosFlowResponseInterface,\n} from \"@/interfaces/kratosFlowResponseInterface\";\nimport { ObjectInterface } from \"@/interfaces/ObjectInterface\";\nimport { KratosFlowsNodeInterface } from \"@/interfaces/kratosFlowsNodeInterface\";\nimport {\n KratosGroupNodeNamesEnum,\n KratosNodeNamesEnum,\n} from \"@/enums/kratosNodesEnum\";\nimport { KratosErrorInfo } from \"@/interfaces/kratosErrorResponse\";\nimport { HtmlAttributeEnums } from \"@/enums/htmlAttributeEnums\";\nimport { twoFAOptions } from \"./themeHelper\";\nimport { il8n } from \"@/plugins/i18n\";\nconst { t } = il8n.global;\n\nlet kratosAxios = axios.create({\n baseURL: \"\",\n withCredentials: true,\n});\nconst headers = {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n};\n\nexport const createKratosAxios = (kratosUrl: string) => {\n kratosAxios = axios.create({\n baseURL: kratosUrl,\n withCredentials: true,\n });\n};\n\nexport const kratosGetVerificationFlow = async (flowID: string) => {\n const url = `/self-service/verification/flow?id=${flowID}`;\n if (!flowID) {\n return initVerificationFlow();\n }\n const response = await kratosAxios.get(url, {\n headers,\n });\n return response.data;\n};\n\nexport const initVerificationFlow = async () => {\n const returnTo = \"/redirect/redirect.html\";\n const url = `self-service/verification/browser?return_to=${returnTo}`;\n const response = await kratosAxios.get(url, {\n headers,\n });\n return response.data;\n};\n\nexport const kratosResendEmailVerification = async (\n action: string,\n formData: ObjectInterface\n) => {\n const res = await kratosAxios.post(action, formData, {\n headers,\n });\n return res.data;\n};\n\nexport const getKratosRecoveryFlow = async (clientId: string) => {\n const returnTo = `${location.origin}/resetPassword?client_id=${clientId}`;\n const url = `/self-service/recovery/browser?return_to=${returnTo}`;\n const response = await kratosAxios.get(url);\n return response.data;\n};\n\nexport const isKratosCsrfNode = (node: KratosFlowsNodeInterface) => {\n return node?.group === \"default\" && node?.attributes.name === \"csrf_token\";\n};\n\nexport const getKratosCsrfFromFlow = (flow: KratosFlowResponseInterface) => {\n return (flow?.ui?.nodes || []).find(\n (node) => node?.attributes?.name === KratosNodeNamesEnum.CSRF_TOKEN\n );\n};\n\nexport const getGroupNodesForNode = (\n flow: KratosFlowResponseInterface,\n name: string\n) => flow?.ui?.groupedNodes?.filter((node) => node.addAfterField === name);\n\nexport const getNodeFromUI = (\n ui: {\n nodes: Array;\n groupedNodes?: KratosFlowGroupNodeInterface[];\n },\n group: KratosGroupNodeNamesEnum,\n attributeName: KratosNodeNamesEnum\n) => getNodesFromUI(ui, group, attributeName)[0];\n\nconst iconFor2FaTypes = {\n none: \"unlock-line\",\n sms: \"message-line\",\n totp: \"google-mono\",\n}\n\nexport const cook2FaTypeNode = (node: KratosFlowsNodeInterface, type: \"sign-up\" | \"edit-profile\") => {\n if (!node) {\n return;\n }\n node.meta.label.text = t(\"signup.twoFactorLabel\");\n node.meta.caption = t(\"signup.twoFactorDescription\");\n node.attributes.type = \"select\";\n node.attributes.values = twoFAOptions(type).map((value: string) => ({\n value,\n label: t(`common.secondFactorOptions.${value}`),\n icon: iconFor2FaTypes[value],\n }));\n node.attributes.value = node.attributes.value ||\n node.attributes.values[0].value;\n}\n\nexport const getNodesFromUI = (\n ui: {\n nodes: Array;\n groupedNodes?: KratosFlowGroupNodeInterface[];\n },\n group: KratosGroupNodeNamesEnum,\n attributeName: KratosNodeNamesEnum\n): KratosFlowsNodeInterface[] => {\n const ret = [];\n const checkIfNodeMatches = (node: KratosFlowsNodeInterface) =>\n node?.attributes?.name === attributeName && node.group === group;\n\n if (ui?.groupedNodes) {\n // Check if group array to find node\n for (const groupNode of ui?.groupedNodes) {\n for (const node of groupNode?.nodes) {\n if (checkIfNodeMatches(node)) {\n ret.push(node);\n }\n }\n }\n }\n\n return ret.concat(ui?.nodes?.filter(checkIfNodeMatches) || []);\n};\n\nexport const getNodeFromFlow = (\n flow: KratosFlowResponseInterface,\n group: KratosGroupNodeNamesEnum,\n attributeName: KratosNodeNamesEnum\n) => {\n return getNodeFromUI(flow?.ui, group, attributeName);\n};\n\nexport const setReadonlyNodes = (flow: KratosFlowResponseInterface) => {\n const readonlyNodes = flow?.transient_payload?.read_only || [];\n readonlyNodes.length &&\n flow?.ui?.nodes?.forEach(\n (node) =>\n (node.attributes.disabled =\n readonlyNodes.indexOf(node?.attributes?.name) !== -1)\n );\n};\n\nexport const isDisabledNode = (node: KratosFlowsNodeInterface) =>\n node?.attributes?.type === HtmlAttributeEnums.READONLY ||\n node?.attributes?.disabled;\n\nexport const kratosSessionDetails = async () => {\n const url = \"/sessions/whoami\";\n const res = await kratosAxios.get(url);\n return res.data;\n};\n\nexport const modifyExistingFlowWithMessages = (\n existingFlow: KratosFlowResponseInterface,\n modifiedFlow: KratosFlowResponseInterface\n) => {\n if (!existingFlow?.ui) return modifiedFlow;\n try {\n const nodalMessages: ObjectInterface = {};\n existingFlow.id = modifiedFlow?.id || existingFlow?.id || \"\";\n existingFlow.ui.messages = modifiedFlow?.ui?.messages || [];\n\n for (const node of modifiedFlow?.ui?.nodes || []) {\n nodalMessages[node?.attributes?.name] = node;\n }\n\n for (const node of existingFlow?.ui?.nodes || []) {\n if (!nodalMessages[node?.attributes?.name]) continue;\n\n if (isKratosCsrfNode(node)) {\n node.attributes.value =\n nodalMessages[node?.attributes?.name].attributes?.value;\n continue;\n }\n\n node.messages =\n nodalMessages[node?.attributes?.name].messages || node.messages;\n }\n\n return existingFlow;\n } catch (e) {\n console.error(e);\n return modifiedFlow;\n }\n};\n\nexport const clearErrorMessagesInFlow = (flow: KratosFlowResponseInterface) => {\n try {\n if (flow.ui) {\n flow.ui.messages = [];\n flow.ui.nodes?.forEach((node) => (node.messages = []));\n flow.ui.groupedNodes?.forEach((groupedNode) =>\n groupedNode.nodes?.forEach((node) => (node.messages = []))\n );\n }\n } catch (e) {\n console.error(e);\n }\n};\n\nexport const getEmailFromFlow = (flow: KratosFlowResponseInterface) => {\n return flow?.identity?.traits?.email as string;\n};\n\nexport const getKratosErrorFromId = async (id?: string) => {\n if (!id) {\n return;\n }\n const url = `/self-service/errors?id=${id}`;\n try {\n const response = await kratosAxios.get(url);\n return response.data;\n } catch (e) {\n console.error(e);\n }\n};\n","import { KratosFlowResponseInterface } from \"@/interfaces/kratosFlowResponseInterface\";\nimport { ref } from \"vue\";\nimport { ContextInterface } from \"@/interfaces/contextInterface\";\nimport { KratosLoginSuccessResponseInterface } from \"@/interfaces/kratosLoginSuccessResponseInterface\";\nimport { LoginStepEnum } from \"@/components/login/LoginStepEnum\";\n\nconst loginStep = ref(LoginStepEnum.LoginStepOne);\nconst loginFlow = ref(null);\nconst returnTo = ref(\"\");\nconst error = ref(\"\");\nconst errorData = ref({});\nconst formRef = ref(null);\nconst context = ref(null);\nconst formData = ref<{ [k: string]: string }>({});\nconst loading = ref(true);\nexport const userInfo = ref(null);\n\nexport const loginState = () => {\n return {\n loginFlow,\n loginStep,\n error,\n formData,\n context,\n formRef,\n loading,\n returnTo,\n errorData,\n };\n};\n","import { signInForbidden } from \"./configHelper\";\nimport { loginURL } from \"@/components/theme/themeState\";\n\nexport const redirectToUrl = (url: string): void => {\n window.location.href = url;\n};\n\nexport const redirectToLoginUI = (): void => {\n !signInForbidden() && redirectToUrl(loginURL.value);\n};\n","import { ErrorEnum } from \"@/enums/errorEnum\";\nimport { OperationIdEnums } from \"@/enums/operationIdEnum\";\nimport { OperationPathEnums } from \"@/enums/operationPath\";\nimport { ConfigResponseInterface } from \"@/interfaces/configResponseInterface\";\nimport axios from \"axios\";\nimport { Ref } from \"vue\";\n\nconst configAxios = axios.create({\n baseURL: location.origin,\n withCredentials: true,\n});\n\nconst headers = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n};\n\nlet config = null;\n\nexport const getConfigFromEndpoint = async () => {\n if (config !== null) {\n return Promise.resolve(config);\n }\n const configUrl = `${OperationPathEnums.GET_SERVER_CONFIG}`;\n try {\n const response = await configAxios.get(configUrl, {\n headers,\n });\n config = response.data;\n config.forbiddenOperations = config.forbiddenOperations || [];\n return config;\n } catch (e) {\n console.error(e);\n }\n};\n\nexport const isForbiddenOperation = (operationId: OperationIdEnums) =>\n // We can safely assume the config object has been fetched when it is called\n config?.forbiddenOperations?.indexOf(operationId) !== -1;\n\nconst someForbiddenOperation = (operationIds: Array) =>\n operationIds.some((operationId) => isForbiddenOperation(operationId));\n\nconst setForbiddenError = (errorHandler?: Ref) => {\n errorHandler && (errorHandler.value = ErrorEnum.FORBIDDEN_OPERATION);\n};\n\nexport const signInForbidden = (errorHandler?: Ref) => {\n const forbidden = someForbiddenOperation([\n OperationIdEnums.GET_LOGIN_UI,\n OperationIdEnums.GET_LOGIN,\n OperationIdEnums.POST_LOGIN,\n OperationIdEnums.GET_LOGIN_FLOW,\n OperationIdEnums.POST_LOGIN_FLOW,\n ]);\n forbidden && setForbiddenError(errorHandler);\n return forbidden;\n};\n\nexport const editProfileForbidden = (errorHandler?: Ref) => {\n const forbidden = someForbiddenOperation([\n OperationIdEnums.GET_EDIT_PROFILE_FLOW,\n OperationIdEnums.SUBMIT_EDIT_PROFILE_FLOW,\n ]);\n forbidden && setForbiddenError(errorHandler);\n return forbidden;\n};\n\nexport const signUpForbidden = (errorHandler?: Ref) => {\n const forbidden = someForbiddenOperation([\n OperationIdEnums.GET_REGISTRATION_FLOW,\n OperationIdEnums.POST_REGISTRATION_FLOW,\n OperationIdEnums.SIGNUP,\n ]);\n forbidden && setForbiddenError(errorHandler);\n return forbidden;\n};\n\nexport const totpEnrollmentForbidden = (errorHandler?: Ref) => {\n const forbidden = someForbiddenOperation([\n OperationIdEnums.PUT_TOTP_REQUEST,\n OperationIdEnums.GET_TOTP_BIDI,\n OperationIdEnums.CHECK_TOTP_VALUE,\n ]);\n forbidden && setForbiddenError(errorHandler);\n return forbidden;\n};\n\nexport const resetPasswordForbidden = (errorHandler?: Ref) => {\n const forbidden = isForbiddenOperation(OperationIdEnums.GET_RESET_PASSWORD);\n forbidden && setForbiddenError(errorHandler);\n return forbidden;\n};\n\nexport const logoutForbidden = (errorHandler?: Ref) => {\n const forbidden = isForbiddenOperation(OperationIdEnums.LOGOUT);\n forbidden && setForbiddenError(errorHandler);\n return forbidden;\n};\n\nexport const twoFaForbidden = (errorHandler?: Ref) => {\n const forbidden = someForbiddenOperation([\n OperationIdEnums.CHECK_PHONE_VERIFICATION,\n OperationIdEnums.REQUEST_PHONE_VERIFICATION,\n ]);\n forbidden && setForbiddenError(errorHandler);\n return forbidden;\n};\n\nexport const isTotpStepShown = async () => {\n const c = await getConfigFromEndpoint();\n const { totpEnabled, totpUsable } = c.userFlags;\n return totpEnabled && !totpUsable;\n}\n\nexport const totpEnrollPending = async () => {\n const c = await getConfigFromEndpoint();\n const { totpEnabled, totpUsable, totpEnrollStarted } = c.userFlags;\n return totpEnabled && !totpUsable && !totpEnrollStarted;\n}\n","export const countriesList = [\n {\n name: \"\",\n code: \"\",\n callingCode: \"\",\n },\n {\n name: \"Afghanistan\",\n code: \"AF\",\n callingCode: \"+93\",\n },\n {\n name: \"Aland Islands\",\n code: \"AX\",\n callingCode: \"+358 18\",\n },\n {\n name: \"Albania\",\n code: \"AL\",\n callingCode: \"+355\",\n },\n {\n name: \"Algeria\",\n code: \"DZ\",\n callingCode: \"+213\",\n },\n {\n name: \"American Samoa\",\n code: \"AS\",\n callingCode: \"+1 684\",\n },\n {\n name: \"Andorra\",\n code: \"AD\",\n callingCode: \"+376\",\n },\n {\n name: \"Angola\",\n code: \"AO\",\n callingCode: \"+244\",\n },\n {\n name: \"Anguilla\",\n code: \"AI\",\n callingCode: \"+1 264\",\n },\n {\n name: \"Antarctica\",\n code: \"AQ\",\n callingCode: \"+672 1\",\n },\n {\n name: \"Antigua and Barbuda\",\n code: \"AG\",\n callingCode: \"+1 268\",\n },\n {\n name: \"Argentina\",\n code: \"AR\",\n callingCode: \"+54\",\n },\n {\n name: \"Armenia\",\n code: \"AM\",\n callingCode: \"+374\",\n },\n {\n name: \"Aruba\",\n code: \"AW\",\n callingCode: \"+297\",\n },\n {\n name: \"Ascension Island\",\n code: \"AC\",\n callingCode: \"+247\",\n },\n {\n name: \"Australia\",\n code: \"AU\",\n callingCode: \"+61\",\n },\n {\n name: \"Austria\",\n code: \"AT\",\n callingCode: \"+43\",\n },\n {\n name: \"Azerbaijan\",\n code: \"AZ\",\n callingCode: \"+994\",\n },\n {\n name: \"Bahamas\",\n code: \"BS\",\n callingCode: \"+1 242\",\n },\n {\n name: \"Bahrain\",\n code: \"BH\",\n callingCode: \"+973\",\n },\n {\n name: \"Bangladesh\",\n code: \"BD\",\n callingCode: \"+880\",\n },\n {\n name: \"Barbados\",\n code: \"BB\",\n callingCode: \"+1 246\",\n },\n {\n name: \"Belarus\",\n code: \"BY\",\n callingCode: \"+375\",\n },\n {\n name: \"Belgium\",\n code: \"BE\",\n callingCode: \"+32\",\n },\n {\n name: \"Belize\",\n code: \"BZ\",\n callingCode: \"+501\",\n },\n {\n name: \"Benin\",\n code: \"BJ\",\n callingCode: \"+229\",\n },\n {\n name: \"Bermuda\",\n code: \"BM\",\n callingCode: \"+1 441\",\n },\n {\n name: \"Bhutan\",\n code: \"BT\",\n callingCode: \"+975\",\n },\n {\n name: \"Bolivia\",\n code: \"BO\",\n callingCode: \"+591\",\n },\n {\n name: \"Bonaire, St. Eustatius and Saba\",\n code: \"BQ\",\n callingCode: \"+599\",\n },\n {\n name: \"Bosnia and Herzegovina\",\n code: \"BA\",\n callingCode: \"+387\",\n },\n {\n name: \"Botswana\",\n code: \"BW\",\n callingCode: \"+267\",\n },\n {\n name: \"Bouvet Island\",\n code: \"BV\",\n callingCode: \"+47\",\n },\n {\n name: \"Brazil\",\n code: \"BR\",\n callingCode: \"+55\",\n },\n {\n name: \"British Indian Ocean Territory\",\n code: \"IO\",\n callingCode: \"+246\",\n },\n {\n name: \"Brunei Darussalam\",\n code: \"BN\",\n callingCode: \"+673\",\n },\n {\n name: \"Bulgaria\",\n code: \"BG\",\n callingCode: \"+359\",\n },\n {\n name: \"Burkina Faso\",\n code: \"BF\",\n callingCode: \"+226\",\n },\n {\n name: \"Burundi\",\n code: \"BI\",\n callingCode: \"+257\",\n },\n {\n name: \"Cambodia\",\n code: \"KH\",\n callingCode: \"+855\",\n },\n {\n name: \"Cameroon\",\n code: \"CM\",\n callingCode: \"+237\",\n },\n {\n name: \"Canada\",\n code: \"CA\",\n callingCode: \"+1\",\n },\n {\n name: \"Cape Verde\",\n code: \"CV\",\n callingCode: \"+238\",\n },\n {\n name: \"Cayman Islands\",\n code: \"KY\",\n callingCode: \"+1 345\",\n },\n {\n name: \"Central African Republic\",\n code: \"CF\",\n callingCode: \"+236\",\n },\n {\n name: \"Chad\",\n code: \"TD\",\n callingCode: \"+235\",\n },\n {\n name: \"Chile\",\n code: \"CL\",\n callingCode: \"+56\",\n },\n {\n name: \"China\",\n code: \"CN\",\n callingCode: \"+86\",\n },\n {\n name: \"Christmas Island\",\n code: \"CX\",\n callingCode: \"+61 89164\",\n },\n {\n name: \"Cocos (Keeling) Islands\",\n code: \"CC\",\n callingCode: \"+61 89162\",\n },\n {\n name: \"Colombia\",\n code: \"CO\",\n callingCode: \"+57\",\n },\n {\n name: \"Comoros\",\n code: \"KM\",\n callingCode: \"+269\",\n },\n {\n name: \"Congo\",\n code: \"CG\",\n callingCode: \"+242\",\n },\n {\n name: \"Congo, The Democratic Republic of the\",\n code: \"CD\",\n callingCode: \"+243\",\n },\n {\n name: \"Cook Islands\",\n code: \"CK\",\n callingCode: \"+682\",\n },\n {\n name: \"Costa Rica\",\n code: \"CR\",\n callingCode: \"+506\",\n },\n {\n name: \"Cote D'Ivoire\",\n code: \"CI\",\n callingCode: \"+225\",\n },\n {\n name: \"Croatia\",\n code: \"HR\",\n callingCode: \"+385\",\n },\n {\n name: \"Cuba\",\n code: \"CU\",\n callingCode: \"+53\",\n },\n {\n name: \"Curacao\",\n code: \"CW\",\n callingCode: \"+599\",\n },\n {\n name: \"Cyprus\",\n code: \"CY\",\n callingCode: \"+357\",\n },\n {\n name: \"Czech Republic\",\n code: \"CZ\",\n callingCode: \"+420\",\n },\n {\n name: \"Denmark\",\n code: \"DK\",\n callingCode: \"+45\",\n },\n {\n name: \"Diego Garcia\",\n code: \"DG\",\n callingCode: \"+246\",\n },\n {\n name: \"Djibouti\",\n code: \"DJ\",\n callingCode: \"+253\",\n },\n {\n name: \"Dominica\",\n code: \"DM\",\n callingCode: \"+1 767\",\n },\n {\n name: \"Dominican Republic\",\n code: \"DO\",\n callingCode: \"+18\",\n },\n {\n name: \"East Timor\",\n code: \"TL\",\n callingCode: \"+670\",\n },\n {\n name: \"Ecuador\",\n code: \"EC\",\n callingCode: \"+593\",\n },\n {\n name: \"Egypt\",\n code: \"EG\",\n callingCode: \"+20\",\n },\n {\n name: \"El Salvador\",\n code: \"SV\",\n callingCode: \"+503\",\n },\n {\n name: \"Equatorial Guinea\",\n code: \"GQ\",\n callingCode: \"+240\",\n },\n {\n name: \"Eritrea\",\n code: \"ER\",\n callingCode: \"+291\",\n },\n {\n name: \"Estonia\",\n code: \"EE\",\n callingCode: \"+372\",\n },\n {\n name: \"Eswatini\",\n code: \"SZ\",\n callingCode: \"+268\",\n },\n {\n name: \"Ethiopia\",\n code: \"ET\",\n callingCode: \"+251\",\n },\n {\n name: \"Falkland Islands\",\n code: \"FK\",\n callingCode: \"+500\",\n },\n {\n name: \"Faroe Islands\",\n code: \"FO\",\n callingCode: \"+298\",\n },\n {\n name: \"Fiji\",\n code: \"FJ\",\n callingCode: \"+679\",\n },\n {\n name: \"Finland\",\n code: \"FI\",\n callingCode: \"+358\",\n },\n {\n name: \"France\",\n code: \"FR\",\n callingCode: \"+33\",\n },\n {\n name: \"French Guiana\",\n code: \"GF\",\n callingCode: \"+594\",\n },\n {\n name: \"French Polynesia\",\n code: \"PF\",\n callingCode: \"+689\",\n },\n {\n name: \"Gabon\",\n code: \"GA\",\n callingCode: \"+241\",\n },\n {\n name: \"Gambia\",\n code: \"GM\",\n callingCode: \"+220\",\n },\n {\n name: \"Georgia\",\n code: \"GE\",\n callingCode: \"+995\",\n },\n {\n name: \"Germany\",\n code: \"DE\",\n callingCode: \"+49\",\n },\n {\n name: \"Ghana\",\n code: \"GH\",\n callingCode: \"+233\",\n },\n {\n name: \"Gibraltar\",\n code: \"GI\",\n callingCode: \"+350\",\n },\n {\n name: \"Greece\",\n code: \"GR\",\n callingCode: \"+30\",\n },\n {\n name: \"Greenland\",\n code: \"GL\",\n callingCode: \"+299\",\n },\n {\n name: \"Grenada\",\n code: \"GD\",\n callingCode: \"+1 473\",\n },\n {\n name: \"Guadeloupe\",\n code: \"GP\",\n callingCode: \"+590\",\n },\n {\n name: \"Guam\",\n code: \"GU\",\n callingCode: \"+1 671\",\n },\n {\n name: \"Guatemala\",\n code: \"GT\",\n callingCode: \"+502\",\n },\n {\n name: \"Guernsey\",\n code: \"GG\",\n callingCode: \"+44\",\n },\n {\n name: \"Guinea\",\n code: \"GN\",\n callingCode: \"+224\",\n },\n {\n name: \"Guinea-Bissau\",\n code: \"GW\",\n callingCode: \"+245\",\n },\n {\n name: \"Guyana\",\n code: \"GY\",\n callingCode: \"+592\",\n },\n {\n name: \"Haiti\",\n code: \"HT\",\n callingCode: \"+509\",\n },\n {\n name: \"Heard Island and McDonald Islands\",\n code: \"HM\",\n callingCode: \"+509\",\n },\n {\n name: \"Honduras\",\n code: \"HN\",\n callingCode: \"+504\",\n },\n {\n name: \"Hong Kong\",\n code: \"HK\",\n callingCode: \"+852\",\n },\n {\n name: \"Hungary\",\n code: \"HU\",\n callingCode: \"+36\",\n },\n {\n name: \"Iceland\",\n code: \"IS\",\n callingCode: \"+354\",\n },\n {\n name: \"India\",\n code: \"IN\",\n callingCode: \"+91\",\n },\n {\n name: \"Indonesia\",\n code: \"ID\",\n callingCode: \"+62\",\n },\n {\n name: \"Iran\",\n code: \"IR\",\n callingCode: \"+98\",\n },\n {\n name: \"Iraq\",\n code: \"IQ\",\n callingCode: \"+964\",\n },\n {\n name: \"Ireland\",\n code: \"IE\",\n callingCode: \"+353\",\n },\n {\n name: \"Isle of Man\",\n code: \"IM\",\n callingCode: \"+44\",\n },\n {\n name: \"Israel\",\n code: \"IL\",\n callingCode: \"+972\",\n },\n {\n name: \"Italy\",\n code: \"IT\",\n callingCode: \"+39\",\n },\n {\n name: \"Jamaica\",\n code: \"JM\",\n callingCode: \"+1 876\",\n },\n {\n name: \"Japan\",\n code: \"JP\",\n callingCode: \"+81\",\n },\n {\n name: \"Jersey\",\n code: \"JE\",\n callingCode: \"+44 1534\",\n },\n {\n name: \"Jordan\",\n code: \"JO\",\n callingCode: \"+962\",\n },\n {\n name: \"Kazakhstan\",\n code: \"KZ\",\n callingCode: \"+7\",\n },\n {\n name: \"Kenya\",\n code: \"KE\",\n callingCode: \"+254\",\n },\n {\n name: \"Kiribati\",\n code: \"KI\",\n callingCode: \"+686\",\n },\n {\n name: \"Kosovo\",\n code: \"XK\",\n callingCode: \"+383\",\n },\n {\n name: \"Kuwait\",\n code: \"KW\",\n callingCode: \"+965\",\n },\n {\n name: \"Kyrgyzstan\",\n code: \"KG\",\n callingCode: \"+996\",\n },\n {\n name: \"Laos\",\n code: \"LA\",\n callingCode: \"+856\",\n },\n {\n name: \"Latvia\",\n code: \"LV\",\n callingCode: \"+371\",\n },\n {\n name: \"Lebanon\",\n code: \"LB\",\n callingCode: \"+961\",\n },\n {\n name: \"Lesotho\",\n code: \"LS\",\n callingCode: \"+266\",\n },\n {\n name: \"Liberia\",\n code: \"LR\",\n callingCode: \"+231\",\n },\n {\n name: \"Libya\",\n code: \"LY\",\n callingCode: \"+218\",\n },\n {\n name: \"Liechtenstein\",\n code: \"LI\",\n callingCode: \"+423\",\n },\n {\n name: \"Lithuania\",\n code: \"LT\",\n callingCode: \"+370\",\n },\n {\n name: \"Luxembourg\",\n code: \"LU\",\n callingCode: \"+352\",\n },\n {\n name: \"Macau\",\n code: \"MO\",\n callingCode: \"+853\",\n },\n {\n name: \"Macedonia\",\n code: \"MK\",\n callingCode: \"+389\",\n },\n {\n name: \"Madagascar\",\n code: \"MG\",\n callingCode: \"+261\",\n },\n {\n name: \"Malawi\",\n code: \"MW\",\n callingCode: \"+265\",\n },\n {\n name: \"Malaysia\",\n code: \"MY\",\n callingCode: \"+60\",\n },\n {\n name: \"Maldives\",\n code: \"MV\",\n callingCode: \"+960\",\n },\n {\n name: \"Mali\",\n code: \"ML\",\n callingCode: \"+223\",\n },\n {\n name: \"Malta\",\n code: \"MT\",\n callingCode: \"+356\",\n },\n {\n name: \"Marshall Islands\",\n code: \"MH\",\n callingCode: \"+692\",\n },\n {\n name: \"Martinique\",\n code: \"MQ\",\n callingCode: \"+596\",\n },\n {\n name: \"Mauritania\",\n code: \"MR\",\n callingCode: \"+222\",\n },\n {\n name: \"Mauritius\",\n code: \"MU\",\n callingCode: \"+230\",\n },\n {\n name: \"Mayotte\",\n code: \"YT\",\n callingCode: \"+262\",\n },\n {\n name: \"Mexico\",\n code: \"MX\",\n callingCode: \"+52\",\n },\n {\n name: \"Micronesia, Federated States of\",\n code: \"FM\",\n callingCode: \"+691\",\n },\n {\n name: \"Moldova\",\n code: \"MD\",\n callingCode: \"+373\",\n },\n {\n name: \"Monaco\",\n code: \"MC\",\n callingCode: \"+377\",\n },\n {\n name: \"Mongolia\",\n code: \"MN\",\n callingCode: \"+976\",\n },\n {\n name: \"Montenegro\",\n code: \"ME\",\n callingCode: \"+382\",\n },\n {\n name: \"Montserrat\",\n code: \"MS\",\n callingCode: \"+1 664\",\n },\n {\n name: \"Morocco\",\n code: \"MA\",\n callingCode: \"+212\",\n },\n {\n name: \"Mozambique\",\n code: \"MZ\",\n callingCode: \"+258\",\n },\n {\n name: \"Myanmar\",\n code: \"MM\",\n callingCode: \"+95\",\n },\n {\n name: \"Namibia\",\n code: \"NA\",\n callingCode: \"+264\",\n },\n {\n name: \"Nauru\",\n code: \"NR\",\n callingCode: \"+674\",\n },\n {\n name: \"Nepal\",\n code: \"NP\",\n callingCode: \"+977\",\n },\n {\n name: \"Netherlands\",\n code: \"NL\",\n callingCode: \"+31\",\n },\n {\n name: \"Netherlands Antilles\",\n code: \"AN\",\n callingCode: \"+599\",\n },\n {\n name: \"New Caledonia\",\n code: \"NC\",\n callingCode: \"+687\",\n },\n {\n name: \"New Zealand\",\n code: \"NZ\",\n callingCode: \"+64\",\n },\n {\n name: \"Nicaragua\",\n code: \"NI\",\n callingCode: \"+505\",\n },\n {\n name: \"Niger\",\n code: \"NE\",\n callingCode: \"+227\",\n },\n {\n name: \"Nigeria\",\n code: \"NG\",\n callingCode: \"+234\",\n },\n {\n name: \"Niue\",\n code: \"NU\",\n callingCode: \"+683\",\n },\n {\n name: \"Norfolk Island\",\n code: \"NF\",\n callingCode: \"+672 3\",\n },\n {\n name: \"Northern Mariana Islands\",\n code: \"MP\",\n callingCode: \"+1 670\",\n },\n {\n name: \"North Korea\",\n code: \"KP\",\n callingCode: \"+850\",\n },\n {\n name: \"Norway\",\n code: \"NO\",\n callingCode: \"+47\",\n },\n {\n name: \"Oman\",\n code: \"OM\",\n callingCode: \"+968\",\n },\n {\n name: \"Pakistan\",\n code: \"PK\",\n callingCode: \"+92\",\n },\n {\n name: \"Palau\",\n code: \"PW\",\n callingCode: \"+680\",\n },\n {\n name: \"Palestine, State of\",\n code: \"PS\",\n callingCode: \"+970\",\n },\n {\n name: \"Panama\",\n code: \"PA\",\n callingCode: \"+507\",\n },\n {\n name: \"Papua New Guinea\",\n code: \"PG\",\n callingCode: \"+675\",\n },\n {\n name: \"Paraguay\",\n code: \"PY\",\n callingCode: \"+595\",\n },\n {\n name: \"Peru\",\n code: \"PE\",\n callingCode: \"+51\",\n },\n {\n name: \"Philippines\",\n code: \"PH\",\n callingCode: \"+63\",\n },\n {\n name: \"Pitcairn\",\n code: \"PN\",\n callingCode: \"+64\",\n },\n {\n name: \"Poland\",\n code: \"PL\",\n callingCode: \"+48\",\n },\n {\n name: \"Portugal\",\n code: \"PT\",\n callingCode: \"+351\",\n },\n {\n name: \"Puerto Rico\",\n code: \"PR\",\n callingCode: \"+1\",\n },\n {\n name: \"Qatar\",\n code: \"QA\",\n callingCode: \"+974\",\n },\n {\n name: \"Reunion\",\n code: \"RE\",\n callingCode: \"+262\",\n },\n {\n name: \"Romania\",\n code: \"RO\",\n callingCode: \"+40\",\n },\n {\n name: \"Russia\",\n code: \"RU\",\n callingCode: \"+7\",\n },\n {\n name: \"Rwanda\",\n code: \"RW\",\n callingCode: \"+250\",\n },\n {\n name: \"Saint Helena\",\n code: \"SH\",\n callingCode: \"+290\",\n },\n {\n name: \"Saint Kitts and Nevis\",\n code: \"KN\",\n callingCode: \"+1 869\",\n },\n {\n name: \"Saint Lucia\",\n code: \"LC\",\n callingCode: \"+1 758\",\n },\n {\n name: \"Saint Pierre and Miquelon\",\n code: \"PM\",\n callingCode: \"+508\",\n },\n {\n name: \"Saint Vincent and the Grenadines\",\n code: \"VC\",\n callingCode: \"+1 784\",\n },\n {\n name: \"Samoa\",\n code: \"WS\",\n callingCode: \"+685\",\n },\n {\n name: \"San Marino\",\n code: \"SM\",\n callingCode: \"+378\",\n },\n {\n name: \"Sao Tome and Principe\",\n code: \"ST\",\n callingCode: \"+239\",\n },\n {\n name: \"Saudi Arabia\",\n code: \"SA\",\n callingCode: \"+966\",\n },\n {\n name: \"Senegal\",\n code: \"SN\",\n callingCode: \"+221\",\n },\n {\n name: \"Serbia\",\n code: \"RS\",\n callingCode: \"+381\",\n },\n {\n name: \"Seychelles\",\n code: \"SC\",\n callingCode: \"+248\",\n },\n {\n name: \"Sierra Leone\",\n code: \"SL\",\n callingCode: \"+232\",\n },\n {\n name: \"Singapore\",\n code: \"SG\",\n callingCode: \"+65\",\n },\n {\n name: \"Sint Maarten (Dutch)\",\n code: \"SX\",\n callingCode: \"+1\",\n },\n {\n name: \"Slovakia\",\n code: \"SK\",\n callingCode: \"+421\",\n },\n {\n name: \"Slovenia\",\n code: \"SI\",\n callingCode: \"+386\",\n },\n {\n name: \"Solomon Islands\",\n code: \"SB\",\n callingCode: \"+677\",\n },\n {\n name: \"Somalia\",\n code: \"SO\",\n callingCode: \"+252\",\n },\n {\n name: \"South Africa\",\n code: \"ZA\",\n callingCode: \"+27\",\n },\n {\n name: \"South Georgia and the South Sandwich Islands\",\n code: \"GS\",\n callingCode: \"+500\",\n },\n {\n name: \"South Korea\",\n code: \"KR\",\n callingCode: \"+82\",\n },\n {\n name: \"South Sudan\",\n code: \"SS\",\n callingCode: \"+211\",\n },\n {\n name: \"Spain\",\n code: \"ES\",\n callingCode: \"+34\",\n },\n {\n name: \"Sri Lanka\",\n code: \"LK\",\n callingCode: \"+94\",\n },\n {\n name: \"Sudan\",\n code: \"SD\",\n callingCode: \"+249\",\n },\n {\n name: \"Suriname\",\n code: \"SR\",\n callingCode: \"+597\",\n },\n {\n name: \"Svalbard\",\n code: \"SJ\",\n callingCode: \"+47\",\n },\n {\n name: \"Sweden\",\n code: \"SE\",\n callingCode: \"+46\",\n },\n {\n name: \"Switzerland\",\n code: \"CH\",\n callingCode: \"+41\",\n },\n {\n name: \"Syria\",\n code: \"SY\",\n callingCode: \"+963\",\n },\n {\n name: \"Taiwan\",\n code: \"TW\",\n callingCode: \"+886\",\n },\n {\n name: \"Tajikistan\",\n code: \"TJ\",\n callingCode: \"+992\",\n },\n {\n name: \"Tanzania\",\n code: \"TZ\",\n callingCode: \"+255\",\n },\n {\n name: \"Thailand\",\n code: \"TH\",\n callingCode: \"+66\",\n },\n {\n name: \"Togo\",\n code: \"TG\",\n callingCode: \"+228\",\n },\n {\n name: \"Tokelau\",\n code: \"TK\",\n callingCode: \"+690\",\n },\n {\n name: \"Tonga\",\n code: \"TO\",\n callingCode: \"+676\",\n },\n {\n name: \"Trinidad and Tobago\",\n code: \"TT\",\n callingCode: \"+1 868\",\n },\n {\n name: \"Tunisia\",\n code: \"TN\",\n callingCode: \"+216\",\n },\n {\n name: \"Turkey\",\n code: \"TR\",\n callingCode: \"+90\",\n },\n {\n name: \"Turkmenistan\",\n code: \"TM\",\n callingCode: \"+993\",\n },\n {\n name: \"Turks and Caicos Islands\",\n code: \"TC\",\n callingCode: \"+1 649\",\n },\n {\n name: \"Tuvalu\",\n code: \"TV\",\n callingCode: \"+688\",\n },\n {\n name: \"Uganda\",\n code: \"UG\",\n callingCode: \"+256\",\n },\n {\n name: \"Ukraine\",\n code: \"UA\",\n callingCode: \"+380\",\n },\n {\n name: \"United Arab Emirates\",\n code: \"AE\",\n callingCode: \"+971\",\n },\n {\n name: \"United Kingdom\",\n code: \"GB\",\n callingCode: \"+44\",\n },\n {\n name: \"United States\",\n code: \"US\",\n callingCode: \"+1\",\n },\n {\n name: \"United States Minor Outlying Islands\",\n code: \"UM\",\n callingCode: \"+1\",\n },\n {\n name: \"Uruguay\",\n code: \"UY\",\n callingCode: \"+598\",\n },\n {\n name: \"Uzbekistan\",\n code: \"UZ\",\n callingCode: \"+998\",\n },\n {\n name: \"Vanuatu\",\n code: \"VU\",\n callingCode: \"+678\",\n },\n {\n name: \"Vatican City State\",\n code: \"VA\",\n callingCode: \"+379\",\n },\n {\n name: \"Venezuela\",\n code: \"VE\",\n callingCode: \"+58\",\n },\n {\n name: \"Vietnam\",\n code: \"VN\",\n callingCode: \"+84\",\n },\n {\n name: \"Virgin Islands, British\",\n code: \"VG\",\n callingCode: \"+1\",\n },\n {\n name: \"Virgin Islands, US\",\n code: \"VI\",\n callingCode: \"+1\",\n },\n {\n name: \"Wallis and Futuna\",\n code: \"WF\",\n callingCode: \"+681\",\n },\n {\n name: \"Western Sahara\",\n code: \"EH\",\n callingCode: \"+212\",\n },\n {\n name: \"Yemen\",\n code: \"YE\",\n callingCode: \"+967\",\n },\n {\n name: \"Zambia\",\n code: \"ZM\",\n callingCode: \"+260\",\n },\n {\n name: \"Zimbabwe\",\n code: \"ZW\",\n callingCode: \"+263\",\n },\n];\n","export enum ThemesEnums {\n VONAGE = \"vonage\",\n TELEKOM = \"telekom\",\n OPTUS = \"optus\",\n KWC = \"kwc\",\n}\n","import { v4 as uuidV4 } from \"uuid\";\n\nexport const createUUIDV4 = () => {\n return uuidV4();\n};\n","import { createRouter, createWebHistory, RouteRecordRaw } from \"vue-router\";\nimport { RouteNamesEnum } from \"@/enums/routeNamesEnum\";\nimport { RoutePathsEnum } from \"@/enums/routePathsEnum\";\nimport { defineAsyncComponent } from \"vue\";\n\nconst routes: Array = [\n {\n path: RoutePathsEnum.SIGNUP,\n name: RouteNamesEnum.SIGNUP,\n component: defineAsyncComponent(() => import(\"../views/sign-up.vue\")),\n },\n {\n path: RoutePathsEnum.LOGIN,\n name: RouteNamesEnum.LOGIN,\n component: defineAsyncComponent(() => import(\"../views/log-in.vue\")),\n },\n {\n path: RoutePathsEnum.TWO_FA,\n name: RouteNamesEnum.TWO_FA,\n component: defineAsyncComponent(() => import(\"../views/two-fa.vue\")),\n meta: {\n type: 'sms',\n },\n },\n {\n path: RoutePathsEnum.TOTP_RECOVERY,\n name: RouteNamesEnum.TOTP_RECOVERY,\n component: defineAsyncComponent(() => import(\"../views/two-fa.vue\")),\n meta: {\n type: 'totp',\n },\n },\n {\n path: RoutePathsEnum.EMAIL_VERIFY,\n name: RouteNamesEnum.EMAIL_VERIFY,\n component: defineAsyncComponent(() => import(\"../views/email-verify.vue\")),\n },\n {\n path: RoutePathsEnum.PASSWORD_CHANGE,\n name: RouteNamesEnum.PASSWORD_CHANGE,\n component: defineAsyncComponent(() => import(\"../views/password-change.vue\")),\n },\n {\n path: RoutePathsEnum.PASSWORD_RESET,\n name: RouteNamesEnum.PASSWORD_RESET,\n component: defineAsyncComponent(() => import(\"../views/password-change.vue\")),\n },\n {\n path: RoutePathsEnum.SETTINGS,\n name: RouteNamesEnum.SETTINGS,\n component: defineAsyncComponent(() => import(\"../views/user-settings.vue\")),\n },\n {\n path: RoutePathsEnum.FORGOT_PASSWORD,\n name: RouteNamesEnum.FORGOT_PASSWORD,\n component: defineAsyncComponent(\n () => import(\"../views/forgot-password.vue\")\n ),\n },\n {\n path: RoutePathsEnum.LOGOUT,\n name: RouteNamesEnum.LOGOUT,\n component: defineAsyncComponent(() => import(\"../views/log-out.vue\")),\n },\n {\n path: RoutePathsEnum.CAPTCHA,\n name: RouteNamesEnum.CAPTCHA,\n component: defineAsyncComponent(() => import(\"../views/captcha-ui.vue\")),\n },\n {\n path: RoutePathsEnum.TOTP_ENROLLMENT,\n name: RouteNamesEnum.TOTP_ENROLLMENT,\n component: defineAsyncComponent(() => import(\"../views/totp-auth.vue\")),\n meta: {\n type: 'enrollment',\n },\n },\n {\n path: RoutePathsEnum.TOTP_CHECK,\n name: RouteNamesEnum.TOTP_CHECK,\n component: defineAsyncComponent(() => import(\"../views/totp-auth.vue\")),\n meta: {\n type: 'check',\n },\n },\n // Errors\n {\n path: RoutePathsEnum.ERROR_400,\n name: RouteNamesEnum.ERROR_400,\n component: defineAsyncComponent(() => import(\"../views/server-error.vue\")),\n meta: {\n page: 400,\n },\n },\n {\n path: RoutePathsEnum.ERROR_401,\n name: RouteNamesEnum.ERROR_401,\n component: defineAsyncComponent(() => import(\"../views/server-error.vue\")),\n meta: {\n page: 401,\n },\n },\n {\n path: RoutePathsEnum.ERROR_412,\n name: RouteNamesEnum.ERROR_412,\n component: defineAsyncComponent(() => import(\"../views/server-error.vue\")),\n meta: {\n page: 412,\n },\n },\n {\n path: RoutePathsEnum.ERROR_403,\n name: RouteNamesEnum.ERROR_403,\n component: defineAsyncComponent(() => import(\"../views/server-error.vue\")),\n meta: {\n page: 403,\n },\n },\n {\n path: RoutePathsEnum.ERROR_404,\n name: RouteNamesEnum.ERROR_404,\n component: defineAsyncComponent(() => import(\"../views/server-error.vue\")),\n meta: {\n page: 404,\n },\n },\n {\n path: RoutePathsEnum.ERROR_409,\n name: RouteNamesEnum.ERROR_409,\n component: defineAsyncComponent(() => import(\"../views/server-error.vue\")),\n meta: {\n page: 409,\n },\n },\n {\n path: RoutePathsEnum.ERROR_5xx,\n name: RouteNamesEnum.ERROR_5xx,\n component: defineAsyncComponent(() => import(\"../views/server-error.vue\")),\n meta: {\n page: 500,\n },\n },\n {\n path: RoutePathsEnum.RESTRICTED_SIGNUP,\n name: RouteNamesEnum.RESTRICTED_SIGNUP,\n component: defineAsyncComponent(() => import(\"../views/server-error.vue\")),\n meta: {\n page: \"restrictedSignup\",\n },\n },\n {\n path: RoutePathsEnum.ERROR_RECOVERY_FLOW,\n name: RouteNamesEnum.ERROR_RECOVERY_FLOW,\n component: defineAsyncComponent(() => import(\"../views/server-error.vue\")),\n meta: {\n page: 429,\n },\n },\n {\n path: RoutePathsEnum.ERROR_WITH_QUERY_PARAM,\n name: RouteNamesEnum.ERROR_WITH_QUERY_PARAM,\n component: defineAsyncComponent(() => import(\"../views/server-error.vue\")),\n },\n {\n path: \"/:pathMatch(.*)*\",\n name: RouteNamesEnum.ERROR_404,\n component: defineAsyncComponent(() => import(\"../views/server-error.vue\")),\n meta: {\n page: 404,\n },\n },\n];\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n});\n\nexport default router;\n","import { il8n } from \"@/plugins/i18n\";\nimport { AxiosResponse } from \"axios\";\nconst { t } = il8n.global;\n\nexport const getStandardErrorFromResponse = (\n response: AxiosResponse\n): string => {\n if (!response) {\n return;\n }\n const { data } = response;\n if (!data) {\n return;\n }\n const { _error } = data;\n if (_error?.cause?.message) {\n return _error?.cause?.message;\n }\n\n const errorTitle =\n _error?.cause?.code || _error?.errorInfo?.code || data?.code;\n\n if (errorTitle && t(`errors.${errorTitle}`) !== errorTitle) {\n return t(`errors.${errorTitle}`);\n }\n};\n","import { OperationPathEnums } from \"./operationPath\";\n\nexport const RoutePathsEnum = {\n SIGNUP: \"/ui/auth/registration\",\n MAIN_LOGIN_URL: OperationPathEnums.GET_LOGIN_UI,\n LOGIN: \"/ui/auth/login\",\n TWO_FA: \"/ui/auth/secondFA\",\n TOTP_RECOVERY: \"/ui/auth/totpRecovery\",\n LOGIN_CONFIRMATION: OperationPathEnums.LOGIN_CONFIRMATION,\n EMAIL_VERIFY: \"/ui/auth/verify\",\n PASSWORD_CHANGE: \"/ui/auth/password-change\",\n PASSWORD_RESET: \"/ui/auth/password-reset\",\n RESTRICTED_SIGNUP: \"/ui/auth/restrictedDomain\",\n FORGOT_PASSWORD: \"/ui/auth/forgot-password\",\n SETTINGS: \"/ui/auth/settings\",\n LOGOUT: \"/ui/auth/logout\",\n CAPTCHA: \"/ui/auth/captcha\",\n TOTP_ENROLLMENT: \"/ui/auth/totp-enroll\",\n TOTP_CHECK: \"/ui/auth/totp-check\",\n // ERRORS\n ERROR_400: \"/error/bad-request\",\n ERROR_401: \"/error/unauthorized\",\n ERROR_412: \"/error/precondition-failed\",\n ERROR_403: \"/error/forbidden\",\n ERROR_404: \"/error/not-found\",\n ERROR_409: \"/error/conflict\",\n ERROR_5xx: \"/error/internal-error\",\n ERROR_RECOVERY_FLOW: \"/static/recovery.html\",\n ERROR_WITH_QUERY_PARAM: \"/oauth2/fallbacks/error\",\n};\n\nconst isAllowed = (list: Array, returnTo: string) =>\n list.find((route: string) => route === returnTo);\n\nexport const isAllowedRedirectFromLogin = (returnTo: string) =>\n isAllowed(\n [\n RoutePathsEnum.SETTINGS,\n RoutePathsEnum.PASSWORD_CHANGE,\n RoutePathsEnum.PASSWORD_RESET,\n ],\n returnTo\n );\n\nexport const isAllowedRedirectFromSettings = (returnTo: string) =>\n isAllowed([RoutePathsEnum.LOGIN_CONFIRMATION], returnTo);\n\nexport const isAllowedRedirectFrom2FA = (returnTo: string) =>\n isAllowed([RoutePathsEnum.SETTINGS], returnTo);\n","export const parseContextFromString = (context: string) => {\n try {\n const parsedContext = JSON.parse(atob(context)) as T;\n return parsedContext;\n } catch (e) {\n console.error(`Error parsing the context: ${context}`, e);\n }\n};\n","// I would swear I have written this already several times. Anyway...\n// setIn sets a key on an object, using the normal dot nomenclature. It modifies Obj. So if a is:\n// a = { b: { c: 1} };\n// then\n// setIn(a, 'key', 1) => a = {key: 1, b: { c: 1}}\n// setIn(a, 'b.d', 2) => a = {key: 1, b: { c: 1, d: 2}}\nimport { ObjectInterface } from \"@/interfaces/ObjectInterface\";\n\nexport const kratosNameToObject = (formData: ObjectInterface) => {\n const result = {};\n for (const key in formData) {\n _kratosNameToObject(result, key.split(\".\"), formData[key]);\n }\n return result;\n};\n\nconst _kratosNameToObject = (\n obj: ObjectInterface,\n parts: string[],\n value: any\n) => {\n if (parts.length === 1) {\n obj[parts[0]] = value;\n return;\n }\n obj[parts[0]] = obj[parts[0]] || {};\n _kratosNameToObject(obj[parts[0]], parts.splice(1), value);\n};\n","export enum OperationPathEnums {\n LOGIN_CONFIRMATION = \"/loginConfirmation\",\n GET_SERVER_CONFIG = \"/serverConfig\",\n GET_REGISTRATION = \"/registration\",\n GET_LOGIN_UI = \"/login-ui\",\n GET_LOGIN_FLOW = \"/loginFlow/{email}\",\n GET_IDP_INITIATED_FLOW = \"/idpInitiatedFlow\",\n GET_REGISTRATION_FLOW = \"/registrationFlow\",\n GET_PASSWORD_CHANGE_FLOW = \"/passwordChange\",\n GET_EDIT_PROFILE_FLOW = \"/editProfile\",\n PHONE_VERIFICATION = \"/phoneVerification\",\n PUT_TOTP_REQUEST = \"/totp/enroll\",\n GET_TOTP_BIDI = \"/totp/enroll/bidi\",\n CHECK_TOTP_ENROLL_VALUE = \"/totp/enroll/check\",\n CHECK_TOTP_SIGN_IN_VALUE = \"/totp/check\",\n RECOVERY_TOTP = \"/totp/enroll/recovery\",\n}\n","const VIAM_PN_STORE = \"_viam_phone_number_store\";\n\nconst getData = () => {\n if (VIAM_PN_STORE in sessionStorage) {\n return JSON.parse(sessionStorage[VIAM_PN_STORE]);\n } else {\n const data = {};\n setData(data);\n return data;\n }\n};\n\nconst setData = (data: any) => {\n sessionStorage[VIAM_PN_STORE] = JSON.stringify(data);\n};\n\nexport const setNumberSelected = (selected: string, list: Array) => {\n const data = getData();\n data[list.toString()] = selected;\n setData(data);\n};\n\nexport const getNumberSelected = (list: Array) => {\n const data = getData();\n return data[list.toString()];\n};\n","import { countriesList } from \"@/components/kartosNodes/KratosCustomComponents/KratosCountryCode/CountriesMap\";\nimport { HtmlAttributeEnums } from \"@/enums/htmlAttributeEnums\";\nimport {\n KratosGroupNodeNamesEnum,\n KratosNodeNamesEnum,\n} from \"@/enums/kratosNodesEnum\";\nimport { getNodeFromFlow } from \"@/helpers/kratosHelper\";\nimport { FormattedPhoneNumberInterface } from \"@/interfaces/FormattedPhoneNumberInterface\";\nimport { KratosFlowResponseInterface } from \"@/interfaces/kratosFlowResponseInterface\";\nimport { ObjectInterface } from \"@/interfaces/ObjectInterface\";\nimport {\n CountryCode,\n parsePhoneNumber as parsePhone,\n} from \"libphonenumber-js/min\";\nimport { Ref, watch } from \"vue\";\nimport { getNumberSelected, setNumberSelected } from \"./phoneNumberStore\";\n\nexport const disambiguateNumber = async (formData: any, state: any) => {\n const country = formData[KratosNodeNamesEnum.PHONE_COUNTRY];\n const phoneNumberTypedByUser = formData[KratosNodeNamesEnum.PHONE_NUMBER];\n const parsed = parsePhoneNumber(phoneNumberTypedByUser, country);\n const { number, countryCallingCode } = parsed;\n if (number.startsWith(`+${countryCallingCode}${countryCallingCode}`)) {\n const numbers = [number, number.replaceAll(`+${countryCallingCode}`, '+')];\n const selectedNumberCached = getNumberSelected(numbers);\n if (selectedNumberCached) {\n return Promise.resolve(parsePhoneNumber(selectedNumberCached, country));\n } else {\n // We are going to reset the coming selection of the user and set the options.\n // The modal is shown setting the ambiguous numbers\n state.selectedNumber.value = '';\n state.ambiguousNumbers.value = numbers;\n return new Promise(resolve => {\n // This handler is called when user selects a number or close the modal (null value)\n const unwatch = watch(state.selectedNumber, (newValue) => {\n unwatch();\n if (newValue) {\n // User selects a number, it is stored in the session and returned\n setNumberSelected(newValue, numbers);\n resolve(parsePhoneNumber(newValue, country));\n }\n });\n });\n }\n }\n // If the number is not ambiguos it returns the same\n return Promise.resolve(parsed);\n}\n\nconst parsePhoneNumber = (phoneNumber: string, countryCode: CountryCode) => {\n try {\n return parsePhone(\n phoneNumber,\n countryCode\n ) as FormattedPhoneNumberInterface;\n } catch (e) {\n // We do not need to log anything here while user is typing\n }\n};\n\nexport const updatePhoneCountry = (\n flow: KratosFlowResponseInterface,\n phoneCountry: string,\n formData: Ref<{ [p: string]: string | boolean }>,\n disabled = true\n) => {\n const phoneCountryNode = getNodeFromFlow(\n flow,\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.PHONE_COUNTRY\n );\n\n if (phoneCountryNode) {\n try {\n formData.value[KratosNodeNamesEnum.PHONE_COUNTRY] = phoneCountry;\n phoneCountryNode.attributes.type = disabled\n ? HtmlAttributeEnums.READONLY\n : \"input\";\n } catch (e) {\n console.log(e);\n }\n }\n};\n\nexport const checkAndParsePhoneNumber = (\n flow: KratosFlowResponseInterface, // The Flow - required to update the country code and make it readonly\n phoneNumber: string, // Phone number of the user to parse\n countryCode: CountryCode, // Country code in case the phone number doesn't include Country code\n formData: Ref<{ [p: string]: string | boolean }> // Form data to update the phone country\n) => {\n const parsedPhoneNumber = parsePhoneNumber(phoneNumber, countryCode);\n if (parsedPhoneNumber?.isValid()) {\n if (phoneNumber.startsWith(\"+\")) {\n updatePhoneCountry(flow, parsedPhoneNumber.country, formData);\n return parsedPhoneNumber;\n }\n }\n updatePhoneCountry(\n flow,\n formData.value[KratosNodeNamesEnum.PHONE_COUNTRY] as string,\n formData,\n false\n );\n return parsedPhoneNumber;\n};\n\nexport const updateParsedPhoneNumber = (\n formData: Ref>,\n parsedPhone: FormattedPhoneNumberInterface\n) => {\n if (!parsedPhone) {\n return;\n }\n formData.value[KratosNodeNamesEnum.PHONE_NUMBER] = parsedPhone.nationalNumber;\n formData.value[KratosNodeNamesEnum.PHONE_COUNTRY] =\n parsedPhone.country || formData.value[KratosNodeNamesEnum.PHONE_COUNTRY];\n};\n\nexport const sanitizePhoneNumber = (number: string) => {\n return number && number.replace(\"+\", \"\");\n};\n\nexport const precookPhoneNumberUI = (\n flow: Ref,\n formData: Ref>,\n parsedPhone: Ref,\n name: string,\n value: string\n) => {\n if (name === KratosNodeNamesEnum.PHONE_NUMBER) {\n parsedPhone.value = checkAndParsePhoneNumber(\n flow.value,\n value,\n formData.value[KratosNodeNamesEnum.PHONE_COUNTRY] as CountryCode,\n formData\n );\n } else if (\n name === KratosNodeNamesEnum.PHONE_COUNTRY &&\n formData.value[KratosNodeNamesEnum.PHONE_NUMBER]\n ) {\n // This code removes the calling code from our telephone number in the UI, just showing the\n // national number. The first step is to find the calling code by country code (e.g. ES -> +34)\n let phone = formData.value[KratosNodeNamesEnum.PHONE_NUMBER] as string;\n if (formData.value[KratosNodeNamesEnum.PHONE_COUNTRY]) {\n const code = countriesList.find(\n (country) =>\n country.code === formData.value[KratosNodeNamesEnum.PHONE_COUNTRY]\n );\n const { callingCode } = code;\n if (phone.indexOf(callingCode) === 0) {\n // The phone starts with calling code (e.g. +34)\n phone = formData.value[KratosNodeNamesEnum.PHONE_NUMBER] =\n phone.replace(callingCode, \"\");\n } else if (phone.indexOf(sanitizePhoneNumber(callingCode)) === 0) {\n // The phone starts with calling code without \"+\"\" symbol (e.g. 34)\n phone = formData.value[KratosNodeNamesEnum.PHONE_NUMBER] =\n phone.replace(sanitizePhoneNumber(callingCode), \"\");\n }\n }\n // We have a national number in this point\n parsedPhone.value = checkAndParsePhoneNumber(\n flow.value,\n phone,\n value as CountryCode,\n formData\n );\n }\n};\n","import { appState } from \"@/AppStore\";\nimport { captchaConfig } from \"@/components/config/configState\";\nimport { OperationIdEnums } from \"@/enums/operationIdEnum\";\nimport { app } from \"@/main\";\nimport { AxiosInstance } from \"axios\";\nimport { VueReCaptcha } from \"vue-recaptcha-v3\";\nimport { isRunningSmokeTests } from \"./smokeHelper\";\n\nexport const SHOW_CAPTCHA_UI = \"viam:captcha:show\";\nexport const HIDE_CAPTCHA_UI = \"viam:captcha:hide\";\n\nconst COOKIE_EXPIRES_IN = 1000 * 60; // milliseconds * seconds (1 minute);\n\nconst isEnabled = () => {\n const { enabled } = captchaConfig.value;\n return enabled && !isRunningSmokeTests();\n};\n\nexport const getRecaptchaToken = async (\n opId: OperationIdEnums\n): Promise => {\n if (!isEnabled()) {\n return Promise.resolve(\"\");\n }\n await app.config.globalProperties.$recaptchaLoaded();\n const token = await app.config.globalProperties.$recaptcha(opId);\n return token;\n};\n\nexport const setupRecaptcha = () => {\n if (isEnabled()) {\n const { siteKey } = captchaConfig.value;\n app.use(VueReCaptcha, {\n siteKey,\n loaderOptions: {\n useRecaptchaNet: true,\n },\n });\n }\n};\n\nexport const isRecaptchaResponse = (response: any) => \"retry\" in response;\n\nexport const hasRetryOperation = (response: any) =>\n isRecaptchaResponse(response) && response.retry;\n\nexport const isSuspiciousUserError = (response: any) =>\n response &&\n response.cause &&\n response.cause.message &&\n response.cause.message.indexOf(\"cannot verify captcha\") !== -1;\n\nconst setCookie = (cookie: { name: string; value: string }) => {\n const date = new Date();\n date.setTime(date.getTime() + COOKIE_EXPIRES_IN);\n document.cookie = `${cookie.name}=${\n cookie.value\n }; expires=${date.toUTCString()}; SameSite=Lax; Secure; path=/`;\n};\n\nconst checkSuspiciousUser = (response: any) => {\n if (response.status !== 401 || !isSuspiciousUserError(response.data)) {\n return response;\n }\n return new Promise((resolve: (value: unknown) => void) => {\n const { xTraceId } = appState();\n xTraceId.value = response.headers[\"x-traceid\"];\n const { wafIntegrationEnabled } = captchaConfig.value;\n if (wafIntegrationEnabled) {\n window.addEventListener(\"message\", function onMessage(event: any) {\n if (event.origin !== location.origin) {\n return;\n }\n const data = event.data?.data;\n if (data?.action === HIDE_CAPTCHA_UI) {\n window.removeEventListener(\"message\", onMessage);\n setCookie(data.cookie);\n resolve({ retry: true });\n }\n });\n window.postMessage(\n {\n data: {\n action: SHOW_CAPTCHA_UI,\n },\n },\n location.origin\n );\n } else {\n resolve(response);\n }\n });\n};\n\nexport const interceptRecaptchaIssue = (instance: AxiosInstance) => {\n instance.interceptors.response.use((response) =>\n checkSuspiciousUser(response)\n );\n return instance;\n};\n","import { KratosFlowGroupNodeInterface } from \"@/interfaces/kratosFlowResponseInterface\";\nimport { KratosFlowGroupAdvisorInterface } from \"@/interfaces/KratosFlowGroupAdvisorInterface\";\nimport { KratosFlowsNodeInterface } from \"@/interfaces/kratosFlowsNodeInterface\";\n\nexport const addNodeToGroup = (\n groupNodes: KratosFlowGroupNodeInterface[],\n groupAdvisor: KratosFlowGroupAdvisorInterface,\n node: KratosFlowsNodeInterface\n) => {\n if (!groupAdvisor) {\n return false;\n }\n\n groupNodes[groupAdvisor.kratosGroupFlowIndex] = groupNodes[\n groupAdvisor.kratosGroupFlowIndex\n ] || {\n nodes: [],\n addAfterField: groupAdvisor.displayAfter,\n card: !!groupAdvisor.card,\n text: groupAdvisor.text || \"\",\n title: groupAdvisor.title,\n hidden: node?.attributes?.type === \"hidden\",\n };\n groupNodes[groupAdvisor.kratosGroupFlowIndex].nodes[\n groupAdvisor.kratosGroupNodeIndex\n ] = node;\n return true;\n};\n","import { ContextInterface } from \"@/interfaces/contextInterface\";\nimport { FormattedPhoneNumberInterface } from \"@/interfaces/FormattedPhoneNumberInterface\";\nimport { KratosFlowResponseInterface } from \"@/interfaces/kratosFlowResponseInterface\";\nimport { ObjectInterface } from \"@/interfaces/ObjectInterface\";\nimport { ref } from \"vue\";\nimport { il8n } from \"../../../plugins/i18n\";\nconst { t } = il8n.global;\n\nconst signupFlow = ref(null);\nconst signupError = ref(\"\");\nconst formData = ref>({});\nconst signUpContext = ref();\n// Determine if the signup/registration is a continuation. This happens when oidc provider doesn't provide all the details required\nconst continueRegistration = ref(false);\nconst parsedPhone = ref(null);\nconst loading = ref(true);\nconst ambiguousNumbers = ref>([]);\nconst selectedNumber = ref('');\n\nexport const signupState = () => {\n return {\n signupFlow,\n signupError,\n formData,\n signUpContext,\n continueRegistration,\n loading,\n parsedPhone,\n ambiguousNumbers,\n selectedNumber,\n };\n};\n\nexport const dialogData = () => ({\n icon: \"info-line\",\n title: t(\"signup.confirmInStep1.title\"),\n message: t(\"signup.confirmInStep1.message\"),\n cancel: {\n text: t(\"signup.confirmInStep1.cancel\"),\n layout: \"outlined\",\n },\n ok: {\n text: t(\"signup.confirmInStep1.ok\"),\n connotation: \"cta\",\n icon: \"thumbs-up-line\",\n },\n});\n","export enum HtmlAttributeEnums {\n READONLY = \"readonly\",\n}\n","import SMOKE_TESTS_CONF from \"../smoke-tests-conf.json\";\n\nexport const isRunningSmokeTests = () => {\n return window.navigator.userAgent === SMOKE_TESTS_CONF.userAgent;\n};\n","import { KratosNodeNamesEnum } from \"@/enums/kratosNodesEnum\";\nimport { KratosFlowsNodeInterface } from \"@/interfaces/kratosFlowsNodeInterface\";\nimport { il8n } from \"@/plugins/i18n\";\nconst { t } = il8n.global;\n\nexport const deepCopyNode = (node: KratosFlowsNodeInterface) => {\n return JSON.parse(JSON.stringify(node)) as KratosFlowsNodeInterface;\n};\n\nexport const addConfirmPassword = (node: KratosFlowsNodeInterface) => {\n // Hack to deep clone the object. This can be changed with external packages.\n // There is no built in JS way to do this.\n const confirmPasswordNode = deepCopyNode(node);\n confirmPasswordNode.attributes.name = KratosNodeNamesEnum.CONFIRM_PASSWORD;\n if (confirmPasswordNode?.meta?.label?.id) {\n confirmPasswordNode.meta.label.id = parseInt(\n `${confirmPasswordNode.meta.label.id}1`,\n 10\n );\n }\n if (confirmPasswordNode?.meta?.label?.text) {\n confirmPasswordNode.meta.label.text = t(\"signup.confirmPassword\");\n }\n return [node, confirmPasswordNode];\n};\n","export enum OperationIdEnums {\n POST_USER = \"postUser\",\n GET_INVITE = \"getInvite\",\n GET_LOGIN = \"getLogin\",\n POST_LOGIN = \"postLogin\",\n LOGIN_CONFIRMATION = \"loginConfirmation\",\n GET_SERVER_CONFIG = \"getServerConfig\",\n GET_REGISTRATION = \"getRegistration\",\n GET_LOGIN_UI = \"getLoginUI\",\n MAIL_VERIFY = \"mailVerify\",\n GET_VERIFY = \"getVerify\",\n GET_LOGIN_FLOW = \"getLoginFlow\",\n POST_LOGIN_FLOW = \"postLoginFlow\",\n GET_IDP_INITIATED_FLOW = \"getIdpInitiatedFlow\",\n GET_REGISTRATION_FLOW = \"getRegistrationFlow\",\n POST_REGISTRATION_FLOW = \"postRegistrationFlow\",\n GET_PASSWORD_CHANGE_FLOW = \"getPasswordChangeFlow\",\n GET_RESET_PASSWORD = \"getResetPassword\",\n GET_EDIT_PROFILE_FLOW = \"getEditProfileFlow\",\n SUBMIT_EDIT_PROFILE_FLOW = \"submitEditProfileFlow\",\n CONSENT = \"consent\",\n POST_CONSENT = \"postConsent\",\n LOGOUT = \"logout\",\n SIGNUP = \"signup\",\n REQUEST_PHONE_VERIFICATION = \"requestPhoneVerification\",\n CHECK_PHONE_VERIFICATION = \"checkPhoneVerification\",\n GET_TOTP_BIDI = \"getTOTPBidi\",\n PUT_TOTP_REQUEST = \"putTOTPRequest\",\n CHECK_TOTP_VALUE = \"checkTOTPValue\",\n}\n","const iconProviders = {\n google: \"google-color\",\n vonage: \"vonage-solid\",\n facebook: \"facebook-solid\",\n drupal: \"drupal-color\",\n github: \"github-color\",\n default: \"share-2-line\",\n};\n\nexport const getIconProvider = (provider: string): string => {\n let icon = iconProviders[\"default\"];\n\n if (provider) {\n icon = iconProviders[provider.toLocaleLowerCase()] || icon;\n }\n\n return icon;\n};\n","export enum MessageFromServerEnums {\n INVALID_CREDENTIALS = \"The provided credentials are invalid,\",\n SESSION_DETECTED = \"A valid session was detected and thus login is not possible\",\n}\n","import { parseContextFromString } from \"@/helpers/contextHelper\";\nimport { ContextInterface } from \"@/interfaces/contextInterface\";\nimport {\n clearErrorMessagesInFlow,\n getNodeFromUI,\n getNodesFromUI,\n modifyExistingFlowWithMessages,\n} from \"@/helpers/kratosHelper\";\nimport { AxiosResponse, Method } from \"axios\";\nimport { KratosLoginSuccessResponseInterface } from \"@/interfaces/kratosLoginSuccessResponseInterface\";\nimport {\n KratosFlowMessagesInterface,\n KratosFlowResponseInterface,\n} from \"@/interfaces/kratosFlowResponseInterface\";\nimport { OidcRedirectInterface } from \"@/interfaces/OidcRedirectInterface\";\nimport { loginState, userInfo } from \"@/components/login/store/loginState\";\nimport {\n idpInitiatedFlow,\n getLoginFlowForUser,\n isUnauthorizedError,\n attemptViamLogin,\n} from \"@/helpers/viamBackendHelper\";\nimport { LoginStepEnum } from \"@/components/login/LoginStepEnum\";\nimport { KratosFlowsNodeInterface } from \"@/interfaces/kratosFlowsNodeInterface\";\nimport { RoutePathsEnum } from \"@/enums/routePathsEnum\";\nimport { getStandardErrorFromResponse } from \"@/helpers/errorHelper\";\nimport {\n KratosGroupNodeNamesEnum,\n KratosNodeNamesEnum,\n} from \"@/enums/kratosNodesEnum\";\nimport { il8n } from \"@/plugins/i18n\";\nimport { getIconProvider } from \"@/helpers/iconHelper\";\nimport { isSuspiciousUserError } from \"@/helpers/recaptchaHelper\";\nimport { MessageFromServerEnums } from \"@/enums/messageFromServerEnum\";\nimport { signInForbidden } from \"@/helpers/configHelper\";\nimport { redirectToUrl } from \"@/helpers/redirectHelper\";\nconst { t } = il8n.global;\n\nconst state = loginState();\n\nexport const parseContext = (ctx: string) => {\n const parsedContext = parseContextFromString(ctx);\n state.context.value = parsedContext;\n return parsedContext;\n};\n\nexport const getIdpInitiatedFlow = async () => {\n const returnTo = `${location.origin}/redirect/redirect.html?login_challenge=${state.context.value.hydraFlow}`;\n const flow = await idpInitiatedFlow(returnTo);\n assignFlowToState(flow);\n};\n\nexport const redirectToLoginConfirmation = (context?) => {\n location.href = `${location.origin}${RoutePathsEnum.LOGIN_CONFIRMATION}${\n context ? \"?login_challenge=\" + context : \"\"\n }`;\n};\n\nexport const clearErrorMessages = () => {\n clearErrorMessagesInFlow(state.loginFlow.value);\n state.error.value = \"\";\n};\n\nconst showLoading = () => (state.loading.value = true);\n\nconst hideLoading = () => (state.loading.value = false);\n\nfunction assignFlowToState(\n flow: KratosFlowResponseInterface\n): KratosFlowResponseInterface {\n if (flow === null) {\n state.error.value = \"login.error.loginFlowError\";\n return;\n }\n const idNode = getNodeFromUI(\n flow.ui,\n KratosGroupNodeNamesEnum.DEFAULT,\n KratosNodeNamesEnum.PASSWORD_IDENTIFIER\n );\n if (idNode) {\n idNode.meta.label.text = t(\"common.email\");\n idNode.meta.autocomplete = \"username\";\n }\n const passNode = getNodeFromUI(\n flow.ui,\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.PASSWORD\n );\n if (passNode) {\n passNode.meta.label.text = t(\"common.password\");\n passNode.meta.autocomplete = \"current-password\";\n }\n const methodNode = getNodeFromUI(\n flow.ui,\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.METHOD\n );\n methodNode && (methodNode.meta.label.text = t(\"login.method\"));\n getNodesFromUI(\n flow.ui,\n KratosGroupNodeNamesEnum.OIDC,\n KratosNodeNamesEnum.PROVIDER\n ).forEach((providerNode) => {\n const name = providerNode.attributes.value;\n providerNode.meta.label.text = t(\"login.provider\", { name });\n providerNode.meta.icon = getIconProvider(name);\n });\n state.loginFlow.value = flow;\n return flow;\n}\n\nexport const attemptLogin = async () => {\n if (signInForbidden(state.error)) {\n return;\n }\n try {\n showLoading();\n clearErrorMessages(); // Clear error messages so that errors don't overlap when kratos throws a new error\n const method = state.loginFlow.value?.ui?.method as Method;\n const action = state.loginFlow.value?.ui?.action;\n const response = await attemptViamLogin(\n action,\n method,\n state.formData.value\n );\n\n if (response.status === 200) {\n userInfo.value = response.data as KratosLoginSuccessResponseInterface;\n\n if (state.returnTo.value) {\n redirectToUrl(state.returnTo.value);\n } else {\n redirectToLoginConfirmation(state?.context?.value?.hydraFlow);\n }\n } else {\n let uiError = \"errors.genericError\";\n if (response.status === 503) {\n uiError = \"login.error.triesLimitExceeded\";\n } else if (\n response.status === 401 &&\n isSuspiciousUserError(response.data)\n ) {\n uiError = \"errors.suspiciousUserError\";\n } else if (\n response.status === 403 &&\n response.data?.error?.id === \"security_csrf_violation\"\n ) {\n uiError = \"errors.securityCsrfViolation\";\n }\n state.error.value = uiError;\n hideLoading();\n }\n } catch (e) {\n if ((e as any)?.message === \"Network Error\") {\n state.error.value = \"login.error.triesLimitExceeded\";\n } else {\n const response = (e as any)?.response\n ?.data as KratosFlowResponseInterface;\n checkSession(response);\n if (response?.id && response?.ui) {\n assignFlowToState(\n modifyExistingFlowWithMessages(state.loginFlow.value, response)\n );\n }\n cookErrorMessages(state.loginFlow.value);\n }\n hideLoading();\n }\n};\n\nconst checkSession = (flow: KratosFlowResponseInterface) => {\n const isValidSession = flow?.ui?.messages?.find(\n (message: KratosFlowMessagesInterface) =>\n message.text.indexOf(MessageFromServerEnums.SESSION_DETECTED) !== -1\n );\n isValidSession && redirectToLoginConfirmation();\n};\n\nconst cookErrorMessage = (\n flow: KratosFlowResponseInterface,\n textFromServer: string,\n newMsgCode: string\n) => {\n const found = flow.ui.messages.find(\n (message: KratosFlowMessagesInterface) =>\n message.text.indexOf(textFromServer) !== -1\n );\n found && (found.text = t(newMsgCode));\n};\n\nconst cookErrorMessages = (flow: KratosFlowResponseInterface) => {\n const messages = [\n {\n old: MessageFromServerEnums.INVALID_CREDENTIALS,\n new: \"login.error.invalidCredentials\",\n },\n {\n old: MessageFromServerEnums.SESSION_DETECTED,\n new: \"login.error.sessionDetected\",\n },\n ];\n messages.forEach((message: any) =>\n cookErrorMessage(flow, message.old, message.new)\n );\n};\n\nexport const autoLoginOnForceIdp = async (forceIdp: string) => {\n return attemptOidcLoginFlow(forceIdp);\n};\n\nexport const attemptOidcLoginFlow = async (oidcProvider: string) => {\n if (signInForbidden(state.error)) {\n return;\n }\n try {\n const formData = {};\n // This is not entirely correct. We should pass everything that comes on nodes as key: value\n if (\n state.loginFlow.value?.ui?.nodes[0].group ===\n KratosGroupNodeNamesEnum.SAML\n ) {\n formData[KratosNodeNamesEnum.SAML_PROVIDER] = oidcProvider;\n } else {\n formData[KratosNodeNamesEnum.PROVIDER] = oidcProvider;\n }\n await attemptViamLogin(\n state.loginFlow.value?.ui?.action,\n state.loginFlow.value?.ui?.method as Method,\n formData\n );\n } catch (e) {\n const response = (e as any)?.response as AxiosResponse;\n const redirectTo = (response?.data as OidcRedirectInterface)\n ?.redirect_browser_to;\n if (redirectTo) {\n location.href = redirectTo;\n }\n }\n};\n\nconst onLoginStepOneError = async (errorStr: string) => {\n state.error.value = errorStr;\n hideLoading();\n return Promise.reject();\n};\n\nexport const loginStepOne = async (email: string, token: string) => {\n if (signInForbidden(state.error)) {\n return;\n }\n showLoading();\n state.error.value = \"\";\n if (!email) {\n return onLoginStepOneError(\"login.error.emptyEmail\");\n }\n try {\n const response = (await getLoginFlowForUser(\n email,\n state?.context?.value?.hydraFlow,\n token\n )) as any;\n if (isSuspiciousUserError(response)) {\n return onLoginStepOneError(\"errors.suspiciousUserError\");\n } else if (isUnauthorizedError(response)) {\n return onLoginStepOneError(\"errors.operationCannotBePerformed\");\n } else {\n const value = assignFlowToState(processLoginFlow(response, email));\n state.loginStep.value = LoginStepEnum.LoginStepTwo;\n value && hideLoading(); // No value means redirecting then we keep the spinner...\n return Promise.resolve();\n }\n } catch (e) {\n console.error(e);\n const response = (e as any).response as AxiosResponse;\n return onLoginStepOneError(\n getStandardErrorFromResponse(response) || \"login.error.loginStepOneError\"\n );\n }\n};\n\nconst hasSingleOIDCNode = (nodes: KratosFlowsNodeInterface[]) => {\n if (!nodes) {\n return;\n }\n\n if (nodes.length === 2) {\n for (const node of nodes) {\n if (\n node.group === KratosGroupNodeNamesEnum.OIDC ||\n node.group === KratosGroupNodeNamesEnum.SAML\n ) {\n return true;\n }\n }\n }\n\n return false;\n};\n\nconst redirectToProvider = (loginFlow: KratosFlowResponseInterface) => {\n const action = loginFlow?.ui?.action;\n const method = loginFlow?.ui?.method;\n if (!(action && method)) {\n state.error.value = \"login.error.redirectToOIDCError\";\n return;\n }\n const form = document.createElement(\"form\");\n document.body.appendChild(form);\n form.method = method;\n for (const node of loginFlow?.ui?.nodes) {\n const input = document.createElement(`input`);\n input.setAttribute(\"name\", node?.attributes?.name);\n input.setAttribute(\"type\", \"hidden\");\n input.setAttribute(\"value\", node?.attributes?.value);\n form.appendChild(input);\n }\n form.action = action;\n form.submit();\n};\n\n/*\n * This method returns a kratos flow response or a boolean.\n * In this last case, if the value is false, means that login is\n * redirected to a provider otherwise means that there are no nodes\n * and the request has not been processed.\n */\nconst processLoginFlow = (\n loginFlow: KratosFlowResponseInterface,\n email: string\n): any => {\n const nodes = loginFlow?.ui?.nodes;\n if (!nodes) {\n return true;\n }\n if (hasSingleOIDCNode(nodes)) {\n state.loading.value = true;\n redirectToProvider(loginFlow);\n return false;\n }\n\n for (const node of nodes) {\n if (node?.meta?.label?.text === \"ID\") {\n try {\n node.attributes.value = email;\n node.attributes.disabled = true;\n } catch (e) {\n console.error(e);\n }\n }\n\n if (node?.attributes?.name === \"password\") {\n node.focus = true;\n }\n }\n return loginFlow;\n};\n","export enum ErrorEnum {\n MANDATE_PHONE = \"signup.errors.mandatePhone\",\n EMPTY_PASSWORD = \"signup.errors.emptyPassword\",\n EMPTY_EMAIL = \"signup.errors.emptyEmail\",\n MISMATCH_PASSWORDS = \"signup.errors.passwordMismatch\",\n EMPTY_PHONE_COUNTRY = \"signup.errors.mandateCountry\",\n INVALID_PHONE_NUMBER = \"signup.errors.invalidPhone\",\n INVALID_FIRST_NAME = \"signup.errors.invalidFirstName\",\n INVALID_LAST_NAME = \"signup.errors.invalidLastName\",\n FORBIDDEN_OPERATION = \"errors.operationCannotBePerformed\",\n}\n","export enum RestrictEditProfileEnum {\n EMAIL = \"EMAIL\",\n PHONE = \"PHONE\",\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"href\"]\n\nimport { theme } from \"../../components/theme/themeState\";\nimport { il8n } from \"@/plugins/i18n\";\n\ninterface Props {\n name?: string;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'VonageLogo',\n props: {\n name: {}\n },\n setup(__props: any) {\n\nconst props = __props;\nconst { t } = il8n.global;\nconst src = `/themes/${theme.value}/${props.name || \"icon\"}.svg`;\nconst url = t(`provider.url`);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"header\", null, [\n _createElementVNode(\"a\", { href: _unref(url) }, [\n _createElementVNode(\"img\", {\n class: \"logo\",\n src: src\n })\n ], 8, _hoisted_1)\n ]))\n}\n}\n\n})","\n\n\n\n\n","import script from \"./VonageLogo.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./VonageLogo.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./VonageLogo.vue?vue&type=style&index=0&id=4a026058&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4a026058\"]])\n\nexport default __exports__","var map = {\n\t\"./kwc/locales.json\": [\n\t\t6112,\n\t\t6112\n\t],\n\t\"./optus/locales.json\": [\n\t\t4522,\n\t\t4522\n\t],\n\t\"./telekom/locales.json\": [\n\t\t2134,\n\t\t2134\n\t],\n\t\"./vonage/locales.json\": [\n\t\t5139,\n\t\t5139\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 6608;\nmodule.exports = webpackAsyncContext;","import { createI18n } from \"vue-i18n\";\nimport { en } from \"@/lang/en\";\nimport { en as countriesEng } from \"@/lang/countries/en\";\nimport { es } from \"@/lang/es\";\nimport { es as countriesEs } from \"@/lang/countries/es\";\nimport axios from \"axios\";\nimport { ThemesEnums } from \"@/enums/themesEnums\";\nimport { getConfigFromEndpoint } from \"@/helpers/configHelper\";\n\nconst fallbackLocale = \"en\";\n\nexport const getPreferredLanguages = (navigator) =>\n // navigator.languages is available in all modern web browsers and is generally safe to rely on.\n // It consists of an array of accepted languages formatted as such: [\"en-GB\", \"en-US\", \"en\"].\n // These values are managed in the browser Settings and isusually an ordered list that the user can manage.\n // If for whatever reason it is not present, it is always possible to rely on navigator.language (notice the missing \"s\").\n // navigator.language is a single string in the format \"en-GB\" and is usually the OS language\n navigator.languages ?? [navigator.language];\n\nexport const chooseFirstSupportedLocale = async (languages: Array) => {\n const config = await getConfigFromEndpoint();\n const supportedLocales = config.supportedLocales ?? [fallbackLocale];\n for (const language of languages) {\n // Extract e.g. \"en\" from \"en-GB\"\n const langCode = language.split(/[-_]/)[0];\n if (supportedLocales.indexOf(langCode) !== -1) {\n return langCode;\n }\n }\n return null;\n};\n\nexport const getUserLanguage = async () =>\n (await chooseFirstSupportedLocale(getPreferredLanguages(navigator))) ??\n fallbackLocale;\n\nconst mergeThemeMessages = async (theme) => {\n const userLanguage = await getUserLanguage();\n const locales = await import(`@/lang/themes/${theme}/locales.json`);\n const lang = locales[userLanguage] ? userLanguage : fallbackLocale;\n il8n.global.mergeLocaleMessage(lang, locales[lang]);\n};\n\nexport const loadMessagesFromTheme = async (theme: string, url?: string) => {\n if (url) {\n try {\n const response = await axios({\n method: \"get\",\n url,\n });\n const lang = await getUserLanguage();\n il8n.global.mergeLocaleMessage(lang, response.data[lang]);\n } catch (ex) {\n console.error(`Error fetching locales for theme ${theme} from ${url}`);\n }\n } else {\n // We are going to load vonage's translations and override them with the current theme's.\n // E.g. KWC theme uses all the translations from Vonage but its specific URLs or Telekom\n // and Optus use their translations and override almost all copies from Vonage.\n await mergeThemeMessages(ThemesEnums.VONAGE);\n if (theme !== ThemesEnums.VONAGE) {\n await mergeThemeMessages(theme);\n }\n }\n};\n\nexport const il8n = createI18n({\n fallbackLocale,\n legacy: false,\n globalInjection: true,\n messages: {\n en: { ...en, countries: countriesEng },\n es: { ...es, countries: countriesEs },\n },\n silentTranslationWarn: true,\n});\n\nconst setI18nLanguage = (locale: any) => {\n if (il8n.mode === \"legacy\") {\n il8n.global.locale = locale;\n } else {\n il8n.global.locale.value = locale;\n }\n};\n\ngetUserLanguage().then(setI18nLanguage);\n","export const en = {\n common: {\n signUp: \"Sign up\",\n login: \"Log in\",\n forgotPassword: \"I forgot my password\",\n loading: \"Just a minute, we're loading…\",\n countryCode: \"Country code\",\n phoneNumber: \"Phone number\",\n firstName: \"First name\",\n lastName: \"Last name\",\n password: \"Password\",\n imprintPage: \"Imprint page\",\n email: \"Email\",\n secondFactorOptions: {\n none: \"No Two-Factor Authentication\",\n sms: \"SMS / Whatsapp\",\n totp: \"Authenticator App\",\n },\n },\n poweredByVonage: {\n text: \"Powered by\",\n url: \"https://www.vonage.com\",\n },\n passwordChange: {\n title: \"Change Password\",\n subtitle: \"Change your password by filling out this form.\",\n back: \"Back\",\n continue: \"Try logging in\",\n save: \"Save\",\n error: {\n flowError: \"Could not get password change flow\",\n emptyPassword: \"Password field is mandatory\",\n emptyConfirmPassword: \"Confirm Password field is mandatory\",\n passwordMismatch: \"Passwords do not match\",\n passwordChangeError:\n \"Could not change password at the moment. Please wait a few minutes before you try again. If this error persists, contact support.

Code: {code}
Reason: {reason}
Message: {message}\",\n passwordChangeOffline: \"Unable to connect to the Internet\",\n },\n },\n settings: {\n title: \"Edit profile\",\n passwordChange: \"Change password\",\n passwordChangeSuccess: \"Password changed successfully\",\n editProfileSuccess:\n \"Profile edited successfully.
Please note that the changes will not be visible on the applications until you log out and log back in. This will require you re-verifying your email address and/or phone number if you modified them and also completing the authentication enroll process if you chose this one as second factor method\",\n EMAIL: \"Take me back to Email confirmation\",\n PHONE: \"Take me to Phone verification\",\n securityTitle: \"Account security\",\n corporateUser: \"Profile is read-only since the user is a corporate user\",\n save: \"Save changes\",\n unverifiedPhoneNumber: \"The phone number hasn't been verified yet.\",\n unverifiedEmail: \"The email address hasn't been verified yet.\",\n totpPending:\n \"The authentication enroll process is pending, you can complete it once logged back in.\",\n secondsToWait:\n \"Cannot edit the profile so soon after last edit, please wait {secondsToWait}s before editing again.\",\n errors: {\n emptyEmail: \"Email is mandatory\",\n emptyPhone: \"Phone number is mandatory\",\n emptyCountryCode: \"Country code is mandatory\",\n editProfile: \"Could not submit the data. Please Contact Support\",\n refreshNeeded:\n \"The login session is too old and thus not allowed to update these fields. Please re-authenticate\",\n invalidPhone: \"Invalid phone number\",\n maxTries:\n \"Maximum number of registration attempts or changes exceeded. Please wait some minutes before trying again\",\n },\n },\n twofa: {\n checkYourPhone:\n \"We have sent a text with a code to {cc} {phone}\",\n editNumberLink: \"Edit Number\",\n errorSendingCode:\n \"We faced an issue when sending the code to the phone number specified.\",\n superTitle: \"Verify your phone number\",\n titleSignUp: \"One more step and we are done!\",\n titleSignUpWithTOTP: \"We're almost finished!\",\n titleSignIn: \"Two-Factor Authentication (2FA)\",\n titleTOTP: \"Authenticator\",\n subTitleTOTP:\n \"Verify your phone number again to use the authentication validation\",\n changePhone: \"Not the right Number? Update your phone number here.\",\n verify: \"Verify\",\n code: \"Enter verification code\",\n twoFaNoPhone: \"You do not have any phone number configured\",\n error: \"Error\",\n contactSupport:\n \"Still having issues? Contact support for help.\",\n errors: {\n invalidPhone:\n \"Invalid Phone Number / Phone number not allowed. Virtual phone numbers are not allowed\",\n unknownError:\n \"Could not verify at the moment. Please try again in a few minutes or contact support if the error persists\",\n codeError: \"Incorrect code. Please try again\",\n informPhone:\n \"You need to inform a phone number to be able to log in. Please click on 'Edit Number' and add your phone number\",\n },\n resendCode: \"Haven't received the code? {0}.\",\n requestNewCode: \"Request a new code\",\n feedback:\n \"The 2FA might take up to {0} minutes to arrive, please be patient and don't reload the page.\",\n resendCodeSuccess: \"Code sent Successfully to the registered number.\",\n getting2FaCode: \"Sending code to the registered number…\",\n optionalChannelsMessage:\n \"Do you want change your current optional channels through which you receive the 2FA?\",\n optionalChannelsLink: \" Show your optional channels.\",\n dialog: {\n title: \"Optional Channels\",\n message:\n \"We use the SMS and Voice channels by default but additionally you can add the channels through which you want to receive the 2FA from this list:\",\n action: \"Continue\",\n dontAsk: \"Don't ask me again on this device\",\n },\n },\n \"404\": {\n title: \"Ooops, 404 - Wrong Way\",\n content1: \"You've reached the edge of the ocean.\",\n content2: \"The page you requested could not be found.\",\n link: \"Navigate to Login\",\n },\n \"409\": {\n title: \"Ooops, 409 - Conflict\",\n content1: \"The request you made cannot be processed due to a conflict.\",\n content2:\n \"A possible cause is that you have mixed sessions from two identities. Please try cleaning up your cookies and try again.\",\n link: \"Navigate to Login\",\n },\n \"412\": {\n title: \"Ooops, 412 - Authentication failed\",\n content1:\n \"The request you made cannot be processed due to a authentication requirement.\",\n content2:\n \"Apologies, we're unable to process your request at this time. Please consider using an appropriate authentication method, such as your corporate SSO. If you're experiencing difficulties, please reach out to our support team for assistance.\",\n link: \"Navigate to Login\",\n },\n \"400\": {\n title: \"Ooops, 400 - Bad Request\",\n content1:\n \"Something else was expected. A possible cause might be that you tried logging on your corporate IdP with a non authorized user.\",\n content2: \"Please contact support if the error persists.\",\n link: \"Navigate to Login\",\n },\n \"500\": {\n title: \"Ooops, 500 - Internal Server Error\",\n content1: \"Something went wrong. I am still learning about it.\",\n content2: \"Please Contact Support\",\n link: \"Navigate to Login\",\n },\n \"401\": {\n title: \"Ooops, 401 - Unauthorized\",\n content1: \"Are you sure you are in the right place?\",\n content2: \"You cannot access this page\",\n link: \"Navigate to Login\",\n },\n \"403\": {\n title: \"Ooops, 403 - Forbidden\",\n content1: \"Are you sure you are in the right place?\",\n content2: \"You cannot access this page\",\n link: \"Navigate to Login\",\n },\n \"429\": {\n title: \"Ooops, 429 - Too Many Requests\",\n content1: \"You've tried to use the same code twice\",\n content2:\n \"If you still need help accessing your account, you can request a new code\",\n link: \"Navigate to Login\",\n },\n restrictedSignup: {\n title: \"Ooops, you are trying to signup using a restricted email domain.\",\n content1: \"Try sign in instead if you already have an account.\",\n content2:\n \"Please contact your corporate identity administrator to get access.\",\n link: \"Navigate to Login Page\",\n },\n signup: {\n redirectToLogin:\n \"No credit card required. Already have an account? Log in.\",\n twoFactorDescription:\n \"Any time you log in from an unusual device or location, we'll send an extra security code to your phone or verify with your authenticator app that you can use to login.\",\n twoFactorLabel: \"Use two-factor authentication (2FA)\",\n signUpSubmit: \"Create my free account\",\n terms:\n \"By registering you agree to our Terms of Service, Privacy Policy and our Acceptable Use Policy\",\n phoneNumberTitleTooltip: \"Why we need your number?\",\n phoneNumberTextTooltip:\n \"We need a verified number in order to prevent misuse of our services and fraud.\",\n passwordTitleTooltip: \"Password must have at least:\",\n passwordTextTooltip:\n \"
  • 8 characters
  • 1 upper case letter
  • 1 lower case letter
  • 1 number
    • \",\n confirmPassword: \"Confirm password\",\n termsAndConditions: {\n text1: \"By registering you agree to our \",\n termsOfService: \"Terms of Service\",\n privacyPolicy: \"Privacy Policy\",\n text2: \" and our \",\n usePolicy: \"Acceptable Use Policy\",\n },\n steps: {\n step1: \"1. Create account\",\n step2: \"2. Verify email\",\n step3: \"3. Verify number\",\n step4: \"4. Authenticator\",\n },\n errors: {\n flowError:\n \"Could not start a sign up flow. This usually happens because you already have a valid session.\",\n passwordMismatch: \"Password and Confirm Password do not match\",\n emptyEmail: \"User ID/Email Cannot be empty\",\n emptyPassword: \"Password cannot be empty\",\n mandatePhone: \"Phone number cannot be empty\",\n mandateCountry: \"Country code cannot be empty\",\n flowExpired: \"Flow expired. Please Try again\",\n invalidPhone: \"Phone number is not valid\",\n invalidFirstName: \"First name is not valid\",\n invalidLastName: \"Last name is not valid\",\n validSession:\n \" If you still want to register you need to logout first. Otherwise you can continue to the application.\",\n },\n },\n login: {\n subtitle: \"Don’t have an account yet?\",\n requestAnInvite: \"Request an invite\",\n reload: \"Reload this Page\",\n step1Button: \"Next\",\n method: \"Log in\",\n provider: \"Log in via {name}\",\n forgotPassword: \"I forgot my password\",\n changeEmailAddress: \"Use a different email\",\n forcedLogin:\n \"You have been logged out due to inactivity, please log in again to go back to the previous page\",\n error: {\n invalidCredentials:\n \"Invalid username or password. Check their values, or click on \\\"@:login.forgotPassword{'\\\"'} below to update your credentials.\",\n sessionDetected:\n \"A valid session was detected and thus login is not possible.\",\n loginFlowError: \"Could not get the login flow\",\n loginStepOneError: \"Unable to continue. Please Contact Support\",\n emptyEmail: \"Email cannot be empty\",\n redirectToOIDCError: \"Could not to redirect to the OIDC provider\",\n triesLimitExceeded:\n \"Log-in tries exceeded, please wait 5 minutes before trying again.\",\n noContext:\n \"This page should be accessed as part of a login process. Redirecting you to the starting page in {secondsToWait}s…\",\n },\n },\n verify: {\n superTitle: \"Verify your email\",\n title: \"You are almost there!\",\n subtitle: \"We have sent an email to {email}\",\n changeEmail: \"Go back and edit email\",\n resendEmail: \"Haven’t received the email from us? {0}.\",\n resendEmailConfirmation:\n \"Email Sent. Please click the link in the Email to continue\",\n resendEmailLinkText: \"Resend email\",\n steps: {\n step1:\n \"Go to your mail box and open the email that we just sent you.\",\n step2:\n \"Click on the link to verify your account to continue.\",\n },\n error: {\n resendError: \"Could not send email. Please try again\",\n },\n },\n forgotPassword: {\n title: \"Reset Your Password\",\n subtitle: \"What's the email associated with your account?\",\n submit: \"Submit\",\n login: \"Go back to login\",\n recoverySuccess:\n \"We have sent an email to {email} with a link. Click on the link and follow on-screen instructions\",\n errors: {\n flowError:\n \"Could not start a password recovery flow. This usually happens because you are already logged in on this session. If you still want to reset your password, please logout or clear the cookies first and try again. Otherwise you can go to settings page.\",\n emptyEmail: \"Email is required\",\n serverError: \"Something went wrong\",\n },\n },\n logout: {\n title: \"You have been logged out\",\n login: \"Log in\",\n },\n refreshSession: {\n title: \"Please authenticate to proceed\",\n subtitle: \"Authentication is required to refresh your session\",\n warning:\n \"You will lose the changes in your form after refreshing your session\",\n label: \"Enter your password\",\n submit: \"Submit\",\n errors: {\n loginFlowError:\n \"Unable to initiate Login refresh flow. Please contact support\",\n sessionFlowError: \"Could not get the session details for the user\",\n emptyPassword: \"Password cannot be empty\",\n emptyEmail: \"Could not get email from session\",\n passwordError: \"Incorrect password. Please try again\",\n },\n },\n errors: {\n securityCsrfViolation:\n \"There was a problem with the request. Please clear your cookies or try using a different browser or incognito mode and try again. If the problem persists, please contact support.\",\n operationCannotBePerformed:\n \"The operation cannot be performed at this time\",\n HAGetConsentError:\n \"Server Error (HA1). Please clear your cookies and try again, or Contact Support if the error persists\",\n HAAcceptConsentError:\n \"Server Error (HA2). Please clear your cookies and try again, or Contact Support if the error persists\",\n HAGetLoginError:\n \"Server Error (HA3). Please clear your cookies and try again, or Contact Support if the error persists\",\n HAAcceptLoginError:\n \"Server Error (HA4). Please clear your cookies and try again, or Contact Support if the error persists\",\n oidcError:\n \"Server Error (HA5). Please clear your cookies and try again, or Contact Support if the error persists\",\n noPhoneError:\n \"Could not get the phone information for the user. Please clear your cookies and try again, or Contact Support if the error persists\",\n verifyCheckError:\n \"Could not validate the verify code. Please try again in a few minutes, or Contact Support if the error persists\",\n errUnauthorized: \"Unauthorized\",\n errServerError: \"Server Error. Please contact Support\",\n errNotFound: \"Resource not found\",\n BadRequestErrorCode: \"Invalid request. Please contact Support\",\n UnexpectedErr: \"Server Error. Contact Support\",\n errorWithTraceId: \"{0} {1}\",\n genericError: \"Sorry we faced an issue. Please contact support\",\n errorTitle: \"Ooops, {code}, {status}\",\n blockedDomain:\n \"The email domain is blocked or has been used too many times. Please use another domain or contact support to unblock the domain\",\n phoneCookieVsSession:\n \"There was a problem with the request. Please clear your cookies and try again, or Contact Support if the error persists\",\n },\n footer: {\n terms: \"Terms of Use\",\n privacy: \"Privacy Policy\",\n contact: \"Contact Us\",\n status: \"Service Status\",\n },\n totp: {\n enrollment: {\n title: \"Authentication Enrollment\",\n titleSignUp: \"One more step and we are done!\",\n subtitle: \"Set Up Authenticator App\",\n messageAuthApp:\n \"Please use your favorite app (e.g. Google Authenticator). If you don't have installed it yet, you can search for them in your store:\",\n messageBidi:\n \"Once installed please scan this QR Code or click here to go to your app. Can't scan QR Code? Type the secret key below into your app.\",\n messageSecretKey: \"Secret:
      {secretKey}
      \",\n supportLink:\n \"Having issues?Contact support for help.\",\n continue: \"Continue\",\n googlePlay: \"Google Play\",\n appStore: \"App Store\",\n },\n check: {\n title: \"Authentication Verification\",\n subtitle: \"Verify with your Authenticator App\",\n label: \"Enter the temporary code generated in your app\",\n verify: \"Verify\",\n continue: \"Continue\",\n recovery: {\n message: \"What happens if you forgot at home or lost your phone?\",\n link: \"What to do when you lose your authentication seed.\",\n },\n secondsToWait:\n \"Cannot verify the code so soon after last try, please wait {secondsToWait}s before validating again.\",\n },\n errors: {\n operationCannotBePerformed:\n \"The operation cannot be performed because unauthorized\",\n validCodeButOutSync:\n \"The code is valid but please check the device time cause your clock is out of sync. You can set the clock properly and try again or continue.\",\n invalidCode: \"Verification failed. Please try again.\",\n },\n },\n privacy: {\n title: \"Legal & Privacy\",\n link: \"{name} Privacy\",\n choices: \"Privacy Choices\",\n },\n numberDisambiguation: {\n title: \"Number Disambiguation\",\n message:\n \"It seems that there are two valid international phone numbers for the data you entered. Please select the correct one and click continue.\",\n continue: \"Continue\",\n },\n};\n","export const en = {\n Afghanistan: \"Afghanistan\",\n \"Aland Islands\": \"Aland Islands\",\n Albania: \"Albania\",\n Algeria: \"Algeria\",\n \"American Samoa\": \"American Samoa\",\n Andorra: \"Andorra\",\n Angola: \"Angola\",\n Anguilla: \"Anguilla\",\n Antarctica: \"Antarctica\",\n \"Antigua and Barbuda\": \"Antigua and Barbuda\",\n Argentina: \"Argentina\",\n Armenia: \"Armenia\",\n Aruba: \"Aruba\",\n \"Ascension Island\": \"Ascension Island\",\n Australia: \"Australia\",\n Austria: \"Austria\",\n Azerbaijan: \"Azerbaijan\",\n Bahamas: \"Bahamas\",\n Bahrain: \"Bahrain\",\n Bangladesh: \"Bangladesh\",\n Barbados: \"Barbados\",\n Belarus: \"Belarus\",\n Belgium: \"Belgium\",\n Belize: \"Belize\",\n Benin: \"Benin\",\n Bermuda: \"Bermuda\",\n Bhutan: \"Bhutan\",\n Bolivia: \"Bolivia\",\n \"Bonaire, St. Eustatius and Saba\": \"Bonaire, St. Eustatius and Saba\",\n \"Bosnia and Herzegovina\": \"Bosnia and Herzegovina\",\n Botswana: \"Botswana\",\n \"Bouvet Island\": \"Bouvet Island\",\n Brazil: \"Brazil\",\n \"British Indian Ocean Territory\": \"British Indian Ocean Territory\",\n \"Brunei Darussalam\": \"Brunei Darussalam\",\n Bulgaria: \"Bulgaria\",\n \"Burkina Faso\": \"Burkina Faso\",\n Burundi: \"Burundi\",\n Cambodia: \"Cambodia\",\n Cameroon: \"Cameroon\",\n Canada: \"Canada\",\n \"Cape Verde\": \"Cape Verde\",\n \"Cayman Islands\": \"Cayman Islands\",\n \"Central African Republic\": \"Central African Republic\",\n Chad: \"Chad\",\n Chile: \"Chile\",\n China: \"China\",\n \"Christmas Island\": \"Christmas Island\",\n \"Cocos (Keeling) Islands\": \"Cocos (Keeling) Islands\",\n Colombia: \"Colombia\",\n Comoros: \"Comoros\",\n Congo: \"Congo\",\n \"Congo, The Democratic Republic of the\":\n \"Congo, The Democratic Republic of the\",\n \"Cook Islands\": \"Cook Islands\",\n \"Costa Rica\": \"Costa Rica\",\n \"Cote D'Ivoire\": \"Cote D'Ivoire\",\n Croatia: \"Croatia\",\n Cuba: \"Cuba\",\n Curacao: \"Curacao\",\n Cyprus: \"Cyprus\",\n \"Czech Republic\": \"Czech Republic\",\n Denmark: \"Denmark\",\n \"Diego Garcia\": \"Diego Garcia\",\n Djibouti: \"Djibouti\",\n Dominica: \"Dominica\",\n \"Dominican Republic\": \"Dominican Republic\",\n \"East Timor\": \"East Timor\",\n Ecuador: \"Ecuador\",\n Egypt: \"Egypt\",\n \"El Salvador\": \"El Salvador\",\n \"Equatorial Guinea\": \"Equatorial Guinea\",\n Eritrea: \"Eritrea\",\n Estonia: \"Estonia\",\n Eswatini: \"Eswatini\",\n Ethiopia: \"Ethiopia\",\n \"Falkland Islands\": \"Falkland Islands\",\n \"Faroe Islands\": \"Faroe Islands\",\n Fiji: \"Fiji\",\n Finland: \"Finland\",\n France: \"France\",\n \"French Guiana\": \"French Guiana\",\n \"French Polynesia\": \"French Polynesia\",\n Gabon: \"Gabon\",\n Gambia: \"Gambia\",\n Georgia: \"Georgia\",\n Germany: \"Germany\",\n Ghana: \"Ghana\",\n Gibraltar: \"Gibraltar\",\n Greece: \"Greece\",\n Greenland: \"Greenland\",\n Grenada: \"Grenada\",\n Guadeloupe: \"Guadeloupe\",\n Guam: \"Guam\",\n Guatemala: \"Guatemala\",\n Guernsey: \"Guernsey\",\n Guinea: \"Guinea\",\n \"Guinea-Bissau\": \"Guinea-Bissau\",\n Guyana: \"Guyana\",\n Haiti: \"Haiti\",\n \"Heard Island and McDonald Islands\": \"Heard Island and McDonald Islands\",\n Honduras: \"Honduras\",\n \"Hong Kong\": \"Hong Kong\",\n Hungary: \"Hungary\",\n Iceland: \"Iceland\",\n India: \"India\",\n Indonesia: \"Indonesia\",\n Iran: \"Iran\",\n Iraq: \"Iraq\",\n Ireland: \"Ireland\",\n \"Isle of Man\": \"Isle of Man\",\n Israel: \"Israel\",\n Italy: \"Italy\",\n Jamaica: \"Jamaica\",\n Japan: \"Japan\",\n Jersey: \"Jersey\",\n Jordan: \"Jordan\",\n Kazakhstan: \"Kazakhstan\",\n Kenya: \"Kenya\",\n Kiribati: \"Kiribati\",\n Kosovo: \"Kosovo\",\n Kuwait: \"Kuwait\",\n Kyrgyzstan: \"Kyrgyzstan\",\n Laos: \"Laos\",\n Latvia: \"Latvia\",\n Lebanon: \"Lebanon\",\n Lesotho: \"Lesotho\",\n Liberia: \"Liberia\",\n Libya: \"Libya\",\n Liechtenstein: \"Liechtenstein\",\n Lithuania: \"Lithuania\",\n Luxembourg: \"Luxembourg\",\n Macau: \"Macau\",\n Macedonia: \"Macedonia\",\n Madagascar: \"Madagascar\",\n Malawi: \"Malawi\",\n Malaysia: \"Malaysia\",\n Maldives: \"Maldives\",\n Mali: \"Mali\",\n Malta: \"Malta\",\n \"Marshall Islands\": \"Marshall Islands\",\n Martinique: \"Martinique\",\n Mauritania: \"Mauritania\",\n Mauritius: \"Mauritius\",\n Mayotte: \"Mayotte\",\n Mexico: \"Mexico\",\n \"Micronesia, Federated States of\": \"Micronesia, Federated States of\",\n Moldova: \"Moldova\",\n Monaco: \"Monaco\",\n Mongolia: \"Mongolia\",\n Montenegro: \"Montenegro\",\n Montserrat: \"Montserrat\",\n Morocco: \"Morocco\",\n Mozambique: \"Mozambique\",\n Myanmar: \"Myanmar\",\n Namibia: \"Namibia\",\n Nauru: \"Nauru\",\n Nepal: \"Nepal\",\n Netherlands: \"Netherlands\",\n \"Netherlands Antilles\": \"Netherlands Antilles\",\n \"New Caledonia\": \"New Caledonia\",\n \"New Zealand\": \"New Zealand\",\n Nicaragua: \"Nicaragua\",\n Niger: \"Niger\",\n Nigeria: \"Nigeria\",\n Niue: \"Niue\",\n \"Norfolk Island\": \"Norfolk Island\",\n \"Northern Mariana Islands\": \"Northern Mariana Islands\",\n \"North Korea\": \"North Korea\",\n Norway: \"Norway\",\n Oman: \"Oman\",\n Pakistan: \"Pakistan\",\n Palau: \"Palau\",\n \"Palestine, State of\": \"Palestine, State of\",\n Panama: \"Panama\",\n \"Papua New Guinea\": \"Papua New Guinea\",\n Paraguay: \"Paraguay\",\n Peru: \"Peru\",\n Philippines: \"Philippines\",\n Pitcairn: \"Pitcairn\",\n Poland: \"Poland\",\n Portugal: \"Portugal\",\n \"Puerto Rico\": \"Puerto Rico\",\n Qatar: \"Qatar\",\n Reunion: \"Reunion\",\n Romania: \"Romania\",\n Russia: \"Russia\",\n Rwanda: \"Rwanda\",\n \"Saint Helena\": \"Saint Helena\",\n \"Saint Kitts and Nevis\": \"Saint Kitts and Nevis\",\n \"Saint Lucia\": \"Saint Lucia\",\n \"Saint Pierre and Miquelon\": \"Saint Pierre and Miquelon\",\n \"Saint Vincent and the Grenadines\": \"Saint Vincent and the Grenadines\",\n Samoa: \"Samoa\",\n \"San Marino\": \"San Marino\",\n \"Sao Tome and Principe\": \"Sao Tome and Principe\",\n \"Saudi Arabia\": \"Saudi Arabia\",\n Senegal: \"Senegal\",\n Serbia: \"Serbia\",\n Seychelles: \"Seychelles\",\n \"Sierra Leone\": \"Sierra Leone\",\n Singapore: \"Singapore\",\n \"Sint Maarten (Dutch)\": \"Sint Maarten (Dutch)\",\n Slovakia: \"Slovakia\",\n Slovenia: \"Slovenia\",\n \"Solomon Islands\": \"Solomon Islands\",\n Somalia: \"Somalia\",\n \"South Africa\": \"South Africa\",\n \"South Georgia and the South Sandwich Islands\":\n \"South Georgia and the South Sandwich Islands\",\n \"South Korea\": \"South Korea\",\n \"South Sudan\": \"South Sudan\",\n Spain: \"Spain\",\n \"Sri Lanka\": \"Sri Lanka\",\n Sudan: \"Sudan\",\n Suriname: \"Suriname\",\n Svalbard: \"Svalbard\",\n Sweden: \"Sweden\",\n Switzerland: \"Switzerland\",\n Syria: \"Syria\",\n Taiwan: \"Taiwan\",\n Tajikistan: \"Tajikistan\",\n Tanzania: \"Tanzania\",\n Thailand: \"Thailand\",\n Togo: \"Togo\",\n Tokelau: \"Tokelau\",\n Tonga: \"Tonga\",\n \"Trinidad and Tobago\": \"Trinidad and Tobago\",\n Tunisia: \"Tunisia\",\n Turkey: \"Turkey\",\n Turkmenistan: \"Turkmenistan\",\n \"Turks and Caicos Islands\": \"Turks and Caicos Islands\",\n Tuvalu: \"Tuvalu\",\n Uganda: \"Uganda\",\n Ukraine: \"Ukraine\",\n \"United Arab Emirates\": \"United Arab Emirates\",\n \"United Kingdom\": \"United Kingdom\",\n \"United States\": \"United States\",\n \"United States Minor Outlying Islands\":\n \"United States Minor Outlying Islands\",\n Uruguay: \"Uruguay\",\n Uzbekistan: \"Uzbekistan\",\n Vanuatu: \"Vanuatu\",\n \"Vatican City State\": \"Vatican City State\",\n Venezuela: \"Venezuela\",\n Vietnam: \"Vietnam\",\n \"Virgin Islands, British\": \"Virgin Islands, British\",\n \"Virgin Islands, US\": \"Virgin Islands, US\",\n \"Wallis and Futuna\": \"Wallis and Futuna\",\n \"Western Sahara\": \"Western Sahara\",\n Yemen: \"Yemen\",\n Zambia: \"Zambia\",\n Zimbabwe: \"Zimbabwe\",\n};\n","export const es = {\n common: {\n signUp: \"Registrar\",\n login: \"Entrar\",\n forgotPassword: \"Olvidé mi contraseña\",\n loading: \"Un minuto, estamos cargando…\",\n countryCode: \"Código de país\",\n phoneNumber: \"Número de teléfono\",\n firstName: \"Nombre\",\n lastName: \"Apellidos\",\n password: \"Contraseña\",\n imprintPage: \"Imprint página\",\n email: \"Email\",\n secondFactorOptions: {\n none: \"Sin Autenticación de doble factor\",\n sms: \"SMS / Whatsapp\",\n totp: \"App de Autenticación\",\n },\n },\n poweredByVonage: {\n text: \"Powered by\",\n url: \"https://www.vonage.com\",\n },\n passwordChange: {\n title: \"Cambio de contraseña\",\n subtitle: \"Cambia la contraseña cumplimentando el formulario.\",\n back: \"Volver\",\n continue: \"Intentar entrar\",\n save: \"Cambiar\",\n error: {\n flowError: \"No se pudo obtener el flujo de cambio de contraseña\",\n emptyPassword: \"El campo de contraseña es obligatorio\",\n emptyConfirmPassword:\n \"El campo de confirmación de contraseña es obligatorio\",\n passwordMismatch: \"Las contraseñas no coinciden\",\n passwordChangeError:\n \"No se pudo cambiar la contraseña en este momento. Espere unos minutos antes de volver a intentarlo. Si este error persiste, póngase en contacto con soporte.

      Código: {code}
      Razón: {reason}
      Mensaje: {message}\",\n passwordChangeOffline: \"Sin conexión a Internet\",\n },\n },\n settings: {\n title: \"Edición de perfil\",\n passwordChange: \"Cambio de contraseña\",\n passwordChangeSuccess: \"Se cambió la contraseña correctamente\",\n editProfileSuccess:\n \"Perfil modificado correctamente.
      Tenga en cuenta que los cambios no serán visibles en las aplicaciones hasta que cierre la sesión y vuelva a iniciarla. Esto requerirá que vuelva a verificar su dirección de correo electrónico y/o número de teléfono si los modificó y/o bien completar el proceso de configuración de autenticación si lo seleccionó como método de doble factor o no\",\n EMAIL: \"Ir a confirmar Email\",\n PHONE: \"Ir a verificar Teléfono\",\n securityTitle: \"Seguridad de cuenta\",\n corporateUser:\n \"El perfil es de solo lectura ya que el usuario es un usuario corporativo\",\n save: \"Guardar cambios\",\n unverifiedPhoneNumber: \"El número de teléfono no ha sido aún verificado.\",\n unverifiedEmail: \"El email no ha sido aún verificado.\",\n totpPending:\n \"La configuración de autenticación está pendiente, hágala en el próximo login.\",\n secondsToWait:\n \"No se puede editar el perfil aún. Espere {secondsToWait} segundos antes de editar de nuevo.\",\n errors: {\n emptyEmail: \"Email es obligatorio\",\n emptyPhone: \"Número de teléfono es obligatorio\",\n emptyCountryCode: \"Código de país es obligatorio\",\n editProfile:\n \"No se pudieron enviar los datos. Por favor contacte con soporte\",\n refreshNeeded:\n \"Hace mucho tiempo de su último inicio de sesión y, por lo tanto, no se permite actualizar estos campos. Por favor vuelva a autenticarse\",\n invalidPhone: \"Número de teléfono inválido\",\n maxTries:\n \"Se superó el número máximo de intentos de registro o cambios. Espere unos minutos antes de volver a intentarlo.\",\n },\n },\n twofa: {\n checkYourPhone:\n \"Acabamos de enviar un código al {cc} {phone}\",\n editNumberLink: \"Editar Número\",\n errorSendingCode:\n \"Se produjo un fallo al enviar el código al número de teléfono especificado.\",\n superTitle: \"Verifica tu número de teléfono\",\n titleSignUp: \"¡A un paso de acabar!\",\n titleSignUpWithTOTP: \"¡Casi hemos terminado!\",\n titleSignIn: \"Autenticación de Doble Factor (2FA)\",\n titleTOTP: \"Verificación de Autenticación\",\n subTitleTOTP:\n \"Verifica tu número de teléfono de nuevo para usar la validación con app de autenticación\",\n changePhone: \"¿Número incorrecto? Actualiza tu número de teléfono aquí.\",\n verify: \"Verificar\",\n code: \"Introducir código de verificación\",\n twoFaNoPhone: \"No tienes un número de teléfono configurado\",\n error: \"Error\",\n contactSupport:\n \"¿Continuan los problemas? Contacta con soporte para pedir ayuda.\",\n errors: {\n invalidPhone:\n \"Teléfono inválido / Teléfono no permitido. Número de teléfonos virtuales no son permitidos\",\n unknownError:\n \"No podemos verificar en este momento. Inténtelo de nuevo en unos minutos o comuníquese con el soporte técnico si el error persiste.\",\n codeError: \"Código incorrecto. Por favor, inténtelo de nuevo\",\n informPhone:\n \"Debe registrar un número de teléfono para poder iniciar sesión. Haga clic en 'Editar número' y agregue su número de teléfono.\",\n },\n resendCode: \"¿No has recibido el código? {0}.\",\n requestNewCode: \"Solicitar uno nuevo\",\n feedback:\n \"El envío puede tardar hasta {0} minutos en llegar. Tenga paciencia y no recargue la página.\",\n resendCodeSuccess: \"Código enviado correctamente al número registrado.\",\n getting2FaCode: \"Enviando código al número registrado…\",\n optionalChannelsMessage:\n \"¿Quieres cambiar los canales opcionales actuales a través de los cuales recibes el código?\",\n optionalChannelsLink: \" Muestra tus canales opcionales.\",\n dialog: {\n title: \"Agregar más canales\",\n message:\n \"Usamos SMS y llamadas de voz por defecto, aunque adicionalmente puedes agregar más canales a través de los cuales recibirás el código:\",\n action: \"Continuar\",\n dontAsk: \"No me vuelvas a preguntar en este dispositivo\",\n },\n },\n \"404\": {\n title: \"Ups, 404 - Ruta no existe\",\n content1: \"Has llegado a la orilla del océano.\",\n content2: \"No se pudo encontrar la página solicitada.\",\n link: \"Navegar a Login\",\n },\n \"409\": {\n title: \"Ups, 409 - Conflicto\",\n content1:\n \"La solicitud realizada no se puede procesar debido a un conflicto.\",\n content2:\n \"Una posible causa es que tiene sesiones abiertas de dos identidades diferentes. Intente limpiar las cookies y vuelva a intentarlo.\",\n link: \"Navegar a Login\",\n },\n \"412\": {\n title: \"Ups, 412 - Autenticación fallida\",\n content1:\n \"La solicitud realizada no se puede procesar debido a un requisito de autenticación.\",\n content2:\n \"Lo sentimos, no podemos procesar su solicitud en este momento. Considere utilizar un método de autenticación adecuado, como su SSO corporativo. Si tiene dificultades, comuníquese con nuestro equipo de soporte para obtener ayuda.\",\n link: \"Navegar a Login\",\n },\n \"400\": {\n title: \"Ups, 400 - Solicitud inválida\",\n content1:\n \"Se esperaba otra cosa. Una posible causa podría ser que haya intentado iniciar sesión en su IdP corporativo con un usuario no autorizado.\",\n content2: \"Póngase en contacto con soporte si el error persiste.\",\n link: \"Navegar a Login\",\n },\n \"500\": {\n title: \"Ups, 500 - Error Interno\",\n content1: \"Algo fue mal. Aún estoy aprendiendo.\",\n content2: \"Póngase en contacto con soporte.\",\n link: \"Navegar a Login\",\n },\n \"401\": {\n title: \"Ups, 401 - No Autorizado\",\n content1: \"¿Seguro de que estás en el lugar correcto?\",\n content2: \"No tiene permiso para acceder a esta página.\",\n link: \"Navegar a Login\",\n },\n \"403\": {\n title: \"Ups, 403 - Prohibido\",\n content1: \"¿Seguro de que estás en el lugar correcto?\",\n content2: \"No tiene permiso para acceder a esta página.\",\n link: \"Navegar a Login\",\n },\n \"429\": {\n title: \"Ups, 429 - Demasiadas Solicitudes\",\n content1: \"Has intentado usar el mismo código dos veces.\",\n content2:\n \"Si aún necesita ayuda para acceder a su cuenta, puede solicitar un nuevo código\",\n link: \"Navegar a Login\",\n },\n restrictedSignup: {\n title:\n \"Ups, estás intentando registrarte usando un dominio de correo electrónico restringido.\",\n content1: \"Intente iniciar sesión si ya tiene una cuenta.\",\n content2:\n \"Comuníquese con su administrador de identidad corporativa para obtener acceso.\",\n link: \"Navegar a Login\",\n },\n signup: {\n redirectToLogin:\n \"Sin tarjeta de crédito. ¿Ya tienes una cuenta? Entrar.\",\n twoFactorDescription:\n \"Cada vez que inicie sesión desde un dispositivo o ubicación inusual, le enviaremos un código de seguridad adicional a su teléfono o comprobaremos el código de su app de autenticación que podrá usar para iniciar sesión.\",\n twoFactorLabel: \"Utilice la autenticación de doble factor (2FA)\",\n signUpSubmit: \"Crear mi cuenta gratuita\",\n terms:\n \"Al registrarse, acepta nuestras Condiciones de servicio, Política de privacidad y nuestra Política de uso aceptable\",\n phoneNumberTitleTooltip: \"¿Por qué necesitamos tu número?\",\n phoneNumberTextTooltip:\n \"Necesitamos un número verificado para evitar el uso indebido de nuestros servicios y posible fraude.\",\n passwordTitleTooltip: \"La contraseña debe tener al menos:\",\n passwordTextTooltip:\n \"
      • 8 caracteres
      • 1 letra mayúscula
      • 1 letra minúscula
      • 1 número
        • \",\n confirmPassword: \"Confirmar contraseña\",\n termsAndConditions: {\n text1: \"Al registrarse usted acepta nuestro \",\n termsOfService: \"Términos de Servicio\",\n privacyPolicy: \"Política de privacidad\",\n text2: \" y nuestra \",\n usePolicy: \"Política de uso aceptable\",\n },\n steps: {\n step1: \"1. Crear cuenta\",\n step2: \"2. Verificar email\",\n step3: \"3. Verificar número\",\n step4: \"4. Autenticación\",\n },\n errors: {\n flowError:\n \"No se pudo iniciar un flujo de registro. Esto suele pasar porque ya tienes una sesión válida.\",\n passwordMismatch: \"Contraseña y Confirmar contraseña no coinciden\",\n emptyEmail: \"ID de usuario / Email no puede ser vacío\",\n emptyPassword: \"Contraseña no puede ser vacía\",\n mandatePhone: \"Número de teléfono no puede ser vacío\",\n mandateCountry: \"Código de país no puede ser vacío\",\n flowExpired: \"El flujo expiró. Inténtalo de nuevo\",\n invalidPhone: \"Número de teléfono no es válido\",\n invalidFirstName: \"Nombre no es válido\",\n invalidLastName: \"Apellidos no son válidos\",\n validSession:\n \" Si aún desea registrarse, primero debe cerrar la sesión. De lo contrario, puede continuar a la aplicación.\",\n },\n },\n login: {\n subtitle: \"¿Aún no tienes cuenta?\",\n requestAnInvite: \"Solicitar una invitación\",\n reload: \"Recargar esta página\",\n step1Button: \"Siguiente\",\n method: \"Entrar\",\n provider: \"Usar {name}\",\n forgotPassword: \"Olvidé mi contraseña\",\n changeEmailAddress: \"Usar un email diferente\",\n forcedLogin:\n \"Tras una larga inactividad se ha cerrado su sesión, inicie sesión nuevamente para volver a la página anterior\",\n error: {\n invalidCredentials:\n \"El usuario o contraseña especificados no son correctos. Compruebe las credenciales o use el enlace de \\\"@:login.forgotPassword{'\\\"'} para actualizarlas.\",\n sessionDetected:\n \"Se detectó una sesión válida y, por lo tanto, no es posible iniciar sesión.\",\n loginFlowError: \"No se pudo obtener el flujo de inicio de sesión\",\n loginStepOneError: \"No se pudo continuar. Por favor contacte con soporte\",\n emptyEmail: \"Email no puede ser vacío\",\n redirectToOIDCError: \"No se pudo redirigir al proveedor OIDC\",\n triesLimitExceeded:\n \"Número de intentos excedido, por favor, espere 5 minutos ante de intentarlo de nuevo.\",\n noContext:\n \"Esta página debería haber sido accedida como parte de un proceso de login. Redirigiendo a la página inicial en {secondsToWait}s…\",\n },\n },\n verify: {\n superTitle: \"Verificar tu email\",\n title: \"¡Ya casi hemos terminado!\",\n subtitle: \"Hemos enviado un correo electrónico a {email}\",\n changeEmail: \"Volver y editar email\",\n resendEmail: \"¿No has recibido el correo electrónico? {0}.\",\n resendEmailConfirmation:\n \"Email enviado. Por favor pulse el enlace del correo electrónico para continuar\",\n resendEmailLinkText: \"Reenviar email\",\n steps: {\n step1:\n \"Ve a tu buzón de correo y abre el correo electrónico que te acabamos de enviar.\",\n step2:\n \"Haga clic en el enlace para verificar su cuenta y continuar.\",\n },\n error: {\n resendError:\n \"No se pudo enviar el correo electrónico. Inténtalo de nuevo\",\n },\n },\n forgotPassword: {\n title: \"Restablecer su contraseña\",\n subtitle: \"¿Cuál es el correo electrónico asociado a tu cuenta?\",\n submit: \"Enviar\",\n login: \"Volver para iniciar sesión\",\n recoverySuccess:\n \"Hemos enviado un correo electrónico a {email} con un enlace. Haga clic en el mismo y siga las instrucciones en pantalla.\",\n errors: {\n flowError:\n \"No se pudo iniciar un flujo de recuperación de contraseña. Esto suele suceder porque ya está logado. Si aún desea restablecer su contraseña, cierre la sesión o borre las cookies primero y vuelva a intentarlo. De lo contrario, puedes ir a la página de configuración.\",\n emptyEmail: \"Email es requerido\",\n serverError: \"Algo salió mal\",\n },\n },\n logout: {\n title: \"Acaba de abandonar la sesión\",\n login: \"Entrar\",\n },\n refreshSession: {\n title: \"Por favor autentíquese para continuar\",\n subtitle: \"Se requiere de nuevo autenticar para actualizar su sesión\",\n warning:\n \"Perderás los cambios en tu formulario después de actualizar tu sesión.\",\n label: \"Ingresa tu contraseña\",\n submit: \"Enviar\",\n errors: {\n loginFlowError:\n \"No se puede iniciar el flujo de actualización de inicio de sesión. Por favor contacte con soporte\",\n sessionFlowError: \"No se puede obtener los detalles de sesión\",\n emptyPassword: \"Contraseña no puede ser vacía\",\n emptyEmail: \"No se pudo obtener el correo electrónico de la sesión\",\n passwordError: \"Contraseña incorrecta. Inténtalo de nuevo\",\n },\n },\n errors: {\n securityCsrfViolation:\n \"Hubo un problema con la solicitud. Borre sus cookies o intente usar un navegador diferente o el modo incógnito e inténtelo nuevamente. Si el problema persiste, por favor contacte con soporte.\",\n operationCannotBePerformed:\n \"La operación no se puede realizar en este momento.\",\n HAGetConsentError:\n \"Error del servidor (HA1). Borre sus cookies e inténtelo nuevamente, o comuníquese con el soporte técnico si el error persiste\",\n HAAcceptConsentError:\n \"Error del servidor (HA2). Borre sus cookies e inténtelo nuevamente, o comuníquese con el soporte técnico si el error persiste\",\n HAGetLoginError:\n \"Error del servidor (HA3). Borre sus cookies e inténtelo nuevamente, o comuníquese con el soporte técnico si el error persiste\",\n HAAcceptLoginError:\n \"Error del servidor (HA4). Borre sus cookies e inténtelo nuevamente, o comuníquese con el soporte técnico si el error persiste\",\n oidcError:\n \"Error del servidor (HA5). Borre sus cookies e inténtelo nuevamente, o comuníquese con el soporte técnico si el error persiste\",\n noPhoneError:\n \"No se pudo obtener la información del teléfono del usuario. Borre sus cookies e inténtelo nuevamente, o comuníquese con el soporte técnico si el error persiste\",\n verifyCheckError:\n \"No se pudo validar el código de verificación. Inténtalo de nuevo en unos minutos o ponte en contacto con el servicio de asistencia técnica si el error persiste\",\n errUnauthorized: \"No autorizado\",\n errServerError: \"Error del Servidor. Por favor contacte con soporte\",\n errNotFound: \"Recurso no encontrado\",\n BadRequestErrorCode: \"Solicitud no válida. Por favor contacte con soporte\",\n UnexpectedErr: \"Error del Servidor. Por favor contacte con soporte\",\n errorWithTraceId: \"{0} {1}\",\n genericError:\n \"Lo sentimos, tuvimos un problema. Por favor contacte con soporte\",\n errorTitle: \"Ups, {code}, {status}\",\n blockedDomain:\n \"El dominio de correo electrónico está bloqueado o se ha utilizado demasiadas veces. Utilice otro dominio o comuníquese con el soporte técnico para desbloquear el dominio\",\n phoneCookieVsSession:\n \"Hubo un problema con la solicitud. Borre sus cookies o intente usar un navegador diferente o el modo incógnito e inténtelo nuevamente. Si el problema persiste, por favor contacte con soporte\",\n },\n footer: {\n terms: \"Términos de Uso\",\n privacy: \"Política de Privacidad\",\n contact: \"Contacto\",\n status: \"Estado del Servicio\",\n },\n totp: {\n enrollment: {\n title: \"Registro de Autenticación\",\n titleSignUp: \"¡A un paso de acabar!\",\n subtitle: \"Configuración de App de Autenticación\",\n messageAuthApp:\n \"Por favor use su app favorita (ej. Google Authenticator). Si no tiene instalada una, puede descargarla desde su tienda de apps:\",\n messageBidi:\n \"Una vez instalada escanee este código QR o pulse aquí para ir a su app. ¿No funciona? Pruebe a escribir el secreto en su app.\",\n messageSecretKey: \"Secreto:
          {secretKey}
          \",\n supportLink:\n \"¿Continuan los problemas?Contacta con soporte para solicitar ayuda.\",\n continue: \"Continuar\",\n googlePlay: \"Google Play\",\n appStore: \"App Store\",\n },\n check: {\n title: \"Verificación de Autenticación\",\n subtitle: \"Verifica con tu App de Autenticación\",\n label: \"Introduce el código temporal generado en su app\",\n verify: \"Verificar\",\n continue: \"Continuar\",\n recovery: {\n message: \"¿Qué ocurre si olvida en casa o pierde el teléfono móvil?\",\n link: \"Qué hacer cuando pierde la autenticación.\",\n },\n secondsToWait:\n \"No se puede validar el código aún. Espere {secondsToWait} segundos antes de validar de nuevo.\",\n },\n errors: {\n operationCannotBePerformed:\n \"La operación no se puede realizar en este momento ya que no está autorizado\",\n validCodeButOutSync:\n \"El código es válido pero por favor revise la hora en su dispositivo ya que está mal configurada. Puede configurarlo y probar de nuevo o bien continuar.\",\n invalidCode: \"Verificación fallida. Por favor, inténtelo de nuevo\",\n },\n },\n privacy: {\n title: \"Privacidad\",\n link: \"{name} Privacidad\",\n choices: \"Opciones de Privacidad\",\n },\n numberDisambiguation: {\n title: \"Selección de Número\",\n message:\n \"Parece que existen dos números de teléfono internacionales válidos para los datos introducidos. Por favor, selecciona el correcto y continua.\",\n continue: \"Continuar\",\n },\n};\n","export const es = {\n Afghanistan: \"Afganistán\",\n \"Aland Islands\": \"Islas Aland\",\n Albania: \"Albania\",\n Algeria: \"Argelia\",\n \"American Samoa\": \"Samoa Americana\",\n Andorra: \"Andorra\",\n Angola: \"Angola\",\n Anguilla: \"Anguila\",\n Antarctica: \"Antártida\",\n \"Antigua and Barbuda\": \"Antigua y Barbuda\",\n Argentina: \"Argentina\",\n Armenia: \"Armenia\",\n Aruba: \"Aruba\",\n \"Ascension Island\": \"Isla Ascensión\",\n Australia: \"Australia\",\n Austria: \"Austria\",\n Azerbaijan: \"Azerbaiyán\",\n Bahamas: \"Bahamas\",\n Bahrain: \"Bahréin\",\n Bangladesh: \"Bangladesh\",\n Barbados: \"Barbados\",\n Belarus: \"Bielorrusia\",\n Belgium: \"Bélgica\",\n Belize: \"Belice\",\n Benin: \"Benín\",\n Bermuda: \"Islas Bermudas\",\n Bhutan: \"Bután\",\n Bolivia: \"Bolivia\",\n \"Bonaire, St. Eustatius and Saba\": \"Bonaire, San Eustaquio y Saba\",\n \"Bosnia and Herzegovina\": \"Bosnia y Herzegovina\",\n Botswana: \"Botsuana\",\n \"Bouvet Island\": \"Isla Bouvet\",\n Brazil: \"Brasil\",\n \"British Indian Ocean Territory\": \"Territorio Británico del Océano Índico\",\n \"Brunei Darussalam\": \"Brunei Darussalam\",\n Bulgaria: \"Bulgaria\",\n \"Burkina Faso\": \"Burkina Faso\",\n Burundi: \"Burundi\",\n Cambodia: \"Camboya\",\n Cameroon: \"Camerún\",\n Canada: \"Canadá\",\n \"Cape Verde\": \"Cabo Verde\",\n \"Cayman Islands\": \"Islas Caimán\",\n \"Central African Republic\": \"República Centroafricana\",\n Chad: \"Chad\",\n Chile: \"Chile\",\n China: \"China\",\n \"Christmas Island\": \"Isla de Navidad\",\n \"Cocos (Keeling) Islands\": \"Islas Cocos (Keeling)\",\n Colombia: \"Colombia\",\n Comoros: \"Comoras\",\n Congo: \"Congo\",\n \"Congo, The Democratic Republic of the\": \"República Democrática del Congo\",\n \"Cook Islands\": \"Islas Cook\",\n \"Costa Rica\": \"Costa Rica\",\n \"Cote D'Ivoire\": \"Costa de Marfil\",\n Croatia: \"Croacia\",\n Cuba: \"Cuba\",\n Curacao: \"Curazao\",\n Cyprus: \"Chipre\",\n \"Czech Republic\": \"República Checa\",\n Denmark: \"Dinamarca\",\n \"Diego Garcia\": \"Diego García\",\n Djibouti: \"Yibuti\",\n Dominica: \"Dominicana\",\n \"Dominican Republic\": \"República Dominicana\",\n \"East Timor\": \"Timor Oriental\",\n Ecuador: \"Ecuador\",\n Egypt: \"Egipto\",\n \"El Salvador\": \"El Salvador\",\n \"Equatorial Guinea\": \"Guinea Ecuatorial\",\n Eritrea: \"Eritrea\",\n Estonia: \"Estonia\",\n Eswatini: \"Esuatini\",\n Ethiopia: \"Etiopía\",\n \"Falkland Islands\": \"Islas Malvinas\",\n \"Faroe Islands\": \"Islas Feroe\",\n Fiji: \"Fiyi\",\n Finland: \"Finlandia\",\n France: \"Francia\",\n \"French Guiana\": \"Guayana Francesa\",\n \"French Polynesia\": \"Polinesia Francesa\",\n Gabon: \"Gabón\",\n Gambia: \"Gambia\",\n Georgia: \"Georgia\",\n Germany: \"Alemania\",\n Ghana: \"Ghana\",\n Gibraltar: \"Gibraltar\",\n Greece: \"Grecia\",\n Greenland: \"Groenlandia\",\n Grenada: \"Granada\",\n Guadeloupe: \"Guadalupe\",\n Guam: \"Guam\",\n Guatemala: \"Guatemala\",\n Guernsey: \"Guernesey\",\n Guinea: \"Guinea\",\n \"Guinea-Bissau\": \"Guinea-Bisáu\",\n Guyana: \"Guayana\",\n Haiti: \"Haití\",\n \"Heard Island and McDonald Islands\": \"Islas Heard y McDonald\",\n Honduras: \"Honduras\",\n \"Hong Kong\": \"Hong Kong\",\n Hungary: \"Hungría\",\n Iceland: \"Islandia\",\n India: \"India\",\n Indonesia: \"Indonesia\",\n Iran: \"Irán\",\n Iraq: \"Irak\",\n Ireland: \"Irlanda\",\n \"Isle of Man\": \"Isla del Hombre\",\n Israel: \"Israel\",\n Italy: \"Italia\",\n Jamaica: \"Jamaica\",\n Japan: \"Japón\",\n Jersey: \"Jersey\",\n Jordan: \"Jordán\",\n Kazakhstan: \"Kazajstán\",\n Kenya: \"Kenia\",\n Kiribati: \"Kiribati\",\n Kosovo: \"Kosovo\",\n Kuwait: \"Kuwait\",\n Kyrgyzstan: \"Kirguistán\",\n Laos: \"Laos\",\n Latvia: \"Letonia\",\n Lebanon: \"Líbano\",\n Lesotho: \"Lesoto\",\n Liberia: \"Liberia\",\n Libya: \"Libia\",\n Liechtenstein: \"Liechtenstein\",\n Lithuania: \"Lituania\",\n Luxembourg: \"Luxemburgo\",\n Macau: \"Macao\",\n Macedonia: \"Macedonia\",\n Madagascar: \"Madagascar\",\n Malawi: \"Malaui\",\n Malaysia: \"Malasia\",\n Maldives: \"Maldivas\",\n Mali: \"Malí\",\n Malta: \"Malta\",\n \"Marshall Islands\": \"Islas Marshall\",\n Martinique: \"Martinica\",\n Mauritania: \"Mauritania\",\n Mauritius: \"Mauricio\",\n Mayotte: \"Mayotte\",\n Mexico: \"México\",\n \"Micronesia, Federated States of\": \"Estados Federados de Micronesia\",\n Moldova: \"Moldavia\",\n Monaco: \"Mónaco\",\n Mongolia: \"Mongolia\",\n Montenegro: \"Montenegro\",\n Montserrat: \"Montserrat\",\n Morocco: \"Marruecos\",\n Mozambique: \"Mozambique\",\n Myanmar: \"Birmania\",\n Namibia: \"Namibia\",\n Nauru: \"Nauru\",\n Nepal: \"Nepal\",\n Netherlands: \"Países Bajos\",\n \"Netherlands Antilles\": \"Antillas Holandesas\",\n \"New Caledonia\": \"Nueva Caledonia\",\n \"New Zealand\": \"Nueva Zelanda\",\n Nicaragua: \"Nicaragua\",\n Niger: \"Níger\",\n Nigeria: \"Nigeria\",\n Niue: \"Niue\",\n \"Norfolk Island\": \"Isla Norfolk\",\n \"Northern Mariana Islands\": \"Islas Marianas del Norte\",\n \"North Korea\": \"Corea del Norte\",\n Norway: \"Noruega\",\n Oman: \"Omán\",\n Pakistan: \"Pakistán\",\n Palau: \"Palaos\",\n \"Palestine, State of\": \"Estado de Palestina\",\n Panama: \"Panamá\",\n \"Papua New Guinea\": \"Papúa Nueva Guinea\",\n Paraguay: \"Paraguay\",\n Peru: \"Perú\",\n Philippines: \"Filipinas\",\n Pitcairn: \"Pitcairn\",\n Poland: \"Polonia\",\n Portugal: \"Portugal\",\n \"Puerto Rico\": \"Puerto Rico\",\n Qatar: \"Katar\",\n Reunion: \"Reunión\",\n Romania: \"Rumania\",\n Russia: \"Rusia\",\n Rwanda: \"Ruanda\",\n \"Saint Helena\": \"Santa Elena\",\n \"Saint Kitts and Nevis\": \"San Cristóbal y Nieves\",\n \"Saint Lucia\": \"Santa Lucía\",\n \"Saint Pierre and Miquelon\": \"San Pedro y Miquelón\",\n \"Saint Vincent and the Grenadines\": \"San Vicente y las Granadinas\",\n Samoa: \"Samoa\",\n \"San Marino\": \"San Marino\",\n \"Sao Tome and Principe\": \"Santo Tomé y Príncipe\",\n \"Saudi Arabia\": \"Arabia Saudita\",\n Senegal: \"Senegal\",\n Serbia: \"Serbia\",\n Seychelles: \"Seychelles\",\n \"Sierra Leone\": \"Sierra Leona\",\n Singapore: \"Singapur\",\n \"Sint Maarten (Dutch)\": \"San Martín (holandés)\",\n Slovakia: \"Eslovaquia\",\n Slovenia: \"Eslovenia\",\n \"Solomon Islands\": \"Islas Salomón\",\n Somalia: \"Somalia\",\n \"South Africa\": \"Sudáfrica\",\n \"South Georgia and the South Sandwich Islands\":\n \"Georgia del sur y las islas Sandwich del sur\",\n \"South Korea\": \"Corea del Sur\",\n \"South Sudan\": \"Sudán del Sur\",\n Spain: \"España\",\n \"Sri Lanka\": \"Sri Lanka\",\n Sudan: \"Sudán\",\n Suriname: \"Surinam\",\n Svalbard: \"Islas Svalbard\",\n Sweden: \"Suecia\",\n Switzerland: \"Suiza\",\n Syria: \"Siria\",\n Taiwan: \"Taiwán\",\n Tajikistan: \"Tayikistán\",\n Tanzania: \"Tanzania\",\n Thailand: \"Tailandia\",\n Togo: \"Togo\",\n Tokelau: \"Tokelau\",\n Tonga: \"Tonga\",\n \"Trinidad and Tobago\": \"Trinidad y Tobago\",\n Tunisia: \"Túnez\",\n Turkey: \"Turquía\",\n Turkmenistan: \"Turkmenistán\",\n \"Turks and Caicos Islands\": \"Islas Turcas y Caicos\",\n Tuvalu: \"Tuvalu\",\n Uganda: \"Uganda\",\n Ukraine: \"Ucrania\",\n \"United Arab Emirates\": \"Emiratos Árabes Unidos\",\n \"United Kingdom\": \"Reino Unido\",\n \"United States\": \"Estados Unidos\",\n \"United States Minor Outlying Islands\":\n \"Islas menores alejadas de los Estados Unidos\",\n Uruguay: \"Uruguay\",\n Uzbekistan: \"Uzbekistán\",\n Vanuatu: \"Vanuatu\",\n \"Vatican City State\": \"Estado de la Ciudad del Vaticano\",\n Venezuela: \"Venezuela\",\n Vietnam: \"Vietnam\",\n \"Virgin Islands, British\": \"Islas Vírgenes, Británicas\",\n \"Virgin Islands, US\": \"Islas Vírgenes, EE.UU.\",\n \"Wallis and Futuna\": \"Wallis y Futuna\",\n \"Western Sahara\": \"Sahara Occidental\",\n Yemen: \"Yemen\",\n Zambia: \"Zambia\",\n Zimbabwe: \"Zimbabue\",\n};\n","export const has4Bytes = (str: string) => {\n for (let i = 0; i < str.length; i++) {\n if (str.codePointAt(i) > 65535) {\n return true;\n }\n }\n return false;\n};\n","import { ThemesEnums } from \"@/enums/themesEnums\";\nimport { ConfigResponseInterface } from \"@/interfaces/configResponseInterface\";\n\nfunction loadFavicon(themeName: string) {\n if (!themeName) {\n return;\n }\n const favicon = document.querySelector(\n \"link[rel~='icon']\"\n ) as HTMLLinkElement | null;\n if (favicon) {\n favicon.href = `/themes/${themeName}/favicon.ico`;\n }\n}\n\nexport async function loadLookAndFeel(themeName: string, url: string) {\n if (!themeName || !url) {\n return Promise.reject(url);\n }\n return new Promise((resolve, reject) => {\n const css = document.createElement(\"link\");\n css.rel = \"stylesheet\";\n css.onload = () => {\n css.onload = css.onerror = null;\n resolve(url);\n };\n css.onerror = () => {\n css.onload = css.onerror = null;\n reject(url);\n };\n css.href = url;\n document.body.appendChild(css);\n });\n}\n\nlet flow = null;\n\nexport async function fetchTheme(\n config: ConfigResponseInterface\n): Promise {\n let themeName = config.theme?.name;\n loadFavicon(themeName);\n const timestamp = Date.now();\n await loadLookAndFeel(\n themeName,\n config.theme?.cssURL || `/themes/${themeName}.css?t=${timestamp}`\n ).catch(async (url) => {\n console.error(`Error loading ${themeName} theme from ${url}`);\n themeName = ThemesEnums.VONAGE;\n await loadLookAndFeel(themeName, `/themes/${themeName}.css?t=${timestamp}`);\n });\n const response = await fetch(`/themes/${themeName}.flows.json?t=${timestamp}`);\n flow = await response.json();\n\n return themeName;\n}\n\nexport function getRegistrationType() {\n return flow[\"sign-in\"][\"registration-type\"];\n}\n\nexport function showStartUpSection() {\n return flow[\"sign-in\"][\"show-start-up\"];\n}\n\nexport function showPoweredBySection() {\n return flow[\"show-powered-by\"];\n}\n\nexport function getLoadingType() {\n return flow[\"loading-type\"];\n}\n\nexport function showImprintLink() {\n return flow[\"show-imprint-link\"];\n}\n\nexport function getRegistrationByInviteURL() {\n return flow[\"sign-in\"][\"registration-by-invite-url\"];\n}\n\nexport function hasShowConfirmationDialogForAccountCreation() {\n return flow[\"sign-up\"][\"confirmation-dialog-for-account-creation\"];\n}\n\nexport function canChangeEmailInVerifyEmailSection() {\n return flow[\"sign-up\"][\"can-change-email-in-verify-email-section\"];\n}\n\nexport function showWelcomeSection() {\n return flow[\"sign-up\"][\"show-welcome-section\"];\n}\n\nexport function twoFAOptions(type: \"sign-up\" | \"edit-profile\") {\n return flow[type][\"2fa-options\"];\n}\n\nexport function hasShowWarningDialogForDisabling2fa() {\n return flow[\"edit-profile\"][\"warning-dialog-for-disabling-2fa\"];\n}\n\nexport function getVendorName() {\n return flow[\"vendor-name\"];\n}\n","import { fetchTheme, getVendorName } from \"@/helpers/themeHelper\";\nimport { ConfigResponseInterface } from \"@/interfaces/configResponseInterface\";\nimport { ref } from \"vue\";\n\nexport const theme = ref(\"\");\nexport const localesURL = ref(\"\");\nexport const loginURL = ref(\"\");\nexport const clientId = ref(\"\");\nexport const vendorName = ref(\"\");\nexport const cookieConsent = ref({});\n\nexport async function loadTheme(\n config: ConfigResponseInterface\n): Promise {\n localesURL.value = config.theme?.localesURL;\n cookieConsent.value = config.theme.cookieConsent;\n theme.value = await fetchTheme(config);\n vendorName.value = getVendorName();\n loginURL.value = config.theme?.loginURL;\n clientId.value = config.theme?.clientId;\n}\n","export enum RouteNamesEnum {\n SIGNUP = \"SIGNUP\",\n LOGIN = \"LOGIN\",\n TWO_FA = \"TWO_FA\",\n TOTP_RECOVERY = \"TOTP_RECOVERY\",\n EMAIL_VERIFY = \"EMAIL_VERIFY\",\n PASSWORD_CHANGE = \"PASSWORD_CHANGE\",\n PASSWORD_RESET = \"PASSWORD_RESET\",\n FORGOT_PASSWORD = \"FORGOT_PASSWORD\",\n SETTINGS = \"SETTINGS\",\n LOGOUT = \"LOGOUT\",\n CAPTCHA = \"CAPTCHA\",\n ERROR_400 = \"ERROR_400\",\n ERROR_401 = \"ERROR_401\",\n ERROR_403 = \"ERROR_403\",\n ERROR_404 = \"ERROR_404\",\n ERROR_409 = \"ERROR_409\",\n ERROR_412 = \"ERROR_412\",\n ERROR_5xx = \"ERROR_5xx\",\n ERROR_RECOVERY_FLOW = \"ERROR_RECOVERY_FLOW\",\n RESTRICTED_SIGNUP = \"RESTRICTED_SIGNUP\",\n ERROR_WITH_QUERY_PARAM = \"ERROR_WITH_QUERY_PARAM\",\n TOTP_ENROLLMENT = \"TOTP_ENROLLMENT\",\n TOTP_CHECK = \"TOTP_CHECK\",\n}\n","import axios, { AxiosError, AxiosResponse, Method } from \"axios\";\nimport { KratosFlowResponseInterface } from \"@/interfaces/kratosFlowResponseInterface\";\nimport { redirectToLoginConfirmation } from \"@/components/login/store/loginActions\";\nimport { ObjectInterface } from \"@/interfaces/ObjectInterface\";\nimport {\n getRecaptchaToken,\n hasRetryOperation,\n interceptRecaptchaIssue,\n} from \"./recaptchaHelper\";\nimport { OperationIdEnums } from \"@/enums/operationIdEnum\";\nimport { OperationPathEnums } from \"@/enums/operationPath\";\nimport { logoutForbidden } from \"./configHelper\";\nimport { redirectToUrl } from \"./redirectHelper\";\n\nconst host = location.origin;\nconst backEndAxios = axios.create({\n baseURL: host,\n withCredentials: true,\n});\nconst headers = {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n};\n\nexport const isUnauthorizedError = (response: any) =>\n response.code === \"errUnauthorized\";\n\nexport const is2FARequiredError = (response: any) =>\n response?._error?.cause?.code === \"2fa-required\";\n\nexport const isMaxTriesError = (response: AxiosResponse) =>\n response.status === 409 && response?.data._error?.cause?.code === \"maxTries\";\n\nconst makeAxiosCall = async (url: string) => {\n const response = await backEndAxios.get(url, {\n headers,\n });\n return response.data;\n};\n\nconst checkIfLoggedIn = (e: AxiosError) => {\n const response = (e as any)?.response as AxiosResponse;\n if (\n response?.status === 400 &&\n response?.data?.error?.id === \"session_already_available\"\n ) {\n redirectToLoginConfirmation(\"\");\n }\n};\n\nexport async function idpInitiatedFlow(returnTo: string, refresh = false) {\n let url = `${OperationPathEnums.GET_IDP_INITIATED_FLOW}?return_to=${returnTo}`;\n\n if (refresh) {\n url += `&refresh=true`;\n }\n\n try {\n const response = await backEndAxios.get(url, {\n headers,\n });\n return response.data;\n } catch (e) {\n console.error(e);\n checkIfLoggedIn(e as AxiosError);\n return;\n }\n}\n\nconst getReturnTo = (hydraFlow: string) => {\n return hydraFlow && hydraFlow.length\n ? `${host}/redirect/redirect.html?login_challenge=${hydraFlow}`\n : \"\";\n};\n\nexport const getLoginFlowForUser = async (\n email: string,\n hydraFlow: string,\n token: string,\n refresh = false\n) => {\n const returnTo = getReturnTo(hydraFlow);\n let url = `${OperationPathEnums.GET_LOGIN_FLOW.replace(\n \"{email}\",\n email\n )}?return_to=${returnTo}&token=${token}`;\n if (refresh) {\n url += \"&refresh=true\";\n }\n const response = await interceptRecaptchaIssue(\n backEndAxios\n ).get(url, {\n headers,\n validateStatus: function (status) {\n return status === 200 || status === 401;\n },\n });\n if (hasRetryOperation(response)) {\n return await getLoginFlowForUser(email, hydraFlow, token);\n }\n return response.data;\n};\n\nexport const getPasswordChangeFlowFromApi = async () => {\n const url = OperationPathEnums.GET_PASSWORD_CHANGE_FLOW;\n return makeAxiosCall(url);\n};\n\nexport const getEditProfileFlowFromApi = async (token: string) => {\n const url =\n OperationPathEnums.GET_EDIT_PROFILE_FLOW +\n `${token ? \"?token=\" + token : \"\"}`;\n const response = await interceptRecaptchaIssue(\n backEndAxios\n ).get(url, {\n headers,\n validateStatus: function (status) {\n return (\n status === 200 || status === 409 || status === 401 || status === 417\n );\n },\n });\n if (hasRetryOperation(response)) {\n return await getEditProfileFlowFromApi(token);\n }\n return response.data;\n};\n\nexport const getRegistrationFlowFromApi = async (\n hydraFlow: string,\n token: string,\n flowID = \"\"\n) => {\n const returnTo = getReturnTo(hydraFlow);\n let url = `${OperationPathEnums.GET_REGISTRATION_FLOW}?return_to=${returnTo}`;\n\n if (token) {\n url += `&token=${token}`;\n }\n\n if (flowID) {\n url += `&flow=${flowID}`;\n }\n\n const response = await interceptRecaptchaIssue(\n backEndAxios\n ).get(url, {\n headers,\n validateStatus: function (status) {\n return status === 200 || status === 401;\n },\n });\n if (hasRetryOperation(response)) {\n return await getRegistrationFlowFromApi(hydraFlow, token, flowID);\n }\n return response.data;\n};\n\nexport const register = async (\n url: string,\n dataToSubmit: ObjectInterface,\n token: string\n) => {\n if (token) {\n url += `${url.indexOf(\"?\") !== -1 ? \"&\" : \"?\"}token=${token}`;\n }\n const response = await interceptRecaptchaIssue(backEndAxios).post(\n url,\n dataToSubmit,\n {\n headers,\n validateStatus: function (status) {\n return (\n status === 200 || status === 401 || status === 403 || status === 409\n );\n },\n }\n );\n if (hasRetryOperation(response)) {\n return await register(url, dataToSubmit, token);\n }\n return response;\n};\n\nexport const logout = () => {\n if (logoutForbidden()) {\n return;\n }\n redirectToUrl(\n `${host.replaceAll(\"ui.idp\", \"oidc.idp\")}/oauth2/sessions/logout`\n );\n};\n\nexport const attemptViamLogin = async (\n url: string,\n method: Method,\n formData: { [k: string]: string }\n) => {\n const myAxiosInstance = axios.create({\n headers: {\n \"Content-Type\": \"application/json\",\n },\n withCredentials: true,\n validateStatus: (status) =>\n status === 200 || status === 401 || status === 403 || status === 503,\n });\n const token = await getRecaptchaToken(OperationIdEnums.POST_LOGIN_FLOW);\n const m = method.toLowerCase();\n const u = `${url}${url.includes(\"?\") ? \"&\" : \"?\"}token=${token}`;\n let response = await interceptRecaptchaIssue(myAxiosInstance)[m](u, formData);\n if (hasRetryOperation(response)) {\n response = await myAxiosInstance[m](u, formData);\n }\n return response;\n};\n\nexport const putTOTPEnrollmentRequest = async () => {\n const myAxiosInstance = axios.create({\n headers: {\n \"Content-Type\": \"application/json\",\n },\n withCredentials: true,\n validateStatus: (status) => status === 200 || status === 401,\n });\n return await myAxiosInstance.put(OperationPathEnums.PUT_TOTP_REQUEST);\n}\n\nexport const checkTOTPValue = async (totpCode: string, type: 'enroll' | 'sign_in') => {\n const myAxiosInstance = axios.create({\n headers: {\n \"Content-Type\": \"application/json\",\n },\n withCredentials: true,\n validateStatus: (status) => status === 200 || status === 401 || status === 409 || status === 400,\n });\n const url = type === 'enroll' ?\n OperationPathEnums.CHECK_TOTP_ENROLL_VALUE :\n OperationPathEnums.CHECK_TOTP_SIGN_IN_VALUE\n return await myAxiosInstance.put(url, { totpCode });\n}\n","import { isRunningSmokeTests } from \"@/helpers/smokeHelper\";\nimport { CookieConsentInterface } from \"@/interfaces/configResponseInterface\";\nimport { il8n } from \"./i18n\";\nimport { theme } from \"@/components/theme/themeState\";\nimport { ThemesEnums } from \"@/enums/themesEnums\";\nconst { t } = il8n.global;\n\nconst redesignBannerForThridParties = () => {\n if (theme.value === ThemesEnums.VONAGE || theme.value === ThemesEnums.KWC) {\n return;\n }\n const mo = new MutationObserver((mutations) => {\n const added = mutations.some((mutation) => {\n if (mutation.target !== document.body) {\n return false;\n }\n const found = Array.prototype.find.call(\n mutation.addedNodes,\n (node) => node.id === \"onetrust-consent-sdk\"\n );\n !!found &&\n window.setTimeout(() => {\n const link = found.querySelector(\".privacy-notice-link\");\n if (link) {\n link.textContent = link.textContent.replaceAll(\n \"Vonage\",\n t(`provider.name`)\n );\n link.href = t(`provider.privacy`);\n }\n });\n return !!found;\n }, 500);\n added && mo.disconnect();\n });\n mo.observe(document.body, { childList: true });\n};\n\nexport const loadCookieConsent = (data: CookieConsentInterface) => {\n if (isRunningSmokeTests() || !data?.url) {\n return;\n }\n const head = document.getElementsByTagName(\"head\")[0];\n const js = document.createElement(\"script\");\n js.type = \"text/javascript\";\n js.src = data.url;\n js.dataset.domainScript = data.domainScript;\n redesignBannerForThridParties();\n head.appendChild(js);\n (window as any).OptanonWrapper = function () {\n /**/\n };\n};\n","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, resolveDirective as _resolveDirective, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = { class: \"title text-condensed\" }\nconst _hoisted_2 = { class: \"content\" }\nconst _hoisted_3 = [\"href\"]\nconst _hoisted_4 = {\n href: \"https://privacyportal-eu.onetrust.com/webform/96777f10-6f1e-44b1-b0f7-9c318f8d2e5f/b879048e-a00f-4b8e-8721-d84f2a1bda05\",\n class: \"text-condensed\",\n target: \"_blank\"\n}\nconst _hoisted_5 = [\"href\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_VIcon = _resolveComponent(\"VIcon\")!\n const _component_VDivider = _resolveComponent(\"VDivider\")!\n const _directive_click_outside = _resolveDirective(\"click-outside\")!\n\n return (_ctx.show)\n ? _withDirectives((_openBlock(), _createElementBlock(\"section\", {\n key: 0,\n onMouseleave: _cache[2] || (_cache[2] = ($event: any) => (_ctx.extend = false)),\n onTransitionend: _cache[3] || (_cache[3] = ($event: any) => (_ctx.extended = _ctx.extend)),\n class: _normalizeClass(['tool', _ctx.extend ? 'extend' : '', _ctx.extended ? 'extended' : ''])\n }, [\n _createElementVNode(\"span\", {\n class: \"handlebar\",\n onMouseover: _cache[0] || (_cache[0] = ($event: any) => (_ctx.extend = true)),\n onTouchstart: _cache[1] || (_cache[1] = ($event: any) => (_ctx.extend = !_ctx.extend))\n }, [\n _createVNode(_component_VIcon, {\n name: \"vonage-color\",\n size: -1\n }),\n _createElementVNode(\"p\", _hoisted_1, _toDisplayString(_ctx.$t(\"privacy.title\")), 1)\n ], 32),\n _createElementVNode(\"span\", _hoisted_2, [\n _createElementVNode(\"a\", {\n href: _ctx.$t('provider.vonagePrivacy'),\n target: \"_blank\",\n class: \"text-condensed\"\n }, _toDisplayString(_ctx.$t(\"privacy.link\", { name: \"Vonage\" })), 9, _hoisted_3),\n _createVNode(_component_VDivider, {\n class: \"divider\",\n orientation: \"vertical\"\n }),\n _cache[4] || (_cache[4] = _createElementVNode(\"a\", {\n href: \"#\",\n id: \"ot-sdk-btn\",\n class: \"ot-sdk-show-settings text-condensed\"\n }, null, -1)),\n _createVNode(_component_VDivider, {\n class: \"divider\",\n orientation: \"vertical\"\n }),\n _createElementVNode(\"a\", _hoisted_4, _toDisplayString(_ctx.$t(\"privacy.choices\")), 1),\n (!_ctx.isVonage)\n ? (_openBlock(), _createBlock(_component_VDivider, {\n key: 0,\n class: \"divider\",\n orientation: \"vertical\"\n }))\n : _createCommentVNode(\"\", true),\n (!_ctx.isVonage)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 1,\n href: _ctx.$t('provider.privacy'),\n target: \"_blank\",\n class: \"text-condensed\"\n }, _toDisplayString(_ctx.$t(\"privacy.link\", {\n name: _ctx.$t(`provider.myName`),\n })), 9, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ])\n ], 34)), [\n [_directive_click_outside, () => (_ctx.extend = false)]\n ])\n : _createCommentVNode(\"\", true)\n}","\n\n\n\n\n","import { render } from \"./viam-privacy-badge.vue?vue&type=template&id=4e375f0e&scoped=true&ts=true\"\nimport script from \"./viam-privacy-badge.vue?vue&type=script&lang=ts\"\nexport * from \"./viam-privacy-badge.vue?vue&type=script&lang=ts\"\n\nimport \"./viam-privacy-badge.vue?vue&type=style&index=0&id=4e375f0e&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4e375f0e\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, createVNode as _createVNode, unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Transition as _Transition, withCtx as _withCtx } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"vvd-root wrapper\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"captcha\"\n}\nconst _hoisted_3 = { class: \"header\" }\nconst _hoisted_4 = [\"src\"]\n\nimport { watch, ref } from \"vue\";\nimport { theme, cookieConsent } from \"./components/theme/themeState\";\nimport { localesURL } from \"./components/theme/themeState\";\nimport { HIDE_CAPTCHA_UI, SHOW_CAPTCHA_UI } from \"./helpers/recaptchaHelper\";\nimport { loadCookieConsent } from \"./plugins/cookieConsent\";\nimport { RoutePathsEnum } from \"./enums/routePathsEnum\";\nimport { appState } from \"./AppStore\";\nimport VonageLogo from \"./components/vonageLogo/VonageLogo.vue\";\nimport ViamPrivacyBadge from \"./components/privacy/viam-privacy-badge.vue\";\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { Transition } from \"vue\";\nimport { loadMessagesFromTheme, il8n } from \"@/plugins/i18n\";\nimport { CookieConsentInterface } from \"./interfaces/configResponseInterface\";\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'App',\n setup(__props) {\n\nconst ready = ref(false);\nwatch(theme, async (newName, oldName) => {\n if (oldName !== newName) {\n await loadMessagesFromTheme(newName, localesURL.value);\n loadCookieConsent(cookieConsent.value as CookieConsentInterface);\n document.title = il8n.global.t(\"provider.title\");\n ready.value = true;\n }\n});\nconst { showCaptchaUI } = appState();\nwindow.addEventListener(\"message\", (event: any) => {\n if (event.origin !== location.origin) {\n return;\n }\n const data = event.data?.data;\n if (data?.action === SHOW_CAPTCHA_UI || data?.action === HIDE_CAPTCHA_UI) {\n showCaptchaUI.value = data?.action === SHOW_CAPTCHA_UI;\n }\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (ready.value)\n ? (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n _createVNode(_component_router_view),\n _createVNode(_Transition, { name: \"fade\" }, {\n default: _withCtx(() => [\n (_unref(showCaptchaUI) && _unref(theme))\n ? (_openBlock(), _createElementBlock(\"section\", _hoisted_2, [\n _createElementVNode(\"header\", _hoisted_3, [\n _createVNode(VonageLogo)\n ]),\n _createElementVNode(\"iframe\", {\n class: \"frame\",\n src: `${_unref(RoutePathsEnum).CAPTCHA}?timestamp=${Date.now()}`\n }, null, 8, _hoisted_4)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n _createVNode(ViamPrivacyBadge)\n ]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","\n\n\n\n\n","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=7d57fd54&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, createBlock as _createBlock, normalizeClass as _normalizeClass, withCtx as _withCtx } from \"vue\"\n\nimport { VSelect, VOption } from \"@vonage/vivid-vue\";\nimport { countriesList as countries } from \"@/components/kartosNodes/KratosCustomComponents/KratosCountryCode/CountriesMap\";\nimport { computed } from \"vue\";\nimport { KratosFlowsNodeInterface } from \"@/interfaces/kratosFlowsNodeInterface\";\nimport { isDisabledNode } from \"@/helpers/kratosHelper\";\nimport { il8n } from \"@/plugins/i18n\";\ninterface Props {\n name: string;\n value: string;\n node: KratosFlowsNodeInterface;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'KratosCountryCode',\n props: {\n name: {},\n value: {},\n node: {}\n },\n emits: [\"input\"],\n setup(__props: any, { emit: __emit }) {\n\nconst { t } = il8n.global;\n\nconst props = __props;\nconst emit = __emit;\nconst isHidden = computed(() => {\n return props.node?.attributes?.type === \"hidden\";\n});\nconst isDisabled = computed(() => isDisabledNode(props.node));\nconst sortedCountries = computed(() => {\n const result = [];\n countries.forEach((country: any) => {\n let name = \"\";\n if (country.name) {\n name = t(\"countries.\" + country.name);\n if (name.includes(\"countries.\")) {\n // It means there is not translation yet\n name = country.name;\n }\n }\n const callingCode = country.callingCode\n ? \"(\" + country.callingCode + \")\"\n : \"\";\n result.push({ ...country, translatedName: `${name} ${callingCode}` });\n });\n return result.sort((c1, c2) =>\n c1.translatedName.localeCompare(c2.translatedName)\n );\n});\nfunction input(value: string) {\n emit(\"input\", props.name, value);\n}\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_unref(VSelect), {\n class: _normalizeClass(`form-field country-dropdown ${isHidden.value ? 'hidden' : ''}`),\n \"model-value\": props.value,\n label: _ctx.$t('common.countryCode'),\n \"onUpdate:modelValue\": input,\n name: _ctx.name,\n disabled: isDisabled.value\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(sortedCountries.value, (country) => {\n return (_openBlock(), _createBlock(_unref(VOption), {\n \"data-id\": country.code,\n value: country.code,\n key: country.code,\n selected: props.value === country.code,\n text: country.translatedName\n }, null, 8, [\"data-id\", \"value\", \"selected\", \"text\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"class\", \"model-value\", \"label\", \"name\", \"disabled\"]))\n}\n}\n\n})","\n\n\n\n\n","import script from \"./KratosCountryCode.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./KratosCountryCode.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./KratosCountryCode.vue?vue&type=style&index=0&id=1ab37396&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1ab37396\"]])\n\nexport default __exports__","import { RoutePathsEnum } from \"@/enums/routePathsEnum\";\nimport { canSubmitRegistration } from \"@/components/signup/store/signupActions\";\nimport { signupState } from \"@/components/signup/store/signupState\";\nimport { RestrictEditProfileEnum } from \"@/enums/restrictEditProfileEnum\";\nimport { vendorName } from \"@/components/theme/themeState\";\n\nconst PRIMARY_CATEGORY_LOGIN = \"biz:sso:nexmo:login\";\nconst PRIMARY_CATEGORY_SIGNUP = \"biz:sso:nexmo:signup\";\nconst PRIMARY_CATEGORY_MAIN = \"biz:sso:nexmo\";\n\nexport const digitalDataTemplate = {\n page: {\n pageInfo: {\n pageName: \"\",\n lob: \"biz\",\n functionDept: \"biz:sso:nexmo\",\n subCategory1: \"\",\n subCategory2: \"\",\n subCategory3: \"\",\n primaryCategory: \"\",\n internalSearchTerm: \"\",\n internalSearchResults: \"\",\n error: \"\",\n pageType: \"\",\n language: \"en\",\n country: \"us\",\n fileGatedType: \"\",\n tollFreeNumber: \"\",\n siteIdentifier: \"\",\n type: \"\",\n pageCategory: \"\",\n pageSubCategory: \"\",\n },\n content: {\n name: \"\",\n category: \"\",\n author: \"\",\n type: \"\",\n publishDate: \"\",\n subCategory: \"\",\n topic: \"\",\n industry: \"\",\n businessSize: \"\",\n profRole: \"\",\n company: \"\",\n product: \"\",\n },\n },\n user: {\n profile: {\n profileInfo: {\n targetExperience: \"\",\n responsiveSiteVersion: \"\",\n visitorType: \"\",\n gaCampaign: \"\",\n },\n },\n },\n transaction: {\n item: { quantity: \"\", price: \"\", productInfo: \"\" },\n },\n eventData: {\n fIndustry: \"\",\n fName: \"lead form: api: sso sign up: in page\",\n fAreaofinterest: \"API\",\n fCTA: \"\",\n fLines: \"\",\n linesSlider: \"\",\n interactionType: \"\",\n events: \"\",\n },\n};\n\n// Initialize the window.digitalData object and the event driven data layer window.digData object, which Adobe relies on for creating tags\nconst initDataLayer = () => {\n if (!(window as any).digitalData) {\n (window as any).digitalData = digitalDataTemplate;\n }\n (window as any).digData = (window as any).digData || [];\n};\n\nconst formatPathForPageName = (urlPath) => {\n return urlPath.replace(/^\\//, \"\").replace(/\\//g, \":\");\n};\n\nconst getAdobePageName = (currentPagePath, currentPageQuery) => {\n let pageName: string;\n switch (currentPagePath) {\n case RoutePathsEnum.MAIN_LOGIN_URL:\n pageName = \"home\";\n break;\n case RoutePathsEnum.LOGIN:\n case RoutePathsEnum.SIGNUP:\n pageName = \"\";\n break;\n case RoutePathsEnum.LOGIN_CONFIRMATION:\n pageName = \"login-confirmation\";\n break;\n case RoutePathsEnum.LOGOUT:\n pageName = \"logout\";\n break;\n case RoutePathsEnum.PASSWORD_CHANGE:\n case RoutePathsEnum.PASSWORD_RESET:\n pageName = \"change-password\";\n break;\n case RoutePathsEnum.RESTRICTED_SIGNUP:\n pageName = \"restricted-signup\";\n break;\n case RoutePathsEnum.EMAIL_VERIFY:\n pageName = \"verify-email\";\n break;\n case RoutePathsEnum.TWO_FA:\n pageName = \"verify-phone\";\n break;\n case RoutePathsEnum.SETTINGS:\n pageName = \"settings\";\n if (currentPageQuery?.entity === RestrictEditProfileEnum.EMAIL) {\n pageName += \":edit-email\";\n } else if (currentPageQuery?.entity === RestrictEditProfileEnum.PHONE) {\n pageName += \":edit-phone\";\n }\n break;\n case RoutePathsEnum.FORGOT_PASSWORD:\n pageName = \"forgot-password\";\n break;\n default:\n pageName = `${formatPathForPageName(currentPagePath)}`;\n break;\n }\n return pageName;\n};\n\nconst getPrimaryCategory = (currentUrl: string) => {\n let category: string;\n switch (currentUrl) {\n case RoutePathsEnum.MAIN_LOGIN_URL:\n case RoutePathsEnum.LOGIN:\n case RoutePathsEnum.LOGIN_CONFIRMATION:\n case RoutePathsEnum.LOGOUT:\n case RoutePathsEnum.PASSWORD_CHANGE:\n category = PRIMARY_CATEGORY_LOGIN;\n break;\n case RoutePathsEnum.SIGNUP:\n case RoutePathsEnum.RESTRICTED_SIGNUP:\n case RoutePathsEnum.EMAIL_VERIFY:\n case RoutePathsEnum.TWO_FA:\n case RoutePathsEnum.SETTINGS:\n category = PRIMARY_CATEGORY_SIGNUP;\n break;\n default:\n category =\n currentUrl.indexOf(RoutePathsEnum.FORGOT_PASSWORD) > -1\n ? PRIMARY_CATEGORY_LOGIN\n : PRIMARY_CATEGORY_MAIN;\n break;\n }\n return category;\n};\n\nconst trackSignUpInteractions = function (currentPagePath: string) {\n const callback = function () {\n if (currentPagePath === RoutePathsEnum.SIGNUP) {\n (window as any).digitalData.eventData.fID = (\n document.querySelector(\"[name='traits.phone.uuid'] input\") as any\n ).value;\n document\n .querySelectorAll(\"vwc-3-text-field input, vwc-3-select\")\n .forEach((r) =>\n [\"keyup\", \"change\", \"click\"].forEach((eventName: string) =>\n r.addEventListener(eventName, () => trackFormEvent(\"formStart\"))\n )\n );\n document\n .querySelectorAll('vwc-3-text-field input[type=\"email\"]')\n .forEach((r) =>\n [\"blur\", \"keyup\"].forEach((eventName: string) =>\n r.addEventListener(eventName, () => emailEvent(r))\n )\n );\n document.querySelectorAll('[data-id=\"password_method\"]').forEach((r) =>\n r.shadowRoot\n .querySelector('button[type=\"submit\"]')\n .addEventListener(\"click\", function () {\n const state = signupState();\n const formData = state.formData.value;\n const result = canSubmitRegistration(formData);\n if (result.length) {\n const fErrors = [];\n result.forEach((item) => {\n fErrors.push(\n \"form:\" + item.error.replace(\"signup.errors.\", \"\")\n );\n });\n (window as any).digitalData.eventData.fErrors = fErrors.join(\",\");\n trackFormEvent(\"formError\", true);\n }\n trackFormEvent(\"formSubmit\", true);\n })\n );\n } else if (currentPagePath === RoutePathsEnum.TWO_FA) {\n document\n .querySelectorAll('[data-id=\"two-fa-submit\"]')\n .forEach((r) =>\n r.shadowRoot\n .querySelector(\"button\")\n .addEventListener(\"click\", () =>\n trackFormEvent(\"smsCodeSubmit\", true)\n )\n );\n }\n };\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", callback);\n } else {\n callback();\n }\n};\n\nconst trackLoginInteractions = function () {\n const callback = function () {\n document\n .querySelectorAll(\"[data-id='next_password']\")\n .forEach(function (b) {\n b.addEventListener(\"click\", () => trackFormEvent(\"loginEmailEntered\"));\n });\n };\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", callback);\n } else {\n callback();\n }\n};\n\nconst trackedEvent = function (digData, ev) {\n return !!(\n digData &&\n digData.filter &&\n digData.filter((data) => data.event === ev).length\n );\n};\n\nconst trackFormEvent = function (ev: string, runMultiple?: boolean) {\n if (runMultiple || !trackedEvent((window as any).digData, ev)) {\n (window as any).digData.push({ event: ev });\n }\n};\n\nconst emailEvent = function (e) {\n if (!trackedEvent((window as any).digData, \"emailEntered\")) {\n const n = e.value;\n if (\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n n\n )\n ) {\n (window as any).digitalData.eventData.email = n;\n (window as any).digData.push({ event: \"emailEntered\" });\n }\n }\n};\n\n/**\n * This is the function that performs the main work. It updates the window.digitalData object\n * According to the current page URL\n * @param {*} vueNewUrl the current page URL\n */\nexport const initAnalytics = (vueNewUrl) => {\n initDataLayer();\n const { digitalData } = window as any;\n const { digData } = window as any;\n\n const currentPagePath = vueNewUrl?.path || document.location.pathname;\n const currentPageQuery = vueNewUrl?.query;\n const currentPageCat = getPrimaryCategory(currentPagePath);\n const currentPageName = getAdobePageName(currentPagePath, currentPageQuery);\n\n digitalData.page.pageInfo.pageName = currentPageName.length\n ? `${currentPageCat}:${currentPageName}`\n : currentPageCat;\n digitalData.page.pageInfo.primaryCategory = currentPageCat;\n digitalData.page.pageInfo.siteIdentifier = vendorName.value || currentPageCat;\n\n if (currentPagePath === RoutePathsEnum.SIGNUP) {\n trackFormEvent(\"formImpression\");\n }\n if (currentPagePath === RoutePathsEnum.EMAIL_VERIFY) {\n trackFormEvent(\"formComplete\");\n }\n if (currentPagePath === RoutePathsEnum.TWO_FA) {\n trackFormEvent(\"phoneVerification\");\n }\n trackFormEvents(currentPagePath);\n digData.push({ event: \"pageLoad\" });\n};\n\nexport const trackFormEvents = (currentPagePath: string) => {\n const method =\n RoutePathsEnum.SIGNUP === currentPagePath ||\n RoutePathsEnum.TWO_FA === currentPagePath\n ? trackSignUpInteractions\n : RoutePathsEnum.LOGIN == currentPagePath\n ? trackLoginInteractions\n : null;\n method !== null && setTimeout(method, 1500, currentPagePath);\n};\n","// List of route names to be ignored from both DTM and GTM analytics\nimport { RouteLocationNormalized } from \"vue-router\";\nimport { initAnalytics } from \"@/plugins/adobeAnalytics\";\nimport { isRunningSmokeTests } from \"./smokeHelper\";\n\nexport const IGNORE_PAGES: string[] = [];\n\nlet enabled = true;\n\nexport const enableAdobeAnalytics = (value: boolean) => {\n enabled = value;\n};\n\n/*\n * This function executes the page call which will send the tracking beacon to Adobe\n */\nexport const adobePageCall = (\n to: RouteLocationNormalized,\n from: RouteLocationNormalized\n) => {\n if (!enabled || isRunningSmokeTests()) {\n return;\n }\n // reject invalid params\n if (!from || !from.path || !to || !to.path) {\n return;\n }\n // check if the page should be ignored from tracking (for URLs with PII or sensitive information such as reset password keys)\n if (IGNORE_PAGES.includes(to.name as string)) {\n return;\n }\n // eslint-disable-next-line no-undef\n initAnalytics(to);\n};\n","const clickOutside = {\n beforeMount: (el, binding) => {\n el.clickOutsideEvent = (event) => {\n // here I check that click was outside the el and his children\n if (!(el == event.target || el.contains(event.target))) {\n // and if it did, call method provided in attribute value\n binding.value();\n }\n };\n document.addEventListener(\"click\", el.clickOutsideEvent);\n },\n unmounted: (el) => {\n document.removeEventListener(\"click\", el.clickOutsideEvent);\n },\n};\n\nexport default clickOutside;\n","import { createApp } from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport { il8n } from \"@/plugins/i18n\";\nimport { getConfig } from \"@/components/config/configState\";\nimport { loadTheme } from \"@/components/theme/themeState\";\nimport { KratosCountryCode } from \"@/components/kartosNodes/KratosCustomComponents\";\nimport { adobePageCall } from \"@/helpers/analyticsHelper\";\nimport { setCustomComponentPrefix } from \"@vonage/vivid-vue\";\nimport clickOutside from \"./directives/clickOutside\";\n\n// set prefix for vivid 3 components\nsetCustomComponentPrefix(\"vwc-3\");\n\nlet ready = null;\nconst onReady = new Promise((r) => (ready = r));\n// Adobe Tag Manager integration\nrouter.afterEach((to, from) => {\n // The router handler is invoked the first then we have to wait for the vendor name\n // which is asynchronous (server config endpoint -> get configuration json -> vendor name value)\n onReady.then(() => adobePageCall(to, from));\n});\n\nexport const app = createApp(App);\napp.directive(\"click-outside\", clickOutside);\n\ngetConfig()\n .then((config) => loadTheme(config))\n .then(() => ready());\n\n// Global Kratos Custom Components\napp.component(\"KratosCountryCode\", KratosCountryCode);\n\n// Vue Router\napp.use(router);\n\n// Use internationalization\napp.use(il8n);\n\n// Mount app\napp.mount(\"#app\");\n","export enum LoginStepEnum {\n LoginStepOne = \"LoginStepOne\",\n LoginStepTwo = \"LoginStepTwo\",\n}\n","import { KratosNodeNamesEnum } from \"@/enums/kratosNodesEnum\";\nimport { KratosFlowGroupAdvisorInterface } from \"@/interfaces/KratosFlowGroupAdvisorInterface\";\n\nexport const signupGroupAdvisor: KratosFlowGroupAdvisorInterface[] = [\n {\n kratosGroupFlowIndex: 0,\n kratosGroupNodeIndex: 0,\n displayAfter: KratosNodeNamesEnum.EMAIL,\n name: KratosNodeNamesEnum.FIRST_NAME,\n },\n {\n kratosGroupFlowIndex: 0,\n kratosGroupNodeIndex: 1,\n displayAfter: KratosNodeNamesEnum.EMAIL,\n name: KratosNodeNamesEnum.LAST_NAME,\n },\n {\n kratosGroupFlowIndex: 1,\n kratosGroupNodeIndex: 0,\n displayAfter: KratosNodeNamesEnum.CONFIRM_PASSWORD,\n name: KratosNodeNamesEnum.PHONE_COUNTRY,\n },\n {\n kratosGroupFlowIndex: 1,\n kratosGroupNodeIndex: 1,\n displayAfter: KratosNodeNamesEnum.CONFIRM_PASSWORD,\n name: KratosNodeNamesEnum.PHONE_NUMBER,\n },\n];\n","import { ref } from \"vue\";\n\nconst MAX_MOBILE_WIDTH_RESOLUTION = 480;\nconst MAX_TABLET_WIDTH_RESOLUTION = 768;\n\nconst checkIsMobile = (innerWidth?: number) => {\n innerWidth = innerWidth || window.innerWidth;\n return innerWidth <= MAX_MOBILE_WIDTH_RESOLUTION;\n};\n\nconst checkIsTable = (innerWidth?: number) => {\n innerWidth = innerWidth || window.innerWidth;\n return (\n innerWidth > MAX_MOBILE_WIDTH_RESOLUTION &&\n innerWidth <= MAX_TABLET_WIDTH_RESOLUTION\n );\n};\n\nconst isMobile = ref(checkIsMobile());\nconst isTable = ref(checkIsTable());\n\nexport const onChange = () => {\n return {\n isMobile,\n isTable,\n };\n};\n\nconst onResize = () => {\n const { innerWidth } = window;\n isMobile.value = checkIsMobile(innerWidth);\n isTable.value = checkIsTable(innerWidth);\n};\n\nwindow.addEventListener(\"resize\", onResize);\n","// Adds Confirm password that is not required by kratos by default\nimport { KratosFlowResponseInterface } from \"@/interfaces/kratosFlowResponseInterface\";\nimport { KratosFlowsNodeInterface } from \"@/interfaces/kratosFlowsNodeInterface\";\nimport { createUUIDV4 } from \"@/helpers/uuidHelper\";\nimport { addConfirmPassword } from \"@/helpers/modifyFlowHelper\";\nimport { addNodeToGroup } from \"@/helpers/groupNodesHelper\";\nimport { signupGroupAdvisor } from \"@/components/signup/store/signupGroupAdvisor\";\nimport {\n KratosGroupNodeNamesEnum,\n KratosNodeNamesEnum,\n} from \"@/enums/kratosNodesEnum\";\nimport { cook2FaTypeNode, getNodeFromUI, setReadonlyNodes } from \"@/helpers/kratosHelper\";\nimport { il8n } from \"@/plugins/i18n\";\nconst { t } = il8n.global;\nimport { onChange } from \"../../helpers/viewportHelper\";\nconst { isTable } = onChange();\n\nconst modifyUUID = (node: KratosFlowsNodeInterface) => {\n try {\n if (!node?.attributes?.value) {\n node.attributes.value = createUUIDV4();\n }\n node.attributes.type = \"hidden\";\n } catch (e) {\n console.error(e);\n }\n return node;\n};\n\nexport const modifySignupFlow = (signupFlow: KratosFlowResponseInterface) => {\n const modifiedNodes: KratosFlowsNodeInterface[] = [];\n setReadonlyNodes(signupFlow);\n signupFlow.ui.groupedNodes = [];\n const phoneNumberNode = getNodeFromUI(\n signupFlow.ui,\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.PHONE_NUMBER\n );\n if (phoneNumberNode) {\n phoneNumberNode.meta.label.text = t(\"common.phoneNumber\");\n phoneNumberNode.meta.tooltip = {\n title: t(\"signup.phoneNumberTitleTooltip\"),\n text: t(\"signup.phoneNumberTextTooltip\"),\n };\n }\n\n const secondFactorType = getNodeFromUI(\n signupFlow.ui,\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.SECOND_FACTOR_TYPE\n );\n if (secondFactorType) {\n cook2FaTypeNode(secondFactorType, \"sign-up\");\n secondFactorType.meta.card = true;\n }\n\n const countryCode = getNodeFromUI(\n signupFlow.ui,\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.PHONE_COUNTRY\n );\n if (countryCode) {\n countryCode.meta.label.text = t(\"common.countryCode\");\n countryCode.attributes.required = true;\n }\n\n const firstName = getNodeFromUI(\n signupFlow.ui,\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.FIRST_NAME\n );\n if (firstName) {\n firstName.meta.label.text = t(\"common.firstName\");\n firstName.attributes.required = true;\n }\n\n const lastName = getNodeFromUI(\n signupFlow.ui,\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.LAST_NAME\n );\n if (lastName) {\n lastName.meta.label.text = t(\"common.lastName\");\n lastName.attributes.required = true;\n }\n\n const methodNode = getNodeFromUI(\n signupFlow.ui,\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.METHOD\n );\n methodNode && (methodNode.meta.label.text = t(\"signup.signUpSubmit\"));\n\n // VIAM-1170 The autofocus feature is disabled in the mobile and table\n // versions (vertical layout).\n const autofocus = !isTable.value;\n signupFlow?.ui?.nodes?.forEach((node) => {\n if (node?.attributes?.name === KratosNodeNamesEnum.PASSWORD) {\n node.meta.label.text = t(\"common.password\");\n node.meta.autocomplete = \"new-password\";\n modifiedNodes.push(...addConfirmPassword(node));\n node.meta.tooltip = {\n title: t(\"signup.passwordTitleTooltip\"),\n text: t(\"signup.passwordTextTooltip\"),\n };\n return;\n }\n\n if (node?.attributes?.name === KratosNodeNamesEnum.PHONE_UUID) {\n modifiedNodes.push(modifyUUID(node));\n return;\n }\n\n if (node?.attributes?.name === KratosNodeNamesEnum.EMAIL) {\n if (autofocus) {\n node.focus = true;\n }\n node.meta.label.text = t(\"common.email\");\n node.meta.autocomplete = \"username\";\n }\n\n // Add this to group and skip adding it into the nodes list\n const groupAdvisorForNode = signupGroupAdvisor.find(\n (advisor) => advisor.name === node?.attributes?.name\n );\n\n if (addNodeToGroup(signupFlow.ui.groupedNodes, groupAdvisorForNode, node)) {\n return;\n }\n modifiedNodes.push(node);\n });\n\n signupFlow.ui.nodes = modifiedNodes;\n return signupFlow;\n};\n","import { redirectToLoginConfirmation } from \"@/components/login/store/loginActions\";\nimport { modifySignupFlow } from \"@/components/signup/modifySignupFlow\";\nimport { signupState } from \"@/components/signup/store/signupState\";\nimport { ErrorEnum } from \"@/enums/errorEnum\";\nimport {\n KratosGroupNodeNamesEnum,\n KratosNodeNamesEnum,\n} from \"@/enums/kratosNodesEnum\";\nimport { OperationIdEnums } from \"@/enums/operationIdEnum\";\nimport { OperationPathEnums } from \"@/enums/operationPath\";\nimport { RoutePathsEnum } from \"@/enums/routePathsEnum\";\nimport { signUpForbidden } from \"@/helpers/configHelper\";\nimport { parseContextFromString } from \"@/helpers/contextHelper\";\nimport { getStandardErrorFromResponse } from \"@/helpers/errorHelper\";\nimport {\n clearErrorMessagesInFlow,\n getNodeFromFlow,\n modifyExistingFlowWithMessages,\n} from \"@/helpers/kratosHelper\";\nimport { kratosNameToObject } from \"@/helpers/kratosNameToObjectHelper\";\nimport { disambiguateNumber, sanitizePhoneNumber } from \"@/helpers/phoneNumberHelper\";\nimport { isSuspiciousUserError } from \"@/helpers/recaptchaHelper\";\nimport { redirectToUrl } from \"@/helpers/redirectHelper\";\nimport { has4Bytes } from \"@/helpers/stringHelper\";\nimport {\n getRegistrationFlowFromApi,\n isUnauthorizedError,\n register,\n} from \"@/helpers/viamBackendHelper\";\nimport { ContextInterface } from \"@/interfaces/contextInterface\";\nimport { KratosFlowResponseInterface } from \"@/interfaces/kratosFlowResponseInterface\";\nimport { ObjectInterface } from \"@/interfaces/ObjectInterface\";\nimport { SignUpErrorResponse } from \"@/interfaces/signUpErrorResponse\";\nimport { il8n } from \"@/plugins/i18n\";\nimport { AxiosResponse } from \"axios\";\n\nconst state = signupState();\nconst { t } = il8n.global;\n\nexport const parseSignupContext = (context: string) => {\n const parsedContext = parseContextFromString(context);\n if (!parsedContext) {\n if (!signUpForbidden()) {\n redirectToUrl(OperationPathEnums.GET_REGISTRATION);\n }\n return;\n }\n state.signUpContext.value = parsedContext;\n return parsedContext;\n};\n\nexport const getSignupFlow = async (token: string, id?: string) => {\n if (signUpForbidden(state.signupError)) {\n state.loading.value = false;\n return;\n }\n try {\n const flow = await getRegistrationFlowFromApi(\n state.signUpContext.value?.hydraFlow,\n token,\n id\n );\n if (isSuspiciousUserError(flow)) {\n state.signupError.value = \"errors.suspiciousUserError\";\n state.loading.value = false;\n } else if (isUnauthorizedError(flow)) {\n state.signupError.value = \"errors.operationCannotBePerformed\";\n state.loading.value = false;\n } else {\n assignSignupFlowToState(flow);\n }\n } catch (e) {\n console.error(e);\n const response = (e as any).response as AxiosResponse;\n let messageFromResponse = getStandardErrorFromResponse(response);\n if (\n messageFromResponse &&\n messageFromResponse.includes(\"the user being already logged in\")\n ) {\n messageFromResponse += t(\"signup.errors.validSession\", {\n continueURL: RoutePathsEnum.LOGIN_CONFIRMATION,\n actionLogout: OperationIdEnums.LOGOUT,\n actionContinue: OperationIdEnums.LOGIN_CONFIRMATION,\n });\n }\n state.signupError.value = messageFromResponse || \"signup.errors.flowError\";\n state.loading.value = false;\n }\n};\n\nexport const clearErrorMessages = () => {\n clearErrorMessagesInFlow(state.signupFlow.value);\n state.signupError.value = \"\";\n};\n\nexport const isValidForm = () => {\n const formData = state.formData.value;\n clearErrorMessages(); // CLear all errors so that errors don't overlap\n if (!state.continueRegistration) {\n return false;\n }\n const result = canSubmitRegistration(formData);\n if (result.length) {\n // There are errors in the form then we cannot continue with submission\n result.forEach((item) => {\n const node = getNodeFromFlow(\n state.signupFlow.value,\n item.group,\n item.name\n );\n node &&\n node.messages.push({\n id: -1, // No matter the id\n text: t(item.error),\n type: \"\", // No matter type\n });\n });\n return false;\n }\n\n return true;\n};\n\nexport const submitRegistration = async (token: string) => {\n if (signUpForbidden(state.signupError)) {\n state.loading.value = false;\n return;\n }\n const formData = { ...state.formData.value };\n state.parsedPhone.value = await disambiguateNumber(formData, state) as any;\n formData[KratosNodeNamesEnum.PHONE_NUMBER] = sanitizePhoneNumber(\n state.parsedPhone?.value?.number\n );\n const dataToSubmit = kratosNameToObject(formData);\n delete dataToSubmit[\"confirmPassword\"];\n const url = state?.signupFlow?.value?.ui?.action;\n try {\n state.loading.value = true; // Enable loading refer NX Loader Component\n const response = await register(url, dataToSubmit, token);\n if (response.data?.error?.id === \"security_csrf_violation\") {\n state.signupError.value = \"errors.securityCsrfViolation\";\n state.loading.value = false;\n return;\n } else if (response.status === 409) {\n state.signupError.value = \"errors.operationCannotBePerformed\";\n state.loading.value = false;\n return;\n } else if (isSuspiciousUserError(response.data)) {\n state.signupError.value = \"errors.suspiciousUserError\";\n state.loading.value = false;\n return;\n } else if (response.status === 403) {\n state.signupError.value = \"errors.blockedDomain\";\n state.loading.value = false;\n return;\n }\n redirectToLoginConfirmation(state.signUpContext.value?.hydraFlow || \"\");\n } catch (e) {\n const response = (e as any)?.response as AxiosResponse;\n\n if (response.status === 400) {\n assignSignupFlowToState(response.data as KratosFlowResponseInterface);\n return;\n } else if (response.status === 410) {\n state.signupError.value = \"signup.errors.flowExpired\";\n await getSignupFlow(token);\n } else if (response.status === 422) {\n if (response?.data?.redirect_browser_to) {\n redirectToUrl(response?.data?.redirect_browser_to);\n }\n } else {\n console.error(e);\n }\n state.loading.value = false; // Disable loading refer NX Loader Component\n }\n};\n\nconst nodesToBeEmptied = [\n {\n group: KratosGroupNodeNamesEnum.PASSWORD,\n name: KratosNodeNamesEnum.PASSWORD,\n },\n {\n group: KratosGroupNodeNamesEnum.PASSWORD,\n name: KratosNodeNamesEnum.CONFIRM_PASSWORD,\n },\n];\n\nfunction assignSignupFlowToState(flow: KratosFlowResponseInterface) {\n if (flow === null) {\n state.signupError.value = \"signup.errors.flowError\";\n return;\n }\n state.signupFlow.value = modifyExistingFlowWithMessages(\n state.signupFlow.value,\n modifySignupFlow(flow)\n );\n\n [\n ...state?.signupFlow?.value.ui.nodes,\n ...state?.signupFlow?.value.ui.groupedNodes\n .map((groupedNodes) => groupedNodes.nodes)\n .flat(),\n ]\n .filter((node) => node.messages.length)\n .forEach((node) => {\n const mustBeEmptied = nodesToBeEmptied.find(\n (_node) =>\n _node.group === node.group && _node.name === node.attributes.name\n );\n mustBeEmptied && (state.formData.value[node.attributes?.name] = \"\");\n });\n\n state.loading.value = false;\n}\n\nconst createError = (\n group: KratosGroupNodeNamesEnum,\n name: KratosNodeNamesEnum,\n error: string\n): SignUpErrorResponse => ({ group, name, error });\n\nexport const canSubmitRegistration = (\n formData: ObjectInterface\n): SignUpErrorResponse[] => {\n const result = [];\n\n if (has4Bytes(formData[KratosNodeNamesEnum.FIRST_NAME].toString())) {\n result.push(\n createError(\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.FIRST_NAME,\n ErrorEnum.INVALID_FIRST_NAME\n )\n );\n }\n\n if (has4Bytes(formData[KratosNodeNamesEnum.LAST_NAME].toString())) {\n result.push(\n createError(\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.LAST_NAME,\n ErrorEnum.INVALID_LAST_NAME\n )\n );\n }\n\n if (!state.parsedPhone?.value?.isValid()) {\n result.push(\n createError(\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.PHONE_NUMBER,\n ErrorEnum.INVALID_PHONE_NUMBER\n )\n );\n }\n\n if (\n formData[KratosNodeNamesEnum.PASSWORD] !==\n formData[KratosNodeNamesEnum.CONFIRM_PASSWORD]\n ) {\n result.push(\n createError(\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.PASSWORD,\n ErrorEnum.MISMATCH_PASSWORDS\n )\n );\n }\n\n if (!formData[KratosNodeNamesEnum.EMAIL]) {\n result.push(\n createError(\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.EMAIL,\n ErrorEnum.EMPTY_EMAIL\n )\n );\n }\n\n if (!formData[KratosNodeNamesEnum.PASSWORD]) {\n result.push(\n createError(\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.PASSWORD,\n ErrorEnum.EMPTY_PASSWORD\n )\n );\n }\n\n if (!formData[KratosNodeNamesEnum.PHONE_COUNTRY]) {\n result.push(\n createError(\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.PHONE_COUNTRY,\n ErrorEnum.EMPTY_PHONE_COUNTRY\n )\n );\n }\n\n if (!formData[KratosNodeNamesEnum.PHONE_NUMBER]) {\n result.push(\n createError(\n KratosGroupNodeNamesEnum.PASSWORD,\n KratosNodeNamesEnum.PHONE_NUMBER,\n ErrorEnum.MANDATE_PHONE\n )\n );\n }\n\n return result;\n};\n","import { ref } from \"vue\";\nimport { getConfigFromEndpoint } from \"@/helpers/configHelper\";\nimport { createKratosAxios } from \"@/helpers/kratosHelper\";\nimport {\n CaptchaConfigResponseInterface,\n ConfigResponseInterface,\n} from \"@/interfaces/configResponseInterface\";\nimport { setupRecaptcha } from \"@/helpers/recaptchaHelper\";\n\nexport const kratosUrl = ref(\"\");\nexport const captchaConfig = ref(null);\nexport const bannersConfig = ref>([]);\n\nexport async function getConfig(): Promise {\n const response = await getConfigFromEndpoint();\n captchaConfig.value = response.captchaConfig;\n bannersConfig.value = response.banners || [];\n setupRecaptcha();\n kratosUrl.value = response.baseURL;\n createKratosAxios(kratosUrl.value);\n return response;\n}\n","import { ref } from \"vue\";\nconst showCaptchaUI = ref(false);\nconst xTraceId = ref(\"\");\n\nexport const appState = () => {\n return {\n showCaptchaUI,\n xTraceId,\n };\n};\n","export enum KratosNodeNamesEnum {\n SECOND_FACTOR_TYPE = \"traits.secondFactorType\",\n FIRST_NAME = \"traits.name.first\",\n LAST_NAME = \"traits.name.last\",\n PHONE_COUNTRY = \"traits.phone.country\",\n PHONE_NUMBER = \"traits.phone.number\",\n EMAIL = \"traits.email\",\n CSRF_TOKEN = \"csrf_token\",\n CONFIRM_PASSWORD = \"confirmPassword\",\n PASSWORD = \"password\",\n PHONE_UUID = \"traits.phone.uuid\",\n PROVIDER = \"provider\",\n SAML_PROVIDER = \"samlProvider\",\n PASSWORD_IDENTIFIER = \"identifier\",\n METHOD = \"method\",\n}\n\nexport enum KratosGroupNodeNamesEnum {\n DEFAULT = \"default\",\n PASSWORD = \"password\",\n OIDC = \"oidc\",\n SAML = \"saml\",\n PROFILE = \"profile\",\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".min.js?t=1743075070513\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".min.css?t=1743075070513\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"362\":1,\"1284\":1,\"1286\":1,\"1697\":1,\"1850\":1,\"2211\":1,\"3163\":1,\"3576\":1,\"4571\":1,\"4754\":1,\"5009\":1,\"5759\":1,\"6020\":1,\"7317\":1,\"8763\":1,\"8820\":1,\"8914\":1,\"9074\":1,\"9804\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(128[46]|(475|891|907|980)4|3576|8820)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfrontend\"] = self[\"webpackChunkfrontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [9816,5480,4845,7645,2278,1817,563,7069,7391,175,538,4449,1209,3269,6130,3376,9962,1514,7081,6221,4539,5732,3007,4189,3176,3424,117,4919,656,1860,7413,4772,2046,61,771,9290,177,7952,6998,2276,6620,1901,2082,7445,6360,744,7536,8314,5588,480,7685,9826,8130,1143], function() { return __webpack_require__(8734); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","t","il8n","global","kratosAxios","axios","create","baseURL","withCredentials","headers","Accept","createKratosAxios","kratosUrl","kratosGetVerificationFlow","async","url","flowID","get","data","initVerificationFlow","kratosResendEmailVerification","action","formData","post","getKratosRecoveryFlow","location","origin","clientId","isKratosCsrfNode","node","group","attributes","name","getKratosCsrfFromFlow","flow","ui","nodes","find","KratosNodeNamesEnum","CSRF_TOKEN","getGroupNodesForNode","groupedNodes","filter","addAfterField","getNodeFromUI","attributeName","getNodesFromUI","iconFor2FaTypes","none","sms","totp","cook2FaTypeNode","type","meta","label","text","caption","values","twoFAOptions","map","value","icon","ret","checkIfNodeMatches","groupNode","push","concat","getNodeFromFlow","setReadonlyNodes","readonlyNodes","transient_payload","read_only","length","forEach","disabled","indexOf","isDisabledNode","HtmlAttributeEnums","READONLY","kratosSessionDetails","modifyExistingFlowWithMessages","existingFlow","modifiedFlow","nodalMessages","id","messages","e","console","error","clearErrorMessagesInFlow","groupedNode","getEmailFromFlow","identity","traits","email","getKratosErrorFromId","loginStep","ref","LoginStepEnum","LoginStepOne","loginFlow","returnTo","errorData","formRef","context","loading","userInfo","loginState","redirectToUrl","window","href","redirectToLoginUI","signInForbidden","loginURL","configAxios","config","getConfigFromEndpoint","Promise","resolve","configUrl","OperationPathEnums","GET_SERVER_CONFIG","response","forbiddenOperations","isForbiddenOperation","operationId","someForbiddenOperation","operationIds","some","setForbiddenError","errorHandler","ErrorEnum","FORBIDDEN_OPERATION","forbidden","OperationIdEnums","GET_LOGIN_UI","GET_LOGIN","POST_LOGIN","GET_LOGIN_FLOW","POST_LOGIN_FLOW","editProfileForbidden","GET_EDIT_PROFILE_FLOW","SUBMIT_EDIT_PROFILE_FLOW","signUpForbidden","GET_REGISTRATION_FLOW","POST_REGISTRATION_FLOW","SIGNUP","totpEnrollmentForbidden","PUT_TOTP_REQUEST","GET_TOTP_BIDI","CHECK_TOTP_VALUE","resetPasswordForbidden","GET_RESET_PASSWORD","logoutForbidden","LOGOUT","twoFaForbidden","CHECK_PHONE_VERIFICATION","REQUEST_PHONE_VERIFICATION","isTotpStepShown","c","totpEnabled","totpUsable","userFlags","totpEnrollPending","totpEnrollStarted","countriesList","code","callingCode","ThemesEnums","createUUIDV4","uuidV4","routes","path","RoutePathsEnum","RouteNamesEnum","component","defineAsyncComponent","LOGIN","TWO_FA","TOTP_RECOVERY","EMAIL_VERIFY","PASSWORD_CHANGE","PASSWORD_RESET","SETTINGS","FORGOT_PASSWORD","CAPTCHA","TOTP_ENROLLMENT","TOTP_CHECK","ERROR_400","page","ERROR_401","ERROR_412","ERROR_403","ERROR_404","ERROR_409","ERROR_5xx","RESTRICTED_SIGNUP","ERROR_RECOVERY_FLOW","ERROR_WITH_QUERY_PARAM","router","createRouter","history","createWebHistory","process","getStandardErrorFromResponse","_error","cause","message","errorTitle","errorInfo","MAIN_LOGIN_URL","LOGIN_CONFIRMATION","isAllowed","list","route","isAllowedRedirectFromLogin","isAllowedRedirectFromSettings","isAllowedRedirectFrom2FA","parseContextFromString","JSON","parse","atob","kratosNameToObject","result","key","_kratosNameToObject","split","obj","parts","splice","VIAM_PN_STORE","getData","sessionStorage","setData","stringify","disambiguateNumber","state","country","PHONE_COUNTRY","phoneNumberTypedByUser","PHONE_NUMBER","parsed","parsePhoneNumber","number","countryCallingCode","startsWith","numbers","replaceAll","selectedNumberCached","toString","selectedNumber","ambiguousNumbers","unwatch","watch","newValue","setNumberSelected","selected","phoneNumber","countryCode","parsePhone","updatePhoneCountry","phoneCountry","phoneCountryNode","KratosGroupNodeNamesEnum","PASSWORD","log","checkAndParsePhoneNumber","parsedPhoneNumber","isValid","sanitizePhoneNumber","replace","precookPhoneNumberUI","parsedPhone","phone","SHOW_CAPTCHA_UI","HIDE_CAPTCHA_UI","isEnabled","enabled","captchaConfig","isRunningSmokeTests","getRecaptchaToken","app","globalProperties","$recaptchaLoaded","$recaptcha","opId","setupRecaptcha","siteKey","use","VueReCaptcha","loaderOptions","useRecaptchaNet","hasRetryOperation","isRecaptchaResponse","retry","isSuspiciousUserError","interceptRecaptchaIssue","instance","interceptors","status","xTraceId","appState","wafIntegrationEnabled","addEventListener","onMessage","event","removeEventListener","cookie","date","Date","setTime","getTime","document","toUTCString","setCookie","postMessage","checkSuspiciousUser","addNodeToGroup","groupNodes","groupAdvisor","kratosGroupFlowIndex","displayAfter","card","title","hidden","kratosGroupNodeIndex","signupFlow","signupError","signUpContext","continueRegistration","signupState","dialogData","cancel","layout","ok","connotation","navigator","userAgent","SMOKE_TESTS_CONF","deepCopyNode","addConfirmPassword","confirmPasswordNode","CONFIRM_PASSWORD","parseInt","iconProviders","google","vonage","facebook","drupal","github","default","MessageFromServerEnums","parseContext","ctx","parsedContext","getIdpInitiatedFlow","hydraFlow","assignFlowToState","idpInitiatedFlow","redirectToLoginConfirmation","showLoading","hideLoading","idNode","DEFAULT","PASSWORD_IDENTIFIER","autocomplete","passNode","methodNode","METHOD","OIDC","PROVIDER","providerNode","provider","toLocaleLowerCase","getIconProvider","attemptLogin","method","attemptViamLogin","uiError","checkSession","cookErrorMessages","isValidSession","SESSION_DETECTED","old","INVALID_CREDENTIALS","new","cookErrorMessage","textFromServer","newMsgCode","found","autoLoginOnForceIdp","attemptOidcLoginFlow","forceIdp","SAML","SAML_PROVIDER","oidcProvider","redirectTo","redirect_browser_to","onLoginStepOneError","errorStr","reject","loginStepOne","token","getLoginFlowForUser","isUnauthorizedError","processLoginFlow","LoginStepTwo","hasSingleOIDCNode","form","createElement","body","appendChild","input","setAttribute","submit","redirectToProvider","focus","RestrictEditProfileEnum","_hoisted_1","_defineComponent","__name","props","setup","__props","src","theme","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_unref","class","webpackAsyncContext","req","__webpack_require__","o","then","Error","ids","keys","Object","module","exports","fallbackLocale","getUserLanguage","supportedLocales","language","languages","langCode","chooseFirstSupportedLocale","getPreferredLanguages","mergeThemeMessages","userLanguage","locales","lang","mergeLocaleMessage","loadMessagesFromTheme","ex","VONAGE","createI18n","legacy","globalInjection","en","common","signUp","login","forgotPassword","firstName","lastName","password","imprintPage","secondFactorOptions","poweredByVonage","passwordChange","subtitle","back","continue","save","flowError","emptyPassword","emptyConfirmPassword","passwordMismatch","passwordChangeError","passwordChangeOffline","settings","passwordChangeSuccess","editProfileSuccess","EMAIL","PHONE","securityTitle","corporateUser","unverifiedPhoneNumber","unverifiedEmail","totpPending","secondsToWait","errors","emptyEmail","emptyPhone","emptyCountryCode","editProfile","refreshNeeded","invalidPhone","maxTries","twofa","checkYourPhone","editNumberLink","errorSendingCode","superTitle","titleSignUp","titleSignUpWithTOTP","titleSignIn","titleTOTP","subTitleTOTP","changePhone","verify","twoFaNoPhone","contactSupport","unknownError","codeError","informPhone","resendCode","requestNewCode","feedback","resendCodeSuccess","getting2FaCode","optionalChannelsMessage","optionalChannelsLink","dialog","dontAsk","content1","content2","link","restrictedSignup","signup","redirectToLogin","twoFactorDescription","twoFactorLabel","signUpSubmit","terms","phoneNumberTitleTooltip","phoneNumberTextTooltip","passwordTitleTooltip","passwordTextTooltip","confirmPassword","termsAndConditions","text1","termsOfService","privacyPolicy","text2","usePolicy","steps","step1","step2","step3","step4","mandatePhone","mandateCountry","flowExpired","invalidFirstName","invalidLastName","validSession","requestAnInvite","reload","step1Button","changeEmailAddress","forcedLogin","invalidCredentials","sessionDetected","loginFlowError","loginStepOneError","redirectToOIDCError","triesLimitExceeded","noContext","changeEmail","resendEmail","resendEmailConfirmation","resendEmailLinkText","resendError","recoverySuccess","serverError","logout","refreshSession","warning","sessionFlowError","passwordError","securityCsrfViolation","operationCannotBePerformed","HAGetConsentError","HAAcceptConsentError","HAGetLoginError","HAAcceptLoginError","oidcError","noPhoneError","verifyCheckError","errUnauthorized","errServerError","errNotFound","BadRequestErrorCode","UnexpectedErr","errorWithTraceId","genericError","blockedDomain","phoneCookieVsSession","footer","privacy","contact","enrollment","messageAuthApp","messageBidi","messageSecretKey","supportLink","googlePlay","appStore","check","recovery","validCodeButOutSync","invalidCode","choices","numberDisambiguation","countries","Afghanistan","Albania","Algeria","Andorra","Angola","Anguilla","Antarctica","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Botswana","Brazil","Bulgaria","Burundi","Cambodia","Cameroon","Canada","Chad","Chile","China","Colombia","Comoros","Congo","Croatia","Cuba","Curacao","Cyprus","Denmark","Djibouti","Dominica","Ecuador","Egypt","Eritrea","Estonia","Eswatini","Ethiopia","Fiji","Finland","France","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guernsey","Guinea","Guyana","Haiti","Honduras","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Kosovo","Kuwait","Kyrgyzstan","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macau","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Moldova","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","Nicaragua","Niger","Nigeria","Niue","Norway","Oman","Pakistan","Palau","Panama","Paraguay","Peru","Philippines","Pitcairn","Poland","Portugal","Qatar","Reunion","Romania","Russia","Rwanda","Samoa","Senegal","Serbia","Seychelles","Singapore","Slovakia","Slovenia","Somalia","Spain","Sudan","Suriname","Svalbard","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Togo","Tokelau","Tonga","Tunisia","Turkey","Turkmenistan","Tuvalu","Uganda","Ukraine","Uruguay","Uzbekistan","Vanuatu","Venezuela","Vietnam","Yemen","Zambia","Zimbabwe","es","silentTranslationWarn","locale","mode","has4Bytes","str","i","codePointAt","loadLookAndFeel","themeName","css","rel","onload","onerror","fetchTheme","favicon","querySelector","loadFavicon","timestamp","now","cssURL","catch","fetch","json","getRegistrationType","showStartUpSection","showPoweredBySection","getLoadingType","showImprintLink","getRegistrationByInviteURL","hasShowConfirmationDialogForAccountCreation","canChangeEmailInVerifyEmailSection","showWelcomeSection","hasShowWarningDialogForDisabling2fa","getVendorName","localesURL","vendorName","cookieConsent","loadTheme","host","backEndAxios","is2FARequiredError","isMaxTriesError","checkIfLoggedIn","refresh","GET_IDP_INITIATED_FLOW","getReturnTo","validateStatus","getPasswordChangeFlowFromApi","makeAxiosCall","GET_PASSWORD_CHANGE_FLOW","getEditProfileFlowFromApi","getRegistrationFlowFromApi","register","dataToSubmit","myAxiosInstance","m","toLowerCase","u","includes","putTOTPEnrollmentRequest","put","checkTOTPValue","totpCode","CHECK_TOTP_ENROLL_VALUE","CHECK_TOTP_SIGN_IN_VALUE","_hoisted_2","_hoisted_3","_hoisted_4","target","_hoisted_5","defineComponent","components","VIcon","VDivider","computed","show","currentTheme","isVonage","extend","extended","$props","$setup","$data","$options","_component_VIcon","_resolveComponent","_component_VDivider","_directive_click_outside","_resolveDirective","_withDirectives","onMouseleave","$event","onTransitionend","_normalizeClass","onMouseover","onTouchstart","_createVNode","size","_toDisplayString","$t","orientation","_createCommentVNode","_createBlock","ready","newName","oldName","head","getElementsByTagName","js","dataset","domainScript","redesignBannerForThridParties","KWC","mo","MutationObserver","mutations","mutation","Array","prototype","call","addedNodes","setTimeout","textContent","disconnect","observe","childList","OptanonWrapper","loadCookieConsent","showCaptchaUI","_component_router_view","_Transition","_withCtx","VonageLogo","_","ViamPrivacyBadge","emits","emit","__emit","isHidden","isDisabled","sortedCountries","translatedName","sort","c1","c2","localeCompare","VSelect","_Fragment","_renderList","VOption","PRIMARY_CATEGORY_LOGIN","digitalDataTemplate","pageInfo","pageName","lob","functionDept","subCategory1","subCategory2","subCategory3","primaryCategory","internalSearchTerm","internalSearchResults","pageType","fileGatedType","tollFreeNumber","siteIdentifier","pageCategory","pageSubCategory","content","category","author","publishDate","subCategory","topic","industry","businessSize","profRole","company","product","user","profile","profileInfo","targetExperience","responsiveSiteVersion","visitorType","gaCampaign","transaction","item","quantity","price","productInfo","eventData","fIndustry","fName","fAreaofinterest","fCTA","fLines","linesSlider","interactionType","events","trackSignUpInteractions","currentPagePath","callback","digitalData","fID","querySelectorAll","r","eventName","trackFormEvent","emailEvent","shadowRoot","canSubmitRegistration","fErrors","join","readyState","trackLoginInteractions","b","trackedEvent","digData","ev","runMultiple","n","test","trackFormEvents","IGNORE_PAGES","beforeMount","el","binding","clickOutsideEvent","contains","unmounted","setCustomComponentPrefix","onReady","afterEach","to","from","adobePageCall","vueNewUrl","pathname","currentPageQuery","query","currentPageCat","currentUrl","getPrimaryCategory","currentPageName","getAdobePageName","entity","urlPath","initAnalytics","createApp","App","directive","clickOutside","getConfig","KratosCountryCode","mount","signupGroupAdvisor","FIRST_NAME","LAST_NAME","checkIsMobile","innerWidth","checkIsTable","isMobile","isTable","onResize","parseSignupContext","GET_REGISTRATION","getSignupFlow","assignSignupFlowToState","messageFromResponse","continueURL","actionLogout","actionContinue","isValidForm","submitRegistration","nodesToBeEmptied","modifiedNodes","phoneNumberNode","tooltip","secondFactorType","SECOND_FACTOR_TYPE","required","autofocus","PHONE_UUID","modifyUUID","groupAdvisorForNode","advisor","modifySignupFlow","flat","_node","createError","INVALID_FIRST_NAME","INVALID_LAST_NAME","INVALID_PHONE_NUMBER","MISMATCH_PASSWORDS","EMPTY_EMAIL","EMPTY_PASSWORD","EMPTY_PHONE_COUNTRY","MANDATE_PHONE","bannersConfig","banners","__webpack_module_cache__","moduleId","cachedModule","undefined","__webpack_modules__","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","getter","__esModule","d","a","getPrototypeOf","__proto__","this","ns","def","current","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","all","reduce","promises","miniCssF","g","globalThis","Function","prop","hasOwnProperty","l","done","script","needAttach","scripts","s","getAttribute","charset","timeout","nc","onScriptComplete","prev","clearTimeout","doneFns","parentNode","removeChild","bind","Symbol","toStringTag","p","installedCssChunks","miniCss","fullhref","existingLinkTags","dataHref","tag","existingStyleTags","findStylesheet","oldTag","linkTag","nonce","errorType","realHref","err","request","createStylesheet","loadStylesheet","installedChunks","installedChunkData","promise","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}