{"version":3,"file":"js/217-02cf1ce474230052cc6c.js","mappings":"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","sources":["webpack://paypro/./node_modules/ibantools/jsnext/ibantools.js"],"sourcesContent":["/*!\n * @license\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n/**\n * Validation, extraction and creation of IBAN, BBAN, BIC/SWIFT numbers plus some other helpful stuff\n * @package Documentation\n * @author Saša Jovanić\n * @module ibantools\n * @version 4.1.5\n * @license MPL-2.0\n * @preferred\n */\n'use strict';\n/**\n * Validate IBAN\n * ```\n * // returns true\n * ibantools.isValidIBAN(\"NL91ABNA0517164300\");\n * ```\n * ```\n * // returns false\n * ibantools.isValidIBAN(\"NL92ABNA0517164300\");\n * ```\n */\nexport function isValidIBAN(iban) {\n if (iban === undefined || iban === null)\n return false;\n var reg = new RegExp('^[0-9]{2}$', '');\n var spec = countrySpecs[iban.slice(0, 2)];\n if (spec === undefined || spec.bban_regexp === undefined || spec.bban_regexp === null || spec.chars === undefined)\n return false;\n return (spec.chars === iban.length &&\n reg.test(iban.slice(2, 4)) &&\n isValidBBAN(iban.slice(4), iban.slice(0, 2)) &&\n isValidIBANChecksum(iban));\n}\n/**\n * IBAM validation errors\n */\nexport var ValidationErrorsIBAN;\n(function (ValidationErrorsIBAN) {\n ValidationErrorsIBAN[ValidationErrorsIBAN[\"NoIBANProvided\"] = 0] = \"NoIBANProvided\";\n ValidationErrorsIBAN[ValidationErrorsIBAN[\"NoIBANCountry\"] = 1] = \"NoIBANCountry\";\n ValidationErrorsIBAN[ValidationErrorsIBAN[\"WrongBBANLength\"] = 2] = \"WrongBBANLength\";\n ValidationErrorsIBAN[ValidationErrorsIBAN[\"WrongBBANFormat\"] = 3] = \"WrongBBANFormat\";\n ValidationErrorsIBAN[ValidationErrorsIBAN[\"ChecksumNotNumber\"] = 4] = \"ChecksumNotNumber\";\n ValidationErrorsIBAN[ValidationErrorsIBAN[\"WrongIBANChecksum\"] = 5] = \"WrongIBANChecksum\";\n ValidationErrorsIBAN[ValidationErrorsIBAN[\"WrongAccountBankBranchChecksum\"] = 6] = \"WrongAccountBankBranchChecksum\";\n})(ValidationErrorsIBAN || (ValidationErrorsIBAN = {}));\n/**\n * validateIBAN\n * ```\n * // returns {errorCodes: [], valid: true}\n * ibantools.validateIBAN(\"NL91 ABNA 0417 1643 00\");\n * ```\n */\nexport function validateIBAN(iban) {\n var result = { errorCodes: [], valid: true };\n if (iban !== undefined && iban !== null && iban !== '') {\n var spec = countrySpecs[iban.slice(0, 2)];\n if (!spec || !(spec.bban_regexp || spec.chars)) {\n result.valid = false;\n result.errorCodes.push(ValidationErrorsIBAN.NoIBANCountry);\n return result;\n }\n if (spec && spec.chars && spec.chars !== iban.length) {\n result.valid = false;\n result.errorCodes.push(ValidationErrorsIBAN.WrongBBANLength);\n }\n if (spec && spec.bban_regexp && !checkFormatBBAN(iban.slice(4), spec.bban_regexp)) {\n result.valid = false;\n result.errorCodes.push(ValidationErrorsIBAN.WrongBBANFormat);\n }\n if (spec && spec.bban_validation_func && !spec.bban_validation_func(iban.slice(4))) {\n result.valid = false;\n result.errorCodes.push(ValidationErrorsIBAN.WrongAccountBankBranchChecksum);\n }\n var reg = new RegExp('^[0-9]{2}$', '');\n if (!reg.test(iban.slice(2, 4))) {\n result.valid = false;\n result.errorCodes.push(ValidationErrorsIBAN.ChecksumNotNumber);\n }\n if (!isValidIBANChecksum(iban)) {\n result.valid = false;\n result.errorCodes.push(ValidationErrorsIBAN.WrongIBANChecksum);\n }\n }\n else {\n result.valid = false;\n result.errorCodes.push(ValidationErrorsIBAN.NoIBANProvided);\n }\n return result;\n}\n/**\n * Validate BBAN\n *\n * ```\n * // returns true\n * ibantools.isValidBBAN(\"ABNA0517164300\", \"NL\");\n * ```\n * ```\n * // returns false\n * ibantools.isValidBBAN(\"A7NA0517164300\", \"NL\");\n * ```\n */\nexport function isValidBBAN(bban, countryCode) {\n if (bban === undefined || bban === null || countryCode === undefined || countryCode === null)\n return false;\n var spec = countrySpecs[countryCode];\n if (spec === undefined ||\n spec === null ||\n spec.bban_regexp === undefined ||\n spec.bban_regexp === null ||\n spec.chars === undefined ||\n spec.chars === null)\n return false;\n if (spec.chars - 4 === bban.length && checkFormatBBAN(bban, spec.bban_regexp)) {\n if (spec.bban_validation_func) {\n return spec.bban_validation_func(bban.replace(/[\\s.]+/g, ''));\n }\n return true;\n }\n return false;\n}\n/**\n * Validate if country code is from a SEPA country\n * ```\n * // returns true\n * ibantools.isSEPACountry(\"NL\");\n * ```\n * ```\n * // returns false\n * ibantools.isSEPACountry(\"PK\");\n * ```\n */\nexport function isSEPACountry(countryCode) {\n if (countryCode !== undefined && countryCode !== null) {\n var spec = countrySpecs[countryCode];\n if (spec !== undefined) {\n return spec.SEPA ? spec.SEPA : false;\n }\n }\n return false;\n}\n/**\n * composeIBAN\n *\n * ```\n * // returns NL91ABNA0417164300\n * ibantools.composeIBAN({ countryCode: \"NL\", bban: \"ABNA0417164300\" });\n * ```\n */\nexport function composeIBAN(params) {\n var formated_bban = electronicFormatIBAN(params.bban) || '';\n if (params.countryCode === null || params.countryCode === undefined) {\n return null;\n }\n var spec = countrySpecs[params.countryCode];\n if (formated_bban !== '' &&\n spec !== undefined &&\n spec.chars &&\n spec.chars !== null &&\n spec.chars === formated_bban.length + 4 &&\n spec.bban_regexp &&\n spec.bban_regexp !== null &&\n checkFormatBBAN(formated_bban, spec.bban_regexp)) {\n var checksom = mod9710Iban(params.countryCode + '00' + formated_bban);\n return params.countryCode + ('0' + (98 - checksom)).slice(-2) + formated_bban;\n }\n return null;\n}\n/**\n * extractIBAN\n * ```\n * // returns {iban: \"NL91ABNA0417164300\", bban: \"ABNA0417164300\", countryCode: \"NL\", valid: true}\n * ibantools.extractIBAN(\"NL91 ABNA 0417 1643 00\");\n * ```\n */\nexport function extractIBAN(iban) {\n var result = {};\n var eFormatIBAN = electronicFormatIBAN(iban);\n result.iban = eFormatIBAN || iban;\n if (!!eFormatIBAN && isValidIBAN(eFormatIBAN)) {\n result.bban = eFormatIBAN.slice(4);\n result.countryCode = eFormatIBAN.slice(0, 2);\n result.valid = true;\n }\n else {\n result.valid = false;\n }\n return result;\n}\n/**\n * Check BBAN format\n *\n * @ignore\n */\nfunction checkFormatBBAN(bban, bformat) {\n var reg = new RegExp(bformat, '');\n return reg.test(bban);\n}\n/**\n * Get IBAN in electronic format (no spaces)\n * IBAN validation is not performed.\n * When non-string value for IBAN is provided, returns null.\n * ```\n * // returns \"NL91ABNA0417164300\"\n * ibantools.electronicFormatIBAN(\"NL91 ABNA 0417 1643 00\");\n * ```\n */\nexport function electronicFormatIBAN(iban) {\n if (typeof iban !== 'string') {\n return null;\n }\n return iban.replace(/[-\\ ]/g, '').toUpperCase();\n}\n/**\n * Get IBAN in friendly format (separated after every 4 characters)\n * IBAN validation is not performed.\n * When non-string value for IBAN is provided, returns null.\n * ```\n * // returns \"NL91 ABNA 0417 1643 00\"\n * ibantools.friendlyFormatIBAN(\"NL91ABNA0417164300\");\n * ```\n * ```\n * // returns \"NL91-ABNA-0417-1643-00\"\n * ibantools.friendlyFormatIBAN(\"NL91ABNA0417164300\",\"-\");\n * ```\n */\nexport function friendlyFormatIBAN(iban, separator) {\n if (typeof iban !== 'string') {\n return null;\n }\n if (separator === undefined || separator === null) {\n separator = ' ';\n }\n var electronic_iban = electronicFormatIBAN(iban);\n /* istanbul ignore if */\n if (electronic_iban === null) {\n return null;\n }\n return electronic_iban.replace(/(.{4})(?!$)/g, '$1' + separator);\n}\n/**\n * Calculate checksum of IBAN and compares it with checksum provided in IBAN Registry\n *\n * @ignore\n */\nfunction isValidIBANChecksum(iban) {\n var countryCode = iban.slice(0, 2);\n var providedChecksum = parseInt(iban.slice(2, 4), 10);\n var bban = iban.slice(4);\n // Wikipedia[validating_iban] says there are a specif way to check if a IBAN is valid but\n // it. It says 'If the remainder is 1, the check digit test is passed and the\n // IBAN might be valid.'. might, MIGHT!\n // We don't want might but want yes or no. Since every BBAN is IBAN from the fifth\n // (slice(4)) we can generate the IBAN from BBAN and country code(two first characters)\n // from in the IBAN.\n // To generate the (generate the iban check digits)[generating-iban-check]\n // Move the country code to the end\n // remove the checksum from the begging\n // Add \"00\" to the end\n // modulo 97 on the amount\n // subtract remainder from 98, (98 - remainder)\n // Add a leading 0 if the remainder is less then 10 (padStart(2, \"0\")) (we skip this\n // since we compare int, not string)\n //\n // [validating_iban][https://en.wikipedia.org/wiki/International_Bank_Account_Number#Validating_the_IBAN]\n // [generating-iban-check][https://en.wikipedia.org/wiki/International_Bank_Account_Number#Generating_IBAN_check_digits]\n var validationString = replaceCharaterWithCode(\"\".concat(bban).concat(countryCode, \"00\"));\n var rest = mod9710(validationString);\n return 98 - rest === providedChecksum;\n}\n/**\n * Iban contain characters and should be converted to intereger by 55 substracted\n * from there ascii value\n *\n * @ignore\n */\nfunction replaceCharaterWithCode(str) {\n // It is slower but alot more readable\n // https://jsbench.me/ttkzgsekae/1\n return str\n .split('')\n .map(function (c) {\n var code = c.charCodeAt(0);\n return code >= 65 ? (code - 55).toString() : c;\n })\n .join('');\n}\n/**\n * MOD-97-10\n *\n * @ignore\n */\nfunction mod9710Iban(iban) {\n return mod9710(replaceCharaterWithCode(iban.slice(3) + iban.slice(0, 4)));\n}\n/**\n * Returns specifications for all countries, even those who are not\n * members of IBAN registry. `IBANRegistry` field indicates if country\n * is member of not.\n *\n * ```\n * // Validating IBAN form field after user selects his country\n * // \n * $(\"#countries\").select(function() {\n * // Find country\n * let country = ibantools.getCountrySpecifications()[$(this).val()];\n * // Add country code letters to IBAN form field\n * $(\"input#iban\").value($(this).val());\n * // Add New value to \"pattern\" attribute to #iban input text field\n * $(\"input#iban\").attr(\"pattern\", $(this).val() + \"[0-9]{2}\" + country.bban_regexp.slice(1).replace(\"$\",\"\"));\n * });\n * ```\n */\nexport function getCountrySpecifications() {\n var countyMap = {};\n for (var countyCode in countrySpecs) {\n var county = countrySpecs[countyCode];\n countyMap[countyCode] = {\n chars: county.chars || null,\n bban_regexp: county.bban_regexp || null,\n IBANRegistry: county.IBANRegistry || false,\n SEPA: county.SEPA || false,\n };\n }\n return countyMap;\n}\n/**\n * Validate BIC/SWIFT\n *\n * ```\n * // returns true\n * ibantools.isValidBIC(\"ABNANL2A\");\n *\n * // returns true\n * ibantools.isValidBIC(\"NEDSZAJJXXX\");\n *\n * // returns false\n * ibantools.isValidBIC(\"ABN4NL2A\");\n *\n * // returns false\n * ibantools.isValidBIC(\"ABNA NL 2A\");\n * ```\n */\nexport function isValidBIC(bic) {\n if (!bic) {\n return false;\n }\n var reg = new RegExp('^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?$', '');\n var spec = countrySpecs[bic.toUpperCase().slice(4, 6)];\n return reg.test(bic) && spec !== undefined;\n}\n/**\n * BIC validation errors\n */\nexport var ValidationErrorsBIC;\n(function (ValidationErrorsBIC) {\n ValidationErrorsBIC[ValidationErrorsBIC[\"NoBICProvided\"] = 0] = \"NoBICProvided\";\n ValidationErrorsBIC[ValidationErrorsBIC[\"NoBICCountry\"] = 1] = \"NoBICCountry\";\n ValidationErrorsBIC[ValidationErrorsBIC[\"WrongBICFormat\"] = 2] = \"WrongBICFormat\";\n})(ValidationErrorsBIC || (ValidationErrorsBIC = {}));\n/**\n * validateBIC\n * ```\n * // returns {errorCodes: [], valid: true}\n * ibantools.validateBIC(\"NEDSZAJJXXX\");\n * ```\n */\nexport function validateBIC(bic) {\n var result = { errorCodes: [], valid: true };\n if (bic !== undefined && bic !== null && bic !== '') {\n var spec = countrySpecs[bic.toUpperCase().slice(4, 6)];\n if (spec === undefined) {\n result.valid = false;\n result.errorCodes.push(ValidationErrorsBIC.NoBICCountry);\n }\n else {\n var reg = new RegExp('^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?$', '');\n if (!reg.test(bic)) {\n result.valid = false;\n result.errorCodes.push(ValidationErrorsBIC.WrongBICFormat);\n }\n }\n }\n else {\n result.valid = false;\n result.errorCodes.push(ValidationErrorsBIC.NoBICProvided);\n }\n return result;\n}\n/**\n * extractBIC\n * ```\n * // returns {bankCode: \"ABNA\", countryCode: \"NL\", locationCode: \"2A\", branchCode: null, testBIC: flase, valid: true}\n * ibantools.extractBIC(\"ABNANL2A\");\n * ```\n */\nexport function extractBIC(inputBic) {\n var result = {};\n var bic = inputBic.toUpperCase();\n if (isValidBIC(bic)) {\n result.bankCode = bic.slice(0, 4);\n result.countryCode = bic.slice(4, 6);\n result.locationCode = bic.slice(6, 8);\n result.testBIC = result.locationCode[1] === '0' ? true : false;\n result.branchCode = bic.length > 8 ? bic.slice(8) : '619';\n result.valid = true;\n }\n else {\n result.valid = false;\n }\n return result;\n}\n/**\n * Used for Norway BBAN check\n *\n * @ignore\n */\nvar checkNorwayBBAN = function (bban) {\n var weights = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];\n var bbanWithoutSpacesAndPeriods = bban.replace(/[\\s.]+/g, '');\n var controlDigit = parseInt(bbanWithoutSpacesAndPeriods.charAt(10), 10);\n var bbanWithoutControlDigit = bbanWithoutSpacesAndPeriods.substring(0, 10);\n var sum = 0;\n for (var index = 0; index < 10; index++) {\n sum += parseInt(bbanWithoutControlDigit.charAt(index), 10) * weights[index];\n }\n var remainder = sum % 11;\n return controlDigit === (remainder === 0 ? 0 : 11 - remainder);\n};\n/**\n * Used for Belgian BBAN check\n *\n * @ignore\n */\nvar checkBelgianBBAN = function (bban) {\n var stripped = bban.replace(/[\\s.]+/g, '');\n var checkingPart = parseInt(stripped.substring(0, stripped.length - 2), 10);\n var checksum = parseInt(stripped.substring(stripped.length - 2, stripped.length), 10);\n var remainder = checkingPart % 97 === 0 ? 97 : checkingPart % 97;\n return remainder === checksum;\n};\n/**\n * Mod 97/10 calculation\n *\n * @ignore\n */\nvar mod9710 = function (validationString) {\n while (validationString.length > 2) {\n // > Any computer programming language or software package that is used to compute D\n // > mod 97 directly must have the ability to handle integers of more than 30 digits.\n // > In practice, this can only be done by software that either supports\n // > arbitrary-precision arithmetic or that can handle 219-bit (unsigned) integers\n // https://en.wikipedia.org/wiki/International_Bank_Account_Number#Modulo_operation_on_IBAN\n var part = validationString.slice(0, 6);\n var partInt = parseInt(part, 10);\n if (isNaN(partInt)) {\n return NaN;\n }\n validationString = (partInt % 97) + validationString.slice(part.length);\n }\n return parseInt(validationString, 10) % 97;\n};\n/**\n * Check BBAN based on Mod97/10 calculation for countries that support it:\n * BA, ME, MK, PT, RS, SI\n *\n * @ignore\n */\nvar checkMod9710BBAN = function (bban) {\n var stripped = bban.replace(/[\\s.]+/g, '');\n var reminder = mod9710(stripped);\n return reminder === 1;\n};\n/**\n * Used for Poland BBAN check\n *\n * @ignore\n */\nvar checkPolandBBAN = function (bban) {\n var weights = [3, 9, 7, 1, 3, 9, 7];\n var controlDigit = parseInt(bban.charAt(7), 10);\n var toCheck = bban.substring(0, 7);\n var sum = 0;\n for (var index = 0; index < 7; index++) {\n sum += parseInt(toCheck.charAt(index), 10) * weights[index];\n }\n var remainder = sum % 10;\n return controlDigit === (remainder === 0 ? 0 : 10 - remainder);\n};\n/**\n * Spain (ES) BBAN check\n *\n * @ignore\n */\nvar checkSpainBBAN = function (bban) {\n var weightsBankBranch = [4, 8, 5, 10, 9, 7, 3, 6];\n var weightsAccount = [1, 2, 4, 8, 5, 10, 9, 7, 3, 6];\n var controlBankBranch = parseInt(bban.charAt(8), 10);\n var controlAccount = parseInt(bban.charAt(9), 10);\n var bankBranch = bban.substring(0, 8);\n var account = bban.substring(10, 20);\n var sum = 0;\n for (var index = 0; index < 8; index++) {\n sum += parseInt(bankBranch.charAt(index), 10) * weightsBankBranch[index];\n }\n var remainder = sum % 11;\n if (controlBankBranch !== (remainder === 0 ? 0 : remainder === 1 ? 1 : 11 - remainder)) {\n return false;\n }\n sum = 0;\n for (var index = 0; index < 10; index++) {\n sum += parseInt(account.charAt(index), 10) * weightsAccount[index];\n }\n remainder = sum % 11;\n return controlAccount === (remainder === 0 ? 0 : remainder === 1 ? 1 : 11 - remainder);\n};\n/**\n * Mod 11/10 check\n *\n * @ignore\n */\nvar checkMod1110 = function (toCheck, control) {\n var nr = 10;\n for (var index = 0; index < toCheck.length; index++) {\n nr += parseInt(toCheck.charAt(index), 10);\n if (nr % 10 !== 0) {\n nr = nr % 10;\n }\n nr = nr * 2;\n nr = nr % 11;\n }\n return control === (11 - nr === 10 ? 0 : 11 - nr);\n};\n/**\n * Croatian (HR) BBAN check\n *\n * @ignore\n */\nvar checkCroatianBBAN = function (bban) {\n var controlBankBranch = parseInt(bban.charAt(6), 10);\n var controlAccount = parseInt(bban.charAt(16), 10);\n var bankBranch = bban.substring(0, 6);\n var account = bban.substring(7, 16);\n return checkMod1110(bankBranch, controlBankBranch) && checkMod1110(account, controlAccount);\n};\n/**\n * Czech (CZ) BBAN check\n *\n * @ignore\n */\nvar checkCzechBBAN = function (bban) {\n var weightsPrefix = [10, 5, 8, 4, 2, 1];\n var weightsSuffix = [6, 3, 7, 9, 10, 5, 8, 4, 2, 1];\n var controlPrefix = parseInt(bban.charAt(9), 10);\n var controlSuffix = parseInt(bban.charAt(19), 10);\n var prefix = bban.substring(4, 9);\n var suffix = bban.substring(10, 19);\n var sum = 0;\n for (var index = 0; index < prefix.length; index++) {\n sum += parseInt(prefix.charAt(index), 10) * weightsPrefix[index];\n }\n var remainder = sum % 11;\n if (controlPrefix !== (remainder === 0 ? 0 : remainder === 1 ? 1 : 11 - remainder)) {\n return false;\n }\n sum = 0;\n for (var index = 0; index < suffix.length; index++) {\n sum += parseInt(suffix.charAt(index), 10) * weightsSuffix[index];\n }\n remainder = sum % 11;\n return controlSuffix === (remainder === 0 ? 0 : remainder === 1 ? 1 : 11 - remainder);\n};\n/**\n * Estonian (EE) BBAN check\n *\n * @ignore\n */\nvar checkEstonianBBAN = function (bban) {\n var weights = [7, 1, 3, 7, 1, 3, 7, 1, 3, 7, 1, 3, 7];\n var controlDigit = parseInt(bban.charAt(15), 10);\n var toCheck = bban.substring(2, 15);\n var sum = 0;\n for (var index = 0; index < toCheck.length; index++) {\n sum += parseInt(toCheck.charAt(index), 10) * weights[index];\n }\n var remainder = sum % 10;\n return controlDigit === (remainder === 0 ? 0 : 10 - remainder);\n};\n/**\n * Finland (FI) BBAN check\n *\n * @ignore\n */\nvar checkFinlandBBAN = function (bban) {\n var weightsMethod1 = [2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2];\n var weightsMethod2 = [0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 1, 3, 7];\n var controlDigit = parseInt(bban.charAt(13), 10);\n var toCheck = bban.substring(0, 13);\n var sum = 0;\n if (toCheck.startsWith('88')) {\n for (var index = 0; index < toCheck.length; index++) {\n sum += parseInt(toCheck.charAt(index), 10) * weightsMethod2[index];\n }\n var remainder = sum % 10;\n return controlDigit === (remainder === 0 ? 0 : 10 - remainder);\n }\n else {\n for (var index = 0; index < toCheck.length; index++) {\n if (weightsMethod1[index] === 1) {\n sum += parseInt(toCheck.charAt(index), 10) * weightsMethod1[index];\n }\n else {\n var value = parseInt(toCheck.charAt(index), 10) * weightsMethod1[index];\n sum += Math.floor(value / 10) + (value % 10);\n }\n }\n var extraSum = sum + controlDigit;\n var multiDigit = Math.floor(extraSum / 10);\n var result = multiDigit * 10;\n var remainder = result - sum;\n return remainder === controlDigit;\n }\n};\n/**\n * Check French (FR) BBAN\n * Also for Monaco (MC)\n *\n * @ignore\n */\nvar checkFrenchBBAN = function (bban) {\n var stripped = bban.replace(/[\\s.]+/g, '');\n var normalized = Array.from(stripped);\n for (var index = 0; index < stripped.length; index++) {\n var c = normalized[index].charCodeAt(0);\n if (c >= 65) {\n switch (c) {\n case 65:\n case 74:\n normalized[index] = '1';\n break;\n case 66:\n case 75:\n case 83:\n normalized[index] = '2';\n break;\n case 67:\n case 76:\n case 84:\n normalized[index] = '3';\n break;\n case 68:\n case 77:\n case 85:\n normalized[index] = '4';\n break;\n case 69:\n case 78:\n case 86:\n normalized[index] = '5';\n break;\n case 70:\n case 79:\n case 87:\n normalized[index] = '6';\n break;\n case 71:\n case 80:\n case 88:\n normalized[index] = '7';\n break;\n case 72:\n case 81:\n case 89:\n normalized[index] = '8';\n break;\n case 73:\n case 82:\n case 90:\n normalized[index] = '9';\n break;\n }\n }\n }\n var remainder = mod9710(normalized.join(''));\n return remainder === 0;\n};\n/**\n * Hungarian (HU) BBAN check\n *\n * @ignore\n */\nvar checkHungarianBBAN = function (bban) {\n var weights = [9, 7, 3, 1, 9, 7, 3, 1, 9, 7, 3, 1, 9, 7, 3];\n var controlDigitBankBranch = parseInt(bban.charAt(7), 10);\n var toCheckBankBranch = bban.substring(0, 7);\n var sum = 0;\n for (var index = 0; index < toCheckBankBranch.length; index++) {\n sum += parseInt(toCheckBankBranch.charAt(index), 10) * weights[index];\n }\n var remainder = sum % 10;\n if (controlDigitBankBranch !== (remainder === 0 ? 0 : 10 - remainder)) {\n return false;\n }\n sum = 0;\n if (bban.endsWith('00000000')) {\n var toCheckAccount = bban.substring(8, 15);\n var controlDigitAccount = parseInt(bban.charAt(15), 10);\n for (var index = 0; index < toCheckAccount.length; index++) {\n sum += parseInt(toCheckAccount.charAt(index), 10) * weights[index];\n }\n var remainder_1 = sum % 10;\n return controlDigitAccount === (remainder_1 === 0 ? 0 : 10 - remainder_1);\n }\n else {\n var toCheckAccount = bban.substring(8, 23);\n var controlDigitAccount = parseInt(bban.charAt(23), 10);\n for (var index = 0; index < toCheckAccount.length; index++) {\n sum += parseInt(toCheckAccount.charAt(index), 10) * weights[index];\n }\n var remainder_2 = sum % 10;\n return controlDigitAccount === (remainder_2 === 0 ? 0 : 10 - remainder_2);\n }\n};\n/**\n * Country specifications\n */\nexport var countrySpecs = {\n AD: {\n chars: 24,\n bban_regexp: '^[0-9]{8}[A-Z0-9]{12}$',\n IBANRegistry: true,\n SEPA: true,\n },\n AE: {\n chars: 23,\n bban_regexp: '^[0-9]{3}[0-9]{16}$',\n IBANRegistry: true,\n },\n AF: {},\n AG: {},\n AI: {},\n AL: {\n chars: 28,\n bban_regexp: '^[0-9]{8}[A-Z0-9]{16}$',\n IBANRegistry: true,\n },\n AM: {},\n AO: {\n chars: 25,\n bban_regexp: '^[0-9]{21}$',\n },\n AQ: {},\n AR: {},\n AS: {},\n AT: { chars: 20, bban_regexp: '^[0-9]{16}$', IBANRegistry: true, SEPA: true },\n AU: {},\n AW: {},\n AX: {\n chars: 18,\n bban_regexp: '^[0-9]{14}$',\n bban_validation_func: checkFinlandBBAN,\n IBANRegistry: true,\n },\n AZ: {\n chars: 28,\n bban_regexp: '^[A-Z]{4}[A-Z0-9]{20}$',\n IBANRegistry: true,\n },\n BA: {\n chars: 20,\n bban_regexp: '^[0-9]{16}$',\n bban_validation_func: checkMod9710BBAN,\n IBANRegistry: true,\n },\n BB: {},\n BD: {},\n BE: { chars: 16, bban_regexp: '^[0-9]{12}$', bban_validation_func: checkBelgianBBAN, IBANRegistry: true, SEPA: true },\n BF: {\n chars: 28,\n bban_regexp: '^[A-Z0-9]{2}[0-9]{22}$',\n },\n BG: {\n chars: 22,\n bban_regexp: '^[A-Z]{4}[0-9]{6}[A-Z0-9]{8}$',\n IBANRegistry: true,\n SEPA: true,\n },\n BH: {\n chars: 22,\n bban_regexp: '^[A-Z]{4}[A-Z0-9]{14}$',\n IBANRegistry: true,\n },\n BI: {\n chars: 27,\n bban_regexp: '^[0-9]{23}$',\n },\n BJ: {\n chars: 28,\n bban_regexp: '^[A-Z0-9]{2}[0-9]{22}$',\n },\n BL: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n IBANRegistry: true,\n },\n BM: {},\n BN: {},\n BO: {},\n BQ: {},\n BR: {\n chars: 29,\n bban_regexp: '^[0-9]{23}[A-Z]{1}[A-Z0-9]{1}$',\n IBANRegistry: true,\n },\n BS: {},\n BT: {},\n BV: {},\n BW: {},\n BY: {\n chars: 28,\n bban_regexp: '^[A-Z]{4}[0-9]{4}[A-Z0-9]{16}$',\n IBANRegistry: true,\n },\n BZ: {},\n CA: {},\n CC: {},\n CD: {},\n CF: {\n chars: 27,\n bban_regexp: '^[0-9]{23}$',\n },\n CG: {\n chars: 27,\n bban_regexp: '^[0-9]{23}$',\n },\n CH: {\n chars: 21,\n bban_regexp: '^[0-9]{5}[A-Z0-9]{12}$',\n IBANRegistry: true,\n SEPA: true,\n },\n CI: {\n chars: 28,\n bban_regexp: '^[A-Z]{1}[0-9]{23}$',\n },\n CK: {},\n CL: {},\n CM: {\n chars: 27,\n bban_regexp: '^[0-9]{23}$',\n },\n CN: {},\n CO: {},\n CR: {\n chars: 22,\n bban_regexp: '^[0-9]{18}$',\n IBANRegistry: true,\n },\n CU: {},\n CV: { chars: 25, bban_regexp: '^[0-9]{21}$' },\n CW: {},\n CX: {},\n CY: {\n chars: 28,\n bban_regexp: '^[0-9]{8}[A-Z0-9]{16}$',\n IBANRegistry: true,\n SEPA: true,\n },\n CZ: {\n chars: 24,\n bban_regexp: '^[0-9]{20}$',\n bban_validation_func: checkCzechBBAN,\n IBANRegistry: true,\n SEPA: true,\n },\n DE: { chars: 22, bban_regexp: '^[0-9]{18}$', IBANRegistry: true, SEPA: true },\n DJ: {\n chars: 27,\n bban_regexp: '^[0-9]{23}$',\n },\n DK: { chars: 18, bban_regexp: '^[0-9]{14}$', IBANRegistry: true, SEPA: true },\n DM: {},\n DO: {\n chars: 28,\n bban_regexp: '^[A-Z]{4}[0-9]{20}$',\n IBANRegistry: true,\n },\n DZ: {\n chars: 26,\n bban_regexp: '^[0-9]{22}$',\n },\n EC: {},\n EE: {\n chars: 20,\n bban_regexp: '^[0-9]{16}$',\n bban_validation_func: checkEstonianBBAN,\n IBANRegistry: true,\n SEPA: true,\n },\n EG: { chars: 29, bban_regexp: '^[0-9]{25}', IBANRegistry: true },\n EH: {},\n ER: {},\n ES: {\n chars: 24,\n bban_validation_func: checkSpainBBAN,\n bban_regexp: '^[0-9]{20}$',\n IBANRegistry: true,\n SEPA: true,\n },\n ET: {},\n FI: {\n chars: 18,\n bban_regexp: '^[0-9]{14}$',\n bban_validation_func: checkFinlandBBAN,\n IBANRegistry: true,\n SEPA: true,\n },\n FJ: {},\n FK: {},\n FM: {},\n FO: { chars: 18, bban_regexp: '^[0-9]{14}$', IBANRegistry: true },\n FR: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n bban_validation_func: checkFrenchBBAN,\n IBANRegistry: true,\n SEPA: true,\n },\n GA: {\n chars: 27,\n bban_regexp: '^[0-9]{23}$',\n },\n GB: {\n chars: 22,\n bban_regexp: '^[A-Z]{4}[0-9]{14}$',\n IBANRegistry: true,\n SEPA: true,\n },\n GD: {},\n GE: {\n chars: 22,\n bban_regexp: '^[A-Z0-9]{2}[0-9]{16}$',\n IBANRegistry: true,\n },\n GF: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n IBANRegistry: true,\n },\n GG: {},\n GH: {},\n GI: {\n chars: 23,\n bban_regexp: '^[A-Z]{4}[A-Z0-9]{15}$',\n IBANRegistry: true,\n SEPA: true,\n },\n GL: { chars: 18, bban_regexp: '^[0-9]{14}$', IBANRegistry: true },\n GM: {},\n GN: {},\n GP: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n IBANRegistry: true,\n },\n GQ: {\n chars: 27,\n bban_regexp: '^[0-9]{23}$',\n },\n GR: {\n chars: 27,\n bban_regexp: '^[0-9]{7}[A-Z0-9]{16}$',\n IBANRegistry: true,\n SEPA: true,\n },\n GS: {},\n GT: {\n chars: 28,\n bban_regexp: '^[A-Z0-9]{24}$',\n IBANRegistry: true,\n },\n GU: {},\n GW: {\n chars: 25,\n bban_regexp: '^[A-Z]{2}[0-9]{19}$',\n },\n GY: {},\n HK: {},\n HM: {},\n HN: {\n chars: 28,\n bban_regexp: '^[A-Z]{4}[0-9]{20}$',\n },\n HR: {\n chars: 21,\n bban_regexp: '^[0-9]{17}$',\n bban_validation_func: checkCroatianBBAN,\n IBANRegistry: true,\n SEPA: true,\n },\n HT: {},\n HU: {\n chars: 28,\n bban_regexp: '^[0-9]{24}$',\n bban_validation_func: checkHungarianBBAN,\n IBANRegistry: true,\n SEPA: true,\n },\n ID: {},\n IE: {\n chars: 22,\n bban_regexp: '^[A-Z0-9]{4}[0-9]{14}$',\n IBANRegistry: true,\n SEPA: true,\n },\n IL: {\n chars: 23,\n bban_regexp: '^[0-9]{19}$',\n IBANRegistry: true,\n },\n IM: {},\n IN: {},\n IO: {},\n IQ: {\n chars: 23,\n bban_regexp: '^[A-Z]{4}[0-9]{15}$',\n IBANRegistry: true,\n },\n IR: {\n chars: 26,\n bban_regexp: '^[0-9]{22}$',\n },\n IS: { chars: 26, bban_regexp: '^[0-9]{22}$', IBANRegistry: true, SEPA: true },\n IT: {\n chars: 27,\n bban_regexp: '^[A-Z]{1}[0-9]{10}[A-Z0-9]{12}$',\n IBANRegistry: true,\n SEPA: true,\n },\n JE: {},\n JM: {},\n JO: {\n chars: 30,\n bban_regexp: '^[A-Z]{4}[0-9]{4}[A-Z0-9]{18}$',\n IBANRegistry: true,\n },\n JP: {},\n KE: {},\n KG: {},\n KH: {},\n KI: {},\n KM: {\n chars: 27,\n bban_regexp: '^[0-9]{23}$',\n },\n KN: {},\n KP: {},\n KR: {},\n KW: {\n chars: 30,\n bban_regexp: '^[A-Z]{4}[A-Z0-9]{22}$',\n IBANRegistry: true,\n },\n KY: {},\n KZ: {\n chars: 20,\n bban_regexp: '^[0-9]{3}[A-Z0-9]{13}$',\n IBANRegistry: true,\n },\n LA: {},\n LB: {\n chars: 28,\n bban_regexp: '^[0-9]{4}[A-Z0-9]{20}$',\n IBANRegistry: true,\n },\n LC: {\n chars: 32,\n bban_regexp: '^[A-Z]{4}[A-Z0-9]{24}$',\n IBANRegistry: true,\n },\n LI: {\n chars: 21,\n bban_regexp: '^[0-9]{5}[A-Z0-9]{12}$',\n IBANRegistry: true,\n SEPA: true,\n },\n LK: {},\n LR: {},\n LS: {},\n LT: { chars: 20, bban_regexp: '^[0-9]{16}$', IBANRegistry: true, SEPA: true },\n LU: {\n chars: 20,\n bban_regexp: '^[0-9]{3}[A-Z0-9]{13}$',\n IBANRegistry: true,\n SEPA: true,\n },\n LV: {\n chars: 21,\n bban_regexp: '^[A-Z]{4}[A-Z0-9]{13}$',\n IBANRegistry: true,\n SEPA: true,\n },\n LY: {\n chars: 25,\n bban_regexp: '^[0-9]{21}$',\n IBANRegistry: true,\n },\n MA: {\n chars: 28,\n bban_regexp: '^[0-9]{24}$',\n },\n MC: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n bban_validation_func: checkFrenchBBAN,\n IBANRegistry: true,\n SEPA: true,\n },\n MD: {\n chars: 24,\n bban_regexp: '^[A-Z0-9]{2}[A-Z0-9]{18}$',\n IBANRegistry: true,\n },\n ME: {\n chars: 22,\n bban_regexp: '^[0-9]{18}$',\n bban_validation_func: checkMod9710BBAN,\n IBANRegistry: true,\n },\n MF: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n IBANRegistry: true,\n },\n MG: {\n chars: 27,\n bban_regexp: '^[0-9]{23}$',\n },\n MH: {},\n MK: {\n chars: 19,\n bban_regexp: '^[0-9]{3}[A-Z0-9]{10}[0-9]{2}$',\n bban_validation_func: checkMod9710BBAN,\n IBANRegistry: true,\n },\n ML: {\n chars: 28,\n bban_regexp: '^[A-Z0-9]{2}[0-9]{22}$',\n },\n MM: {},\n MN: {},\n MO: {},\n MP: {},\n MQ: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n IBANRegistry: true,\n },\n MR: {\n chars: 27,\n bban_regexp: '^[0-9]{23}$',\n IBANRegistry: true,\n },\n MS: {},\n MT: {\n chars: 31,\n bban_regexp: '^[A-Z]{4}[0-9]{5}[A-Z0-9]{18}$',\n IBANRegistry: true,\n SEPA: true,\n },\n MU: {\n chars: 30,\n bban_regexp: '^[A-Z]{4}[0-9]{19}[A-Z]{3}$',\n IBANRegistry: true,\n },\n MV: {},\n MW: {},\n MX: {},\n MY: {},\n MZ: {\n chars: 25,\n bban_regexp: '^[0-9]{21}$',\n },\n NA: {},\n NC: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n IBANRegistry: true,\n },\n NE: {\n chars: 28,\n bban_regexp: '^[A-Z]{2}[0-9]{22}$',\n },\n NF: {},\n NG: {},\n NI: {\n chars: 32,\n bban_regexp: '^[A-Z]{4}[0-9]{24}$',\n },\n NL: {\n chars: 18,\n bban_regexp: '^[A-Z]{4}[0-9]{10}$',\n IBANRegistry: true,\n SEPA: true,\n },\n NO: {\n chars: 15,\n bban_regexp: '^[0-9]{11}$',\n bban_validation_func: checkNorwayBBAN,\n IBANRegistry: true,\n SEPA: true,\n },\n NP: {},\n NR: {},\n NU: {},\n NZ: {},\n OM: {},\n PA: {},\n PE: {},\n PF: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n IBANRegistry: true,\n },\n PG: {},\n PH: {},\n PK: {\n chars: 24,\n bban_regexp: '^[A-Z0-9]{4}[0-9]{16}$',\n IBANRegistry: true,\n },\n PL: { chars: 28, bban_validation_func: checkPolandBBAN, bban_regexp: '^[0-9]{24}$', IBANRegistry: true, SEPA: true },\n PM: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n IBANRegistry: true,\n },\n PN: {},\n PR: {},\n PS: {\n chars: 29,\n bban_regexp: '^[A-Z0-9]{4}[0-9]{21}$',\n IBANRegistry: true,\n },\n PT: { chars: 25, bban_regexp: '^[0-9]{21}$', bban_validation_func: checkMod9710BBAN, IBANRegistry: true, SEPA: true },\n PW: {},\n PY: {},\n QA: {\n chars: 29,\n bban_regexp: '^[A-Z]{4}[A-Z0-9]{21}$',\n IBANRegistry: true,\n },\n RE: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n IBANRegistry: true,\n },\n RO: {\n chars: 24,\n bban_regexp: '^[A-Z]{4}[A-Z0-9]{16}$',\n IBANRegistry: true,\n SEPA: true,\n },\n RS: {\n chars: 22,\n bban_regexp: '^[0-9]{18}$',\n bban_validation_func: checkMod9710BBAN,\n IBANRegistry: true,\n },\n RU: {},\n RW: {},\n SA: {\n chars: 24,\n bban_regexp: '^[0-9]{2}[A-Z0-9]{18}$',\n IBANRegistry: true,\n },\n SB: {},\n SC: {\n chars: 31,\n bban_regexp: '^[A-Z]{4}[0-9]{20}[A-Z]{3}$',\n IBANRegistry: true,\n },\n SD: {},\n SE: { chars: 24, bban_regexp: '^[0-9]{20}$', IBANRegistry: true, SEPA: true },\n SG: {},\n SH: {},\n SI: {\n chars: 19,\n bban_regexp: '^[0-9]{15}$',\n bban_validation_func: checkMod9710BBAN,\n IBANRegistry: true,\n SEPA: true,\n },\n SJ: {},\n SK: { chars: 24, bban_regexp: '^[0-9]{20}$', IBANRegistry: true, SEPA: true },\n SL: {},\n SM: {\n chars: 27,\n bban_regexp: '^[A-Z]{1}[0-9]{10}[A-Z0-9]{12}$',\n IBANRegistry: true,\n SEPA: true,\n },\n SN: {\n chars: 28,\n bban_regexp: '^[A-Z]{2}[0-9]{22}$',\n },\n SO: {},\n SR: {},\n SS: {},\n ST: {\n chars: 25,\n bban_regexp: '^[0-9]{21}$',\n IBANRegistry: true,\n },\n SV: {\n chars: 28,\n bban_regexp: '^[A-Z]{4}[0-9]{20}$',\n IBANRegistry: true,\n },\n SX: {},\n SY: {},\n SZ: {},\n TC: {},\n TD: {\n chars: 27,\n bban_regexp: '^[0-9]{23}$',\n },\n TF: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n IBANRegistry: true,\n },\n TG: {\n chars: 28,\n bban_regexp: '^[A-Z]{2}[0-9]{22}$',\n },\n TH: {},\n TJ: {},\n TK: {},\n TL: {\n chars: 23,\n bban_regexp: '^[0-9]{19}$',\n IBANRegistry: true,\n },\n TM: {},\n TN: {\n chars: 24,\n bban_regexp: '^[0-9]{20}$',\n IBANRegistry: true,\n },\n TO: {},\n TR: {\n chars: 26,\n bban_regexp: '^[0-9]{5}[A-Z0-9]{17}$',\n IBANRegistry: true,\n },\n TT: {},\n TV: {},\n TW: {},\n TZ: {},\n UA: {\n chars: 29,\n bban_regexp: '^[0-9]{6}[A-Z0-9]{19}$',\n IBANRegistry: true,\n },\n UG: {},\n UM: {},\n US: {},\n UY: {},\n UZ: {},\n VA: { chars: 22, bban_regexp: '^[0-9]{18}', IBANRegistry: true },\n VC: {},\n VE: {},\n VG: {\n chars: 24,\n bban_regexp: '^[A-Z0-9]{4}[0-9]{16}$',\n IBANRegistry: true,\n },\n VI: {},\n VN: {},\n VU: {},\n WF: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n IBANRegistry: true,\n },\n WS: {},\n XK: {\n chars: 20,\n bban_regexp: '^[0-9]{16}$',\n IBANRegistry: true,\n },\n YE: {},\n YT: {\n chars: 27,\n bban_regexp: '^[0-9]{10}[A-Z0-9]{11}[0-9]{2}$',\n IBANRegistry: true,\n },\n ZA: {},\n ZM: {},\n ZW: {},\n};\n"],"names":["isValidIBAN","iban","undefined","reg","RegExp","spec","countrySpecs","slice","bban_regexp","chars","length","test","bban","countryCode","checkFormatBBAN","bban_validation_func","replace","isValidBBAN","isValidIBANChecksum","ValidationErrorsIBAN","ValidationErrorsBIC","bformat","providedChecksum","parseInt","validationString","replaceCharaterWithCode","concat","mod9710","str","split","map","c","code","charCodeAt","toString","join","part","partInt","isNaN","NaN","checkMod9710BBAN","stripped","checkMod1110","toCheck","control","nr","index","charAt","checkFinlandBBAN","weightsMethod1","weightsMethod2","controlDigit","substring","sum","startsWith","remainder","value","Math","floor","extraSum","checkFrenchBBAN","normalized","Array","from","AD","IBANRegistry","SEPA","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","checkingPart","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","weightsPrefix","weightsSuffix","controlPrefix","controlSuffix","prefix","suffix","DE","DJ","DK","DM","DO","DZ","EC","EE","weights","EG","EH","ER","ES","weightsBankBranch","weightsAccount","controlBankBranch","controlAccount","bankBranch","account","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","controlDigitBankBranch","toCheckBankBranch","endsWith","toCheckAccount","controlDigitAccount","remainder_1","remainder_2","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","bbanWithoutSpacesAndPeriods","bbanWithoutControlDigit","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW"],"sourceRoot":""}