{"version":3,"file":"chunk-lg8pxcw1.js","sources":["packages/myaccount/app/src/forms/validators-extended.ts","packages/myaccount/app/src/unicode.service.ts","packages/myaccount/app/src/services/scrollTo.service.ts","packages/myaccount/app/src/client-config/client-config.models.ts"],"sourcesContent":["import { AbstractControl, ValidationErrors } from '@angular/forms';\n\nimport { PortalFormGroup, Validators } from '@frontend/vanilla/shared/forms';\nimport isNumber from 'lodash-es/isNumber';\n\nimport { PersonalInformation } from '../models/models';\n\n/**\n * @whatItDoes Provides custom angular validators\n *\n * @stable\n */\n// @dynamic\nexport class ValidatorsExtended extends Validators {\n static newDateNotUsedInPassword(\n field: string,\n formats: string[],\n dateFormatter: (date: any, format: string) => string | null,\n charOnEmptySpace: string = '',\n ) {\n return (control: AbstractControl): ValidationErrors | null => {\n if (!formats || !formats.length || isEmptyInputValue(control.value)) {\n return null;\n }\n if (!checkIfValidDate(control.value, charOnEmptySpace)) {\n return null;\n }\n const otherFieldValue = getOtherFieldValue(control, field);\n\n if (!otherFieldValue) {\n return null;\n }\n\n const controlValue: Date | string = control.value;\n\n if (stringContainsDate(otherFieldValue, controlValue, formats, dateFormatter)) {\n return { notUsedInOtherField: true };\n }\n\n return null;\n };\n }\n\n static validPassword(\n dateFormats: string[],\n dateFormatter: (date: any, format: string) => string | null,\n personalInformation?: PersonalInformation,\n charOnEmptySpace: string | null = null,\n ) {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value)) {\n return null;\n }\n\n personalInformation = personalInformation || {};\n\n let email: string = getOtherFieldValue(control, 'emailaddress') || personalInformation.email;\n if (email && email.includes('@')) {\n email = email.substring(0, email.indexOf('@'));\n }\n return validatePassword(\n control.value,\n [\n getOtherFieldValue(control, 'firstname') || personalInformation.firstName,\n getOtherFieldValue(control, 'lastname') || personalInformation.lastName,\n getOtherFieldValue(control, 'secondlastname') || personalInformation.secondLastName,\n email,\n getOtherFieldValue(control, 'username') || personalInformation.username,\n ],\n [\n getOtherFieldValue(control, 'dateofbirth') || personalInformation.dateOfBirth,\n getNewDateOfBirthValue(control, 'dateofbirthnew', charOnEmptySpace) || personalInformation.dateOfBirth,\n ],\n dateFormats,\n dateFormatter,\n );\n };\n }\n\n static dateNotUsedInPassword(field: string, formats: string[], dateFormatter: (date: any, format: string) => string | null) {\n return (control: AbstractControl): ValidationErrors | null => {\n if (!formats || !formats.length || isEmptyInputValue(control.value)) {\n return null;\n }\n\n const otherFieldValue = getOtherFieldValue(control, field);\n\n if (!otherFieldValue) {\n return null;\n }\n\n const controlValue: Date | string = control.value;\n\n if (stringContainsDate(otherFieldValue, controlValue, formats, dateFormatter)) {\n return { notUsedInOtherField: true };\n }\n\n return null;\n };\n }\n\n static integer(control: AbstractControl): ValidationErrors | null {\n if (isEmptyInputValue(control.value)) {\n return null;\n }\n\n let n: number | null = null;\n\n if (typeof control.value === 'string') {\n if (/^-?\\d+$/.test(control.value)) {\n n = parseFloat(control.value);\n }\n } else {\n n = control.value;\n }\n\n return Number.isInteger(n as number) ? null : { number: { type: 'integer' } };\n }\n\n static validRemainingBalanceLimit() {\n return (control: AbstractControl): ValidationErrors | null | undefined => {\n const fromAccountBalance = control.root.get('fromAccountBalance') || control.root.get('accountLimits')!.get('fromAccountBalance');\n if (fromAccountBalance) {\n if (!fromAccountBalance.value) {\n return null;\n }\n return (!isNaN(Number(control.value)) ? Number(control.value) : control.value) >=\n (!isNaN(Number(fromAccountBalance.value)) ? Number(fromAccountBalance.value) : fromAccountBalance.value)\n ? { max: true }\n : null;\n }\n return;\n };\n }\n\n static validFromAccountBalanceLimit() {\n return (control: AbstractControl): ValidationErrors | null | undefined => {\n const remainingBalance = control.root.get('remainingBalance') || control.root.get('accountLimits')!.get('remainingBalance');\n const fromAccountBalance = control.root.get('fromAccountBalance') || control.root.get('accountLimits')!.get('fromAccountBalance');\n if (fromAccountBalance) {\n if (!fromAccountBalance.value) {\n return null;\n }\n return (!isNaN(Number(remainingBalance?.value)) ? Number(remainingBalance?.value) : remainingBalance?.value) >=\n (!isNaN(Number(fromAccountBalance.value)) ? Number(fromAccountBalance.value) : fromAccountBalance.value)\n ? { max: true }\n : null;\n }\n return;\n };\n }\n\n static validateNie() {\n return (control: AbstractControl): ValidationErrors | null => {\n const nie = control.value;\n if (!nie) {\n return Validators.nullValidator;\n }\n const startLetter = nie.charAt(0).toUpperCase();\n const numbers = nie.charAt(1) === '0' && nie.length === 10 ? nie.substring(2, 9) : nie.substring(1, 8);\n const letter = nie.charAt(1) === '0' && nie.length === 10 ? nie.charAt(9).toUpperCase() : nie.charAt(8).toUpperCase();\n\n // transform XYZ to number and then validate as NIF\n let num = '';\n switch (startLetter) {\n case 'X':\n num = '0';\n break;\n case 'Y':\n num = '1';\n break;\n case 'Z':\n num = '2';\n break;\n }\n\n const nieNumbers = parseInt(num + numbers, 10);\n return checkSum(nieNumbers) === letter ? Validators.nullValidator : { nienif: true };\n };\n }\n\n static validateNif() {\n return (control: AbstractControl): ValidationErrors | null => {\n const nif = control.value;\n if (!nif) {\n return Validators.nullValidator;\n }\n // split DNI to numbers (first 8) and checksum letter (last position)\n const numbers = parseInt(nif.substring(0, 8), 10);\n const letter = nif.charAt(nif.length - 1).toUpperCase();\n\n // assert that the letter is the same as calculated by the checksum\n return letter === checkSum(numbers) ? Validators.nullValidator : { nienif: true };\n };\n }\n\n static validCnp(\n improvedValidation?: boolean,\n skipGenderCheck?: boolean,\n dobProvider?: (c: AbstractControl) => { day: string; month: string; year: string },\n genderProvider?: (c: AbstractControl) => string,\n ) {\n const skip = skipGenderCheck || false;\n\n let getDob: any = dobProvider;\n let getGender = genderProvider;\n\n if (!getDob) {\n //assign default dob value provider\n getDob = (c: any) => {\n const dob = getOtherField(c, 'dateofbirth');\n if (dob && dob.valid) {\n const dobDate = new Date(dob.value);\n return {\n day: dobDate.getDate().toFixed(0),\n month: (dobDate.getMonth() + 1).toFixed(0),\n year: dobDate.getFullYear().toFixed(0),\n };\n }\n return null;\n };\n }\n\n if (!getGender) {\n //assign default gender value provider\n getGender = (c) => {\n const gender = getOtherField(c, 'gender');\n return gender && gender.valid ? gender.value : null;\n };\n }\n\n return (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value)) {\n return null;\n }\n if (!improvedValidation) return validateCnp(control.value, getDob(control), getGender!(control), skip) ? null : { cnp: { valid: false } };\n else return validateImprovedCnp(control.value, getDob(control), getGender!(control), skip) ? null : { cnp: { valid: false } };\n };\n }\n\n static float(control: AbstractControl): ValidationErrors | null {\n if (isEmptyInputValue(control.value)) {\n return null;\n }\n\n let n: number | null = null;\n\n if (typeof control.value === 'string') {\n if (/^-?\\d+\\.?\\d*$/.test(control.value)) {\n n = parseFloat(control.value);\n }\n } else {\n n = control.value;\n }\n\n return isNumber(n as any) ? null : { number: { type: 'float' } };\n }\n\n static notUsedInOtherField(field: string) {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value)) {\n return null;\n }\n\n const otherFieldValue = getOtherFieldValue(control, field);\n\n if (!otherFieldValue) {\n return null;\n }\n\n const controlValue: string = control.value.toLowerCase();\n const otherFieldValueLower: string = otherFieldValue.toLowerCase();\n\n if (controlValue.includes(otherFieldValueLower) || otherFieldValueLower.includes(controlValue)) {\n return { notUsedInOtherField: true };\n } else {\n return null;\n }\n };\n }\n\n static notUsedInOtherFieldExactAddress1(field: string) {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value)) return { Required: true };\n\n const otherFieldValue = getOtherFieldValue(control, field);\n\n if (!otherFieldValue) return null;\n\n const controlValue: string = control.value.toLowerCase();\n const otherFieldValueLower: string = otherFieldValue.toLowerCase();\n\n if (controlValue === otherFieldValueLower || otherFieldValueLower === controlValue) {\n return { UsedInOtherFieldExactAddress: true };\n } else return null;\n };\n }\n\n static notUsedInOtherFieldExactCity(field: string) {\n return (control: AbstractControl): ValidationErrors | null => {\n const otherFieldValue = getOtherFieldValue(control, field);\n if (isEmptyInputValue(control.value)) return { Required: true };\n if (!otherFieldValue) return null;\n const controlValue: string = control.value.toLowerCase();\n const otherFieldValueLower: string = otherFieldValue.toLowerCase();\n if (controlValue === otherFieldValueLower || otherFieldValueLower === controlValue) {\n return { UsedInOtherFieldExactCity: true };\n } else return null;\n };\n }\n\n static doNotAcceptOnlyNumbers(field: string) {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value)) return { Required: true };\n const value = getOtherFieldValue(control, field);\n let spaces: any;\n for (let i = 0; i < 100; i++) spaces = ' ' + spaces;\n if (spaces.includes(value)) return null;\n const numberSet = '0123456789 ';\n for (let i = 0; i < value.length; i++) {\n if (!numberSet.includes(value[i])) return null;\n }\n return { NumbersOnly: true };\n };\n }\n\n static doNotAcceptNumbers() {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value)) return { Required: true };\n const str = control.value;\n for (let i = str.length - 1; i >= 0; i--) {\n const d = str.charCodeAt(i);\n if (d >= 48 && d <= 57) return { NumberNotAllowed: true };\n }\n return null;\n };\n }\n\n static doNotCountSpaceName(field: string, minCount: number | undefined) {\n return (control: AbstractControl): ValidationErrors | null => {\n let value = getOtherFieldValue(control, field);\n if (value != null) {\n value = value.replace(/\\s/g, '');\n const count = value.length;\n if (minCount) {\n if (count < minCount) return { InvalidNameLength: true };\n }\n }\n return null;\n };\n }\n\n static doNotCountSpaceAddress(field: string, minCount: number | undefined) {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value)) return { Required: true };\n let value = getOtherFieldValue(control, field);\n if (value != null) {\n value = value.replace(/\\s/g, '');\n const count = value.length;\n if (minCount) {\n if (count < minCount) return { InvalidAddressLength: true };\n }\n }\n return null;\n };\n }\n\n static doNotAcceptDifferentFirstLetter(field: string, letter: string | undefined) {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value)) return { Required: true };\n const value = getOtherFieldValue(control, field);\n if (value != null && value.toLowerCase().charAt(0) != letter!.toLowerCase()) {\n return { FirstLetterValidationFailed: true };\n }\n return null;\n };\n }\n\n static doNotAcceptSameLetterThroughout(field: string) {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = getOtherFieldValue(control, field);\n if (value === null) return null;\n const spaces: any = ' ';\n if (spaces.includes(value)) return null;\n const word = value.toUpperCase();\n let flag = false;\n for (let i = 0; i <= 4; i++) {\n if (word[i] != word[0]) flag = true;\n }\n if (flag) return null;\n else return { SameLetterName: true };\n };\n }\n\n static checkSpaces(field: string) {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value)) return { Required: true };\n const value = getOtherFieldValue(control, field);\n if (value === null) return null;\n const spaces: any = ' ';\n if (spaces.includes(value)) return { StringLength: true };\n else return null;\n };\n }\n\n static doHouseNumberValidation(rules: any | undefined) {\n return (control: AbstractControl): ValidationErrors | null => {\n if (rules.required && isEmptyInputValue(control.value)) return { Required: true };\n if ((rules.maxLength && control?.value?.length > rules.maxLength) || (rules.minLength && control?.value?.length < rules.minLength))\n return { StringLength: true };\n let isValid = true;\n const regex = rules?.regex;\n if (control.value && regex) {\n if (!new RegExp(regex).test(control.value) || /[a-zA-Z]{2,}/.test(control.value) || /[ -/]{2,}/.test(control.value))\n return { InvalidHouseNumber: true };\n if (control.value.indexOf('/') > -1) {\n isValid = validateHouseNumString(control.value.split('/'));\n if (isValid) isValid = control.value.split('/').every((x: any) => validateHouseNumString(x.split('-')));\n } else if (control.value.indexOf('-') > -1) {\n isValid = validateHouseNumString(control.value.split('-'));\n }\n }\n return isValid ? null : { InvalidHouseNumber: true };\n };\n }\n static doNotAllowTitles(titles: string[]) {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value)) {\n return null;\n }\n const controlValue: string = control.value.toLowerCase();\n const inputtitle = controlValue.split(' ');\n if (titles.includes(inputtitle[0])) {\n return { notAllowedTitles: true };\n }\n return null;\n };\n }\n\n static validPeselNumber(\n dobProvider?: (c: AbstractControl) => { day: string; month: string; year: string },\n genderProvider?: (c: AbstractControl) => string,\n ) {\n let getDob: any = dobProvider;\n let getGender = genderProvider;\n\n if (!getDob) {\n //assign default dob value provider\n getDob = (c: any) => {\n const dob = getOtherField(c, 'dateofbirth');\n if (dob && dob.valid) {\n const dobDate = new Date(dob.value);\n return {\n day: dobDate.getDate().toFixed(0),\n month: (dobDate.getMonth() + 1).toFixed(0),\n year: dobDate.getFullYear().toFixed(0),\n };\n }\n return null;\n };\n }\n\n if (!getGender) {\n //assign default gender value provider\n getGender = (c) => {\n const gender = getOtherField(c, 'gender');\n return gender && gender.valid ? gender.value : null;\n };\n }\n\n return (control: AbstractControl): ValidationErrors | null => {\n if (control.value)\n if (control.value.length === 11) {\n if (!validatePeselNumber(control.value, getGender!(control))) return { peselNumberInvalid: true };\n if (!validatePeselNumberDOB(control.value, getDob(control))) return { dobPeselMisMatch: true };\n }\n return null;\n };\n }\n}\n\nfunction validateHouseNumString(value: string[]): boolean {\n let isValid = true;\n if (value) {\n const alphabetPattern = /[a-zA-Z]/;\n value.some((element: any, index: any, array: any) => {\n if (index + 1 < array.length) {\n if (!array[index + 1]) {\n isValid = false;\n return;\n } else {\n isValid = alphabetPattern.test(array[index + 1].charAt(0))\n ? alphabetPattern.test(array[index].charAt(array[index].length - 1))\n ? (array[index + 1].length == 1 && alphabetPattern.test(array[index + 1].charAt(0))) ||\n (array[index + 1].length > 1 && /[1-9]/.test(array[index + 1].charAt(0)))\n ? true\n : false\n : false\n : true;\n // i) False, if first character after seperator is Alphabet and first character to left side of seperator is Number\n //ii) True, if subsequent string after seperator is either 'single alphabet or number or number followed by alphanumeric'\n if (!isValid) return;\n }\n }\n });\n }\n return isValid;\n}\n\nfunction validatePassword(\n password: string,\n stringValues: string[],\n dateValues: any[],\n dateFormats: string[],\n dateFormatter: (date: any, format: string) => string | null,\n) {\n password = password.toLowerCase();\n if (\n stringValues\n .filter((s) => s)\n .map((s) => s.toLowerCase())\n .some((s) => password.includes(s) || s.includes(password)) ||\n dateValues.some((d) => stringContainsDate(password, d, dateFormats, dateFormatter))\n ) {\n return { validPassword: true };\n }\n\n return null;\n}\n\nfunction checkIfValidDate(date: string, charOnEmptySpace: string | null) {\n if (typeof date === 'string') {\n const dateArray = date.split('/');\n const day = dateArray[0];\n const month = dateArray[1];\n const year = dateArray[2];\n if (charOnEmptySpace)\n if (\n day &&\n month &&\n year &&\n parseInt(day) !== 0 &&\n parseInt(month) !== 0 &&\n parseInt(year) !== 0 &&\n day.indexOf(charOnEmptySpace) === -1 &&\n month.indexOf(charOnEmptySpace) === -1 &&\n year.indexOf(charOnEmptySpace) === -1\n )\n return true;\n }\n return false;\n}\n\nfunction getOtherFieldValue(control: AbstractControl, field: string) {\n const otherField = getOtherField(control, field);\n return otherField ? otherField.value : null;\n}\n\nfunction getNewDateOfBirthValue(control: AbstractControl, field: string, charOnEmptySpace: string | null) {\n const otherField = getOtherField(control, field);\n return otherField && checkIfValidDate(otherField.value, charOnEmptySpace) ? otherField.value : null;\n}\nfunction stringContainsDate(value: string, date: any, formats: string[], dateFormatter: (date: any, format: string) => string | null) {\n if (!formats || !date) {\n return false;\n }\n\n const shortMonth = dateFormatter(date, 'MMM');\n const shortMonthWithoutDot = shortMonth!.length <= 3 ? shortMonth : shortMonth!.substring(0, 3);\n\n if (shortMonth && shortMonthWithoutDot)\n if (formats.some((f) => value.toLowerCase().includes(dateFormatter(date, f)!.replace(shortMonth, shortMonthWithoutDot).toLowerCase()))) {\n return true;\n }\n\n return false;\n}\n\nfunction getOtherField(control: AbstractControl, field: string) {\n const root = control.root;\n let otherField: AbstractControl | null;\n if (root instanceof PortalFormGroup) {\n otherField = root.getFlat(field);\n } else {\n otherField = root.get(field);\n }\n\n if (!otherField) {\n return null;\n }\n\n return otherField;\n}\nfunction isEmptyInputValue(value: any): boolean {\n // we don't check for string here so it also works with arrays\n return value == null || value.length === 0;\n}\n\nfunction checkSum(num: number) {\n const checkSumLetters = 'TRWAGMYFPDXBNJZSQVHLCKE';\n return checkSumLetters.charAt(num % 23);\n}\nfunction getControlSum(cnp: any) {\n let k: number = 0;\n const CONTROL_VALUES: number[] = [2, 7, 9, 1, 4, 6, 3, 5, 8, 2, 7, 9];\n for (let i = 0; i < 12; i++) {\n k += CONTROL_VALUES[i] * cnp[i];\n }\n k %= 11;\n if (k == 10) {\n k = 1;\n }\n return k;\n}\nfunction validateBirthdate(cnp: string, dateOfBirth: any) {\n /** Returns if the given string represents a valid CNP for the given birthdate.\n * The 2nd and the 3rd digits represent the last two digits from the year birthdate,\n * the 4th and 5th represent the month and the 7th and 8th the day.\n */\n const day = pad(dateOfBirth.day, 2);\n const month = pad(dateOfBirth.month, 2);\n const year = dateOfBirth.year.substring(2);\n return cnp.length > 6 && cnp.substring(1, 7) == year + month + day;\n}\nfunction validateGender(cnp: string, gender: string, dateOfBirth: any) {\n const male = gender === 'Mr' || gender === 'Male' ? true : false;\n const g1 = Number(cnp.substring(0, 1));\n const g2 = dateOfBirth.year < 2000 ? (male ? 1 : 2) : male ? 5 : 6;\n //Handle Foreign Residents\n if (g1 != g2) return g1 == (male ? 7 : 8);\n return g1 == g2;\n}\nfunction validateCnp(value: string, dateOfBirth: { day: string; month: string; year: string }, gender: string, skipGenderCheck: boolean) {\n // The CNP consist of 13 digits as follows:\n // 1 digit for sex and century of birth: 1, 3, and 5 = male; 2, 4, and 6 = female.\n // 1 and 2 = 20th century, 3 and 4 = 19th century, and 5 and 6 = 21st century.\n // (For legal residents the numbers 7 and 8 are used to encode the sex of the person having the residence permit);\n // 6 digits for birth date in the format YYMMDD\n // 2 digits for place of birth (the code for the county) (For legal residents the numbers encode the region where the person having the residence permit comes from);\n // 3 other digits\n // 1 control digit\n\n if (!value || !gender || !dateOfBirth || !dateOfBirth.year || !dateOfBirth.month || !dateOfBirth.day) {\n return true; // if values are not defined, validate as success\n }\n\n if (value.length !== 13) {\n return false;\n }\n\n const day = pad(dateOfBirth.day, 2);\n const month = pad(dateOfBirth.month, 2);\n const year = dateOfBirth.year.substring(2);\n const century = dateOfBirth.year.substring(0, 2);\n\n if (!skipGenderCheck) {\n const g = gender === 'Mr' || gender === 'Male' ? 'm' : 'f';\n const fd = value.substring(0, 1);\n\n const fdmap: { [key: string]: string } = { m19: '1', f19: '2', m18: '3', f18: '4', m20: '5', f20: '6' };\n const fde = fdmap[g + century];\n const fder = g === 'm' ? '7' : g === 'f' ? '8' : '';\n if (fd !== fde && fd !== fder) {\n return false;\n }\n }\n\n if (value.length < 7 || value.substring(1, 7) !== year + month + day) {\n return false;\n }\n return true;\n}\nfunction validateImprovedCnp(value: string, dateOfBirth: { day: string; month: string; year: string }, gender: string, skipGenderCheck: boolean) {\n const YEAR_OFFSET = [0, 1900, 1900, 1800, 1800, 2000, 2000];\n\n if (value.length !== 13 || isNaN(Number(value))) {\n return false;\n }\n const cnpDigits: number[] = Array.from(String(value), Number);\n if (cnpDigits == null || cnpDigits[12] != getControlSum(cnpDigits)) {\n return false;\n }\n const day = cnpDigits[5] * 10 + cnpDigits[6];\n if (day < 1) {\n return false;\n }\n const month = cnpDigits[3] * 10 + cnpDigits[4];\n if (month < 1 && month > 12) {\n return false;\n }\n const year = YEAR_OFFSET[cnpDigits[0]] + cnpDigits[1] * 10 + cnpDigits[2];\n const maxDayOfMonth = new Date(year, month, 0).getDate();\n\n if (day > maxDayOfMonth || !validateBirthdate(value, dateOfBirth)) {\n return false;\n }\n if (!skipGenderCheck) {\n return validateGender(value, gender, dateOfBirth);\n }\n return true;\n}\n\nfunction pad(value: number | string, length: number, delimiter = '0') {\n const result = value + '';\n return result.length >= length ? result : new Array(length - result.length + 1).join(delimiter) + result;\n}\n\nfunction validatePeselNumberDOB(pesel: string, dateOfBirth: { day: string; month: string; year: string }): boolean {\n let match = true;\n if (dateOfBirth) {\n if (!isValidFirstSixPeselNumber(pesel, dateOfBirth)) match = false;\n }\n return match;\n}\n\nfunction validatePeselNumber(pesel: string, gender: string): boolean {\n if (pesel === null || pesel.length !== 11) return false;\n // check first 6 digits should be in YYMMDD format\n if (gender != null || !gender) {\n const genderCheck = pesel.substring(9, 10);\n const malePattern = '13579';\n const femalePattern = '02468';\n // check for 10th digit -- X represents the gender (even number for female; and odd number for male)\n if (gender.match('Male')) {\n if (!malePattern.match(genderCheck)) return false;\n } else if (gender.match('Female')) {\n if (!femalePattern.match(genderCheck)) return false;\n }\n }\n\n const cDigit = pesel.substring(10, 11);\n const checkDigit = generateValidCheckDigitForPesel(pesel);\n if (checkDigit != parseInt(cDigit)) {\n return false;\n }\n const allzeroiesRegex = /^0+$/;\n if (allzeroiesRegex.test(pesel)) return false;\n const arr = pesel.split('');\n let sum: number = 0;\n\n for (let i: number = 0; i < arr.length - 1; i++) {\n sum += +arr[i] * getMultiplier(i + 1);\n }\n\n const modulo = sum % 10;\n const lastD = Number(pesel.substr(pesel.length - 1));\n\n return (modulo === 0 && lastD === 0) || lastD === 10 - modulo;\n}\n\n/**\n * Q is a check digit. This digit will be 10 - A, where A is the remainder after dividing B with 10, where B is (D1\n * * 1) + (D2 * 3) + (D3 * 7) + (D4 * 9) + (D5 * 1) + (D6 * 3) + (D7 * 7) + (D8 * 9) + (D9 * 1) + (D10 * 3)\n **/\nfunction generateValidCheckDigitForPesel(peselNumber: string) {\n const first10Digits = peselNumber.substring(0, 10);\n\n // Long number = Long.parseLong(first10Digits);\n let i = 0;\n let j = 1;\n let checkDigit = 0;\n while (i < first10Digits.length) {\n if (j == 5) {\n j = j + 2;\n }\n if (j > 9) {\n j = 1;\n }\n const value = parseInt(first10Digits.substring(i, ++i));\n checkDigit = checkDigit + value * j;\n j = j + 2;\n }\n\n checkDigit = checkDigit % 10;\n if (checkDigit != 0) {\n return 10 - checkDigit;\n } else {\n return 0;\n }\n}\n\nfunction isValidFirstSixPeselNumber(peselNumber: string, dateOfBirth: { day: string; month: string; year: string }) {\n let result = true;\n try {\n const day: number = parseInt(dateOfBirth.day);\n const wholeYear: number = parseInt(dateOfBirth.year);\n const Year = dateOfBirth.year;\n const twoDigityear: number = parseInt(Year.substring(2, 4));\n let month: number = parseInt(dateOfBirth.month);\n const yearPeselNumber: number = parseInt(peselNumber.substring(0, 2));\n const monthPeselNumber: number = parseInt(peselNumber.substring(2, 4));\n const datePeselNumber: number = parseInt(peselNumber.substring(4, 6));\n\n if (wholeYear >= 2000) {\n month = month + 20;\n }\n\n if (yearPeselNumber != twoDigityear || monthPeselNumber != month || datePeselNumber != day) {\n result = false;\n }\n } catch (e) {\n result = false;\n }\n return result;\n}\n\nfunction getMultiplier(index: number): number {\n switch (index % 4) {\n case 1:\n return 1;\n case 2:\n return 3;\n case 3:\n return 7;\n case 0:\n return 9;\n }\n throw new Error('Something went wrong with the index calculation');\n}\n","import { Injectable } from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Unicodeservice {\n private dataSubject: Subject = new Subject();\n data$ = this.dataSubject.asObservable();\n\n updateformfield(data: Event): void {\n this.dataSubject.next(data);\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScrollToService {\n startingY: any;\n diff: any;\n start: any;\n duration: any;\n constructor() {}\n\n scrollTo(element: any, duration?: number, offset?: number, scrollIntoView?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): void {\n if (duration === void 0) {\n duration = 500;\n }\n if (offset === void 0) {\n offset = 0;\n }\n if (typeof element === 'string') {\n const el = document.querySelector(element);\n if (scrollIntoView && el) el.scrollIntoView(scrollIntoViewOptions);\n else this.scrollToElement(el, duration, offset);\n } else if (element instanceof HTMLElement) {\n this.scrollToElement(element, duration, offset);\n }\n }\n\n private scrollToElement(el: any, duration: number, offset: number): void {\n if (el) {\n const viewportOffset = el.getBoundingClientRect();\n const offsetTop = viewportOffset.top + window.pageYOffset;\n this.doScrolling(offsetTop + offset, duration);\n }\n }\n\n private step(timestamp: any) {\n this.start = !this.start ? timestamp : this.start;\n const time = timestamp - this.start;\n const percent = Math.min(time / this.duration, 1);\n window.scrollTo(0, this.startingY + this.diff * percent);\n if (time < this.duration) {\n window.requestAnimationFrame((timestamp) => this.step(timestamp));\n } else {\n this.start = null;\n }\n }\n\n private doScrolling(elementY: any, duration: number): void {\n this.duration = duration;\n this.startingY = window.pageYOffset;\n this.diff = elementY - this.startingY;\n window.requestAnimationFrame((timestamp) => this.step(timestamp));\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n ClientConfig,\n ClientConfigProductName,\n ClientConfigService,\n LazyClientConfig,\n LazyClientConfigBase,\n LazyClientConfigService,\n} from '@frontend/vanilla/core';\nimport { TopMenuVisibility } from '@frontend/vanilla/features/navigation-layout';\n\nimport { KycInfoModel } from '../manual-doc-upload-revamp/manual-doc-uploader.model';\n\n/*modal declarations*/\nexport interface Config {\n device: string;\n url: string;\n useIdNow: boolean;\n}\n\nexport interface IdNowNativeApp {\n product: string;\n config: Config;\n}\n\nexport interface IdNowDeviceVersion {\n device: string;\n version: string;\n}\n\nexport class ServiceClosureConfigs {\n isEnabled: string;\n redirectTo: string;\n}\n\n/*Client config services*/\n\n@ClientConfig({ key: 'ptUpload', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: uploadFactory,\n deps: [ClientConfigService],\n})\nexport class UploadConfig {\n allowedFileTypes: string;\n allowedExtensionsAndMimeTypes: { [key: string]: string };\n maxFileSizeInKb: number;\n maxUserFileSizeInKb: number;\n showToasterOnUploadSuccess: boolean;\n cashierTriggerPoints: string;\n multiDocMaxUserFileSizeInKb: number;\n allowedRoutes: { [key: string]: { [key: string]: string[] } };\n documentHistoryEnabled: boolean;\n isSiOrBinaryStandards: boolean;\n multiDocUploadV2: boolean;\n}\n\n@ClientConfig({ key: 'ptDobClientConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: DobClientConfigFactory,\n deps: [ClientConfigService],\n})\nexport class DobClientConfig {\n isEnabled: boolean;\n isNewDOBEnabled: { [key: string]: boolean };\n corBasedAgeLimit: { [key: string]: string };\n}\n\n@ClientConfig({ key: 'ptForceInterceptorConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: ForeceInterceptorClientConfigFactory,\n deps: [ClientConfigService],\n})\nexport class ForceInterceptorConfig {\n isEnabled: true;\n restrictedUrls: any;\n isUSNJ: boolean;\n}\n\n@ClientConfig({ key: 'ptAccountRecoveryClientConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: AccountRecoveryClientConfigFactory,\n deps: [ClientConfigService],\n})\nexport class AccountRecoveryClientConfig {\n emailRegex: string;\n enableAutoLogin: boolean;\n enableNewEmailVerificationAPIs: boolean;\n showSuccessScreen: boolean;\n passAdditionalParamsV2: boolean;\n enableRememberMe: boolean;\n disableLastVisitorFlow: boolean;\n uiEnhancements: any;\n}\n\n@ClientConfig({ key: 'ptAccountMenuV2Config', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: AccountMenuV2ClientConfigFactory,\n deps: [ClientConfigService],\n})\nexport class AccountMenuV2ClientConfig {\n toggleSourceItem: string[];\n v3ToggleSourceItem: {\n [key: string]: TopMenuVisibility;\n }[];\n}\n\n@ClientConfig({ key: 'ptCommon', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: CommonClientConfigFactory,\n deps: [ClientConfigService],\n})\nexport class CommonClientConfig {\n shouldReuseRoute: boolean;\n enableUsSingleAccountText: boolean;\n enableBrowserAutocomplete: { [area: string]: boolean };\n triggerGoogleTagManagerClientInjection: boolean;\n googleTagManagerInjectionDelay: number;\n commonPortalMessages: any;\n chartsScriptUrl: string;\n chartsOptions: any;\n portalComponentSelectors: string[];\n appsSchema: string;\n scriptsInjectionData: { [key: string]: { url: string; customAttributes: { [key: string]: string }; styleSheetUrl: string } };\n cardVerificationUseCase: string;\n scrolledToBottomPadding: number;\n version: number;\n apiBaseUrl: string;\n enableSkeleton: boolean;\n isGcRedesignEnabled: boolean;\n enableLoadingV2: boolean;\n enableUSloader: boolean;\n unicodeRegex: string;\n unicodeComponentSelector: string[];\n apiTrackingData: any;\n pieChartColors: string[];\n guideEnabled: boolean;\n enableGreeceComplaintForm: boolean;\n showContactOptionsBySource: any;\n landingPage: any;\n guideConfig: any;\n enableFullPageRedirection: any;\n customerHubMenuVersions: number[];\n trimExtraSpaces: boolean;\n enableAbandonmentPopup: string;\n enableCustomRounding: boolean;\n}\n\n@ClientConfig({ key: 'ptZendeskClientConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: ZendeskClientConfigFactory,\n deps: [ClientConfigService],\n})\nexport class ZendeskClientConfig {\n enabled: boolean;\n sunshineConfig: any;\n removeLiveChat: boolean;\n showChatAsLink: {\n [key: string]: boolean;\n };\n}\n\n@ClientConfig({ key: 'ptUkgcKyc', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: UkgcKycClientConfigFactory,\n deps: [ClientConfigService],\n})\nexport class UkgcKycConfig {\n enableDeKycWithSchufa: boolean;\n enableJumioKycRefresh: boolean;\n enableRevampedJumioFlow: boolean;\n}\n\n@ClientConfig({ key: 'ptInviteFriendsConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: InviteFriendsConfigFactory,\n deps: [ClientConfigService],\n})\nexport class InviteFriendsConfig {\n enableThirdPhase: boolean;\n}\n\n/*Lazy client config services*/\n\n@LazyClientConfig({ key: 'ptHomePageConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: HomePageConfigClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class HomePageConfig extends LazyClientConfigBase {\n isVanillaHomePageEnabled: boolean;\n}\n\n@LazyClientConfig({ key: 'ptBonusHistoryConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: bonusHistoryConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class BonusHistoryConfigClientConfig extends LazyClientConfigBase {\n cutOffYear: number;\n cutOffMonth: number;\n pageSize: number;\n amountOfDisplayedSingleMonths: number;\n dateCollectionLastYear: number;\n}\n\n@LazyClientConfig({ key: 'ptAccountVerificationConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: accountVerificationConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class AccountVerificationClientConfig extends LazyClientConfigBase {\n useIdNowNativeAppConfig: IdNowNativeApp[];\n idNowDeviceVersion: IdNowDeviceVersion;\n idNowNativeDefault: string;\n}\n\n@LazyClientConfig({ key: 'ptMonthlyOverView', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: MonthlyOverviewClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class MonthlyOverviewClientConfig extends LazyClientConfigBase {\n enabled: boolean;\n}\n\n@LazyClientConfig({ key: 'ptManualDocUploadRevamp', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: manualDocUploadRevampFactory,\n deps: [LazyClientConfigService],\n})\nexport class ManualDocUploadRevampConfig extends LazyClientConfigBase {\n isEnabled: boolean;\n composition: KycInfoModel;\n isEnabledForDormantAccount: boolean;\n}\n\n@LazyClientConfig({ key: 'ptPasswordConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: passwordConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class PasswordConfig extends LazyClientConfigBase {\n invalidBirthdayFormats: string[];\n displayNewPasswordHintValidation: boolean;\n isNewPasswordValidationEnabled: boolean;\n isPersonalInfoAllowedInPassword: boolean;\n isNewPasswordValidationHints: boolean;\n isPasswordValidationMessage: boolean;\n isPasswordHintSimplificationEnabled: boolean;\n isUserIdValidationEnabled: boolean;\n isLetterAndUpperLower: boolean;\n passAdditionalParams: boolean;\n enableHintsOnFocus: boolean;\n enableProgressbar: boolean;\n enableCapsLock: boolean;\n passwordValidationCriteria: { [key: string]: boolean };\n enableStrongPwdSuggestion: { [key: string]: string };\n}\n\n@LazyClientConfig({ key: 'ptLostPasswordConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: lostPasswordClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class LostPasswordClientConfig extends LazyClientConfigBase {\n otpEnabled: boolean;\n showForgotPasswordLink: boolean;\n showForgotUserIdLink: boolean;\n showPullChat: boolean;\n requiresSecondSecurityQuestion: boolean;\n}\n\n@LazyClientConfig({ key: 'ptLimitsConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: LimitsClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class LimitsClientConfig extends LazyClientConfigBase {\n waitingPeriodFormat: string;\n enablePendingLimit: boolean;\n isOnlyMonthlyLimitSupported: boolean;\n enableReviewPendingMessage: boolean;\n isClearLimitsSupported: boolean;\n rgLimitsNewPhaseOne: string[];\n}\n\n@LazyClientConfig({ key: 'ptCashbackConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: cashbackClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class CashbackClientConfig extends LazyClientConfigBase {\n overviewHistoryVisibility: string;\n type: string;\n isNewUIEnabled: boolean;\n}\n\n@LazyClientConfig({ key: 'ptContactConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: contactClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class ContactConfigConfig extends LazyClientConfigBase {\n ContactOptionsPhase2: any;\n}\n\n@LazyClientConfig({ key: 'ptFastRegistrationConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: FastRegistrationClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class FastRegistrationClientConfig extends LazyClientConfigBase {\n countries: string[];\n fastRegistrationEnabled: boolean;\n isABTestEnabled: boolean;\n}\n\n@LazyClientConfig({ key: 'ptSourceOfFunds', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: SourceOfFundsClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class SourceOfFundsClientConfig extends LazyClientConfigBase {\n sourceOfFundsEnabled: boolean;\n}\n\n@LazyClientConfig({ key: 'ptSpendingControls', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: SpendingControlsClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class SpendingControlsClientConfig extends LazyClientConfigBase {\n depositCurfewEnabled: boolean;\n withdrawBlockerEnabled: boolean;\n spendingControlsEnabled: boolean;\n isMaxStakeLimitsEnabled: boolean;\n depositLimitsEnabled: boolean;\n gamingLimitsEnabled: boolean;\n depositLimitsRedesignEnabled: boolean;\n lossLimitsVersion: number;\n greeceDepositLimitsEnabled: boolean;\n lossLimitsAccountLevel: boolean;\n}\n\n@LazyClientConfig({ key: 'ptPersonalDetailsConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: PersonalDetailsClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class PersonalDetailsClientConfig extends LazyClientConfigBase {\n isAccessAllowed: boolean;\n IsMaskingEnable: boolean;\n enableStaticFormLayout: boolean;\n}\n\n@LazyClientConfig({ key: 'ptGamblingControls', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: GamblingControlClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class GamblingControlsClientConfig extends LazyClientConfigBase {\n enableV2: boolean;\n enabledComponents: { [component: string]: boolean };\n franceCompliantEnhancement: boolean;\n borisGamblingControlsV2: boolean;\n isTimeoutOrSelfexclusionEnabled: boolean;\n enablePlayBreak: boolean;\n selfExclusionV3: boolean;\n isSingleOptionACEnabled: boolean;\n isAccountClosureWAenabled: boolean;\n isFranceGCDesignEnabled: boolean;\n enableServiceClosureRedirection: ServiceClosureConfigs;\n isBrRGCDesignEnabled: boolean;\n}\n\n@LazyClientConfig({ key: 'ptKba', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: KbaClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class KbaClientConfig extends LazyClientConfigBase {\n isEnabled: boolean;\n isV2Enabled: boolean;\n showUpload: boolean;\n maxAttempts: number;\n timer: any;\n}\n\n@LazyClientConfig({ key: 'ptGreekToLatin', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: GreekToLatinConfigClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class GreekToLatinConfig extends LazyClientConfigBase {\n greekToLatinCharactersMapping: any;\n}\n\n@LazyClientConfig({ key: 'ptSelfExclusion', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: SelfExclusionConfigClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class SelfExclusionConfig extends LazyClientConfigBase {\n oneClickExclude: any;\n oneClickExcludeEnabled: boolean;\n}\n\n@LazyClientConfig({ key: 'ptRiskAssessmentConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: RiskAssessmentConfigClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class RiskAssessmentClientConfig extends LazyClientConfigBase {\n isEnabled: boolean;\n scriptUrl: string;\n mode: string;\n registrationStep: number;\n threatMetrixSiteKey: string;\n threatMetrixDomain: string;\n submitLNTokenWithRegistration: boolean;\n}\n\n@LazyClientConfig({ key: 'ptCharts', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: ChartsClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class ChartsClientConfig extends LazyClientConfigBase {\n axisIntervals: any;\n readonly chartsOptions: any;\n chartsScriptUrl: string;\n colorSchema: { [key: string]: any };\n fontSchema: { [key: string]: any };\n}\n\n@LazyClientConfig({ key: 'ptDeKyc', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: DeReKycClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class DeReKycConfig extends LazyClientConfigBase {\n enableDeAnnualReKyc: boolean;\n enableKycUnVerifiedFieldsSteps: boolean;\n}\n\n@LazyClientConfig({ key: 'ptSocial', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: SocialClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class SocialClientConfig extends LazyClientConfigBase {\n itsMeAdditionalConfigurations: any;\n socialRegistrationProviders: { [key: string]: boolean };\n socialRegistrationQueryParameters: { [key: string]: any };\n}\n\n@LazyClientConfig({ key: 'ptPreRegistrationConfigsConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: PreRegistrationConfigsConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class PreRegistrationClientConfigs extends LazyClientConfigBase {\n isNvPreRegScreenEnabled: boolean;\n iDinIntegrationEnabled: boolean;\n isRegistrationPageBlock: boolean;\n}\n\n@LazyClientConfig({ key: 'ptBudgetCalculator', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: BudgetCalculatorClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class BudgetCalculatorConfig extends LazyClientConfigBase {\n enableBudgetCaclculator: boolean;\n}\n\n@LazyClientConfig({ key: 'ptOtherStakeLimits', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: OtherStakeLimitsClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class OtherStakeLimitsConfig extends LazyClientConfigBase {\n v2Enabled: boolean;\n}\n\n@LazyClientConfig({ key: 'ptValuePerception', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: ValuePerceptionClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class ValuePerceptionClientConfig extends LazyClientConfigBase {\n valuePerceptionEnabled: boolean;\n}\n\n@LazyClientConfig({ key: 'ptLicenseAgreement', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: LicenseAgreementClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class LicenseAgreementClientConfig extends LazyClientConfigBase {\n isEnabled: boolean;\n}\n\n@LazyClientConfig({ key: 'ptLoyalty', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: LoyaltyClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class LoyaltyConfig extends LazyClientConfigBase {\n enableMarriottBonvoy: boolean;\n}\n\n@LazyClientConfig({ key: 'ptAcquisition', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: AcquisitionClientConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class AcquisitionClientConfig extends LazyClientConfigBase {\n acquisitionEnhancements: { [key: string]: boolean };\n}\n\n@LazyClientConfig({ key: 'ptResortPageConfig', product: ClientConfigProductName.PORTAL })\n@Injectable({\n providedIn: 'root',\n useFactory: ResortPageConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class ResortPageClientConfig extends LazyClientConfigBase {\n isResortNavigationEnabled: boolean;\n enableDistanceToResort: boolean;\n shouldShowDirectionPage: boolean;\n distanceToResortThreshold: number;\n}\n\n/*Factory functions*/\nexport function bonusHistoryConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(BonusHistoryConfigClientConfig);\n}\n\nexport function accountVerificationConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(AccountVerificationClientConfig);\n}\n\nexport function lostPasswordClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(LostPasswordClientConfig);\n}\n\nexport function uploadFactory(clientConfigService: ClientConfigService) {\n return clientConfigService.get(UploadConfig);\n}\n\nexport function manualDocUploadRevampFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(ManualDocUploadRevampConfig);\n}\n\nexport function passwordConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(PasswordConfig);\n}\n\nexport function LimitsClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(LimitsClientConfig);\n}\n\nexport function cashbackClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(CashbackClientConfig);\n}\n\nexport function contactClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(ContactConfigConfig);\n}\n\nexport function ForeceInterceptorClientConfigFactory(clientConfigService: ClientConfigService) {\n return clientConfigService.get(ForceInterceptorConfig);\n}\n\nexport function HomePageConfigClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(HomePageConfig);\n}\n\nexport function FastRegistrationClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(FastRegistrationClientConfig);\n}\n\nexport function DobClientConfigFactory(clientConfigService: ClientConfigService) {\n return clientConfigService.get(DobClientConfig);\n}\n\nexport function SourceOfFundsClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(SourceOfFundsClientConfig);\n}\n\nexport function SpendingControlsClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(SpendingControlsClientConfig);\n}\n\nexport function AccountRecoveryClientConfigFactory(clientConfigService: ClientConfigService) {\n return clientConfigService.get(AccountRecoveryClientConfig);\n}\n\nexport function PersonalDetailsClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(PersonalDetailsClientConfig);\n}\n\nexport function GamblingControlClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(GamblingControlsClientConfig);\n}\n\nexport function AccountMenuV2ClientConfigFactory(clientConfigService: ClientConfigService) {\n return clientConfigService.get(AccountMenuV2ClientConfig);\n}\n\nexport function KbaClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(KbaClientConfig);\n}\n\nexport function ZendeskClientConfigFactory(clientConfigService: ClientConfigService) {\n return clientConfigService.get(ZendeskClientConfig);\n}\n\nexport function CommonClientConfigFactory(clientConfigService: ClientConfigService) {\n return clientConfigService.get(CommonClientConfig);\n}\n\nexport function GreekToLatinConfigClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(GreekToLatinConfig);\n}\n\nexport function SelfExclusionConfigClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(SelfExclusionConfig);\n}\n\nexport function RiskAssessmentConfigClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(RiskAssessmentClientConfig);\n}\n\nexport function UkgcKycClientConfigFactory(clientConfigService: ClientConfigService) {\n return clientConfigService.get(UkgcKycConfig);\n}\n\nexport function ChartsClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(ChartsClientConfig);\n}\n\nexport function SocialClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(SocialClientConfig);\n}\n\nexport function PreRegistrationConfigsConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(PreRegistrationClientConfigs);\n}\n\nexport function BudgetCalculatorClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(BudgetCalculatorConfig);\n}\nexport function OtherStakeLimitsClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(OtherStakeLimitsConfig);\n}\n\nexport function ValuePerceptionClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(ValuePerceptionClientConfig);\n}\n\nexport function LicenseAgreementClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(LicenseAgreementClientConfig);\n}\n\nexport function MonthlyOverviewClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(MonthlyOverviewClientConfig);\n}\n\nexport function LoyaltyClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(LoyaltyConfig);\n}\nexport function DeReKycClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(DeReKycConfig);\n}\nexport function AcquisitionClientConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(AcquisitionClientConfig);\n}\n\nexport function ResortPageConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(ResortPageClientConfig);\n}\n\nexport function InviteFriendsConfigFactory(clientConfigService: LazyClientConfigService) {\n return clientConfigService.get(InviteFriendsConfig);\n}\n"],"names":["ValidatorsExtended","Validators","newDateNotUsedInPassword","field","formats","dateFormatter","charOnEmptySpace","control","length","isEmptyInputValue","value","checkIfValidDate","otherFieldValue","getOtherFieldValue","controlValue","stringContainsDate","notUsedInOtherField","validPassword","dateFormats","personalInformation","email","includes","substring","indexOf","validatePassword","firstName","lastName","secondLastName","username","dateOfBirth","getNewDateOfBirthValue","dateNotUsedInPassword","integer","n","test","parseFloat","Number","isInteger","number","type","validRemainingBalanceLimit","fromAccountBalance","root","get","isNaN","max","validFromAccountBalanceLimit","remainingBalance","validateNie","nie","nullValidator","startLetter","charAt","toUpperCase","numbers","letter","num","nieNumbers","parseInt","checkSum","nienif","validateNif","nif","validCnp","improvedValidation","skipGenderCheck","dobProvider","genderProvider","skip","getDob","getGender","c","dob","getOtherField","valid","dobDate","Date","day","getDate","toFixed","month","getMonth","year","getFullYear","gender","validateImprovedCnp","cnp","validateCnp","float","isNumber","toLowerCase","otherFieldValueLower","notUsedInOtherFieldExactAddress1","Required","UsedInOtherFieldExactAddress","notUsedInOtherFieldExactCity","UsedInOtherFieldExactCity","doNotAcceptOnlyNumbers","spaces","i","numberSet","NumbersOnly","doNotAcceptNumbers","str","d","charCodeAt","NumberNotAllowed","doNotCountSpaceName","minCount","replace","count","InvalidNameLength","doNotCountSpaceAddress","InvalidAddressLength","doNotAcceptDifferentFirstLetter","FirstLetterValidationFailed","doNotAcceptSameLetterThroughout","word","flag","SameLetterName","checkSpaces","StringLength","doHouseNumberValidation","rules","required","maxLength","minLength","isValid","regex","RegExp","InvalidHouseNumber","validateHouseNumString","split","every","x","doNotAllowTitles","titles","inputtitle","notAllowedTitles","validPeselNumber","validatePeselNumber","peselNumberInvalid","validatePeselNumberDOB","dobPeselMisMatch","alphabetPattern","some","element","index","array","password","stringValues","dateValues","filter","s","map","date","dateArray","otherField","shortMonth","shortMonthWithoutDot","f","PortalFormGroup","getFlat","getControlSum","k","CONTROL_VALUES","validateBirthdate","pad","validateGender","male","g1","g2","century","g","fd","fde","m19","f19","m18","f18","m20","f20","YEAR_OFFSET","cnpDigits","Array","from","String","maxDayOfMonth","delimiter","result","join","pesel","match","isValidFirstSixPeselNumber","genderCheck","malePattern","femalePattern","cDigit","generateValidCheckDigitForPesel","arr","sum","getMultiplier","modulo","lastD","substr","peselNumber","first10Digits","j","checkDigit","wholeYear","Year","twoDigityear","yearPeselNumber","monthPeselNumber","datePeselNumber","Error","Unicodeservice","constructor","dataSubject","Subject","data$","asObservable","updateformfield","data","next","factory","ɵfac","providedIn","_Unicodeservice","ScrollToService","scrollTo","duration","offset","scrollIntoView","scrollIntoViewOptions","el","document","querySelector","scrollToElement","HTMLElement","offsetTop","getBoundingClientRect","top","window","pageYOffset","doScrolling","step","timestamp","start","time","percent","Math","min","startingY","diff","requestAnimationFrame","elementY","l","_ScrollToService","UploadConfig","_a","__ngFactoryType__","__ngConditionalFactory__","uploadFactory","ɵɵinject","ClientConfigService","__decorate","ClientConfig","key","product","ClientConfigProductName","PORTAL","DobClientConfig","r","DobClientConfigFactory","ForceInterceptorConfig","ForeceInterceptorClientConfigFactory","AccountRecoveryClientConfig","AccountRecoveryClientConfigFactory","AccountMenuV2ClientConfig","AccountMenuV2ClientConfigFactory","CommonClientConfig","CommonClientConfigFactory","ZendeskClientConfig","ZendeskClientConfigFactory","UkgcKycConfig","UkgcKycClientConfigFactory","InviteFriendsConfig","InviteFriendsConfigFactory","HomePageConfig","LazyClientConfigBase","HomePageConfigClientConfigFactory","LazyClientConfigService","LazyClientConfig","BonusHistoryConfigClientConfig","bonusHistoryConfigFactory","AccountVerificationClientConfig","accountVerificationConfigFactory","MonthlyOverviewClientConfig","MonthlyOverviewClientConfigFactory","ManualDocUploadRevampConfig","manualDocUploadRevampFactory","PasswordConfig","passwordConfigFactory","LostPasswordClientConfig","lostPasswordClientConfigFactory","LimitsClientConfig","LimitsClientConfigFactory","CashbackClientConfig","cashbackClientConfigFactory","ContactConfigConfig","contactClientConfigFactory","FastRegistrationClientConfig","FastRegistrationClientConfigFactory","SourceOfFundsClientConfig","SourceOfFundsClientConfigFactory","SpendingControlsClientConfig","SpendingControlsClientConfigFactory","PersonalDetailsClientConfig","PersonalDetailsClientConfigFactory","GamblingControlsClientConfig","GamblingControlClientConfigFactory","KbaClientConfig","KbaClientConfigFactory","GreekToLatinConfig","GreekToLatinConfigClientConfigFactory","SelfExclusionConfig","SelfExclusionConfigClientConfigFactory","RiskAssessmentClientConfig","RiskAssessmentConfigClientConfigFactory","ChartsClientConfig","ChartsClientConfigFactory","DeReKycConfig","DeReKycClientConfigFactory","SocialClientConfig","SocialClientConfigFactory","PreRegistrationClientConfigs","PreRegistrationConfigsConfigFactory","BudgetCalculatorConfig","BudgetCalculatorClientConfigFactory","OtherStakeLimitsConfig","OtherStakeLimitsClientConfigFactory","ValuePerceptionClientConfig","ValuePerceptionClientConfigFactory","LicenseAgreementClientConfig","LicenseAgreementClientConfigFactory","LoyaltyConfig","LoyaltyClientConfigFactory","AcquisitionClientConfig","AcquisitionClientConfigFactory","ResortPageClientConfig","ResortPageConfigFactory","clientConfigService"],"mappings":"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"}