{"version":3,"file":"js/9000-569bb627395a68c8e21c.js","mappings":";qKAGIA,EAAW,CAAC,QAAU,EAAE,sBAAwB,CAAC,EAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,EAAI,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,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CN,GAAM,mBACN,GAAM,iCACN,GAAM,gBACN,GAAM,SACN,GAAM,QACN,GAAM,iBACN,GAAM,UACN,GAAM,UACN,GAAM,gBACN,GAAM,WACN,GAAM,QACN,GAAM,YACN,GAAM,YACN,GAAM,SACN,GAAM,SACN,GAAM,aACN,GAAM,oBACN,GAAM,SACN,GAAM,+CACN,GAAM,YACN,GAAM,OACN,GAAM,gBACN,GAAM,SACN,GAAM,YACN,GAAM,oCACN,GAAM,WACN,GAAM,UACN,GAAM,QACN,GAAM,UACN,GAAM,YACN,GAAM,UACN,GAAM,SACN,GAAM,cACN,GAAM,QACN,GAAM,iCACN,GAAM,OACN,GAAM,OACN,GAAM,UACN,GAAM,QACN,GAAM,SACN,GAAM,UACN,GAAM,SACN,GAAM,QACN,GAAM,QACN,GAAM,aACN,GAAM,WACN,GAAM,WACN,GAAM,UACN,GAAM,wBACN,GAAM,cACN,GAAM,cACN,GAAM,SACN,GAAM,iBACN,GAAM,aACN,GAAM,OACN,GAAM,UACN,GAAM,cACN,GAAM,gBACN,GAAM,YACN,GAAM,UACN,GAAM,UACN,GAAM,YACN,GAAM,aACN,GAAM,SACN,GAAM,QACN,GAAM,UACN,GAAM,SACN,GAAM,UACN,GAAM,aACN,GAAM,6BACN,GAAM,aACN,GAAM,mBACN,GAAM,kBACN,GAAM,OACN,GAAM,UACN,GAAM,WACN,GAAM,QACN,GAAM,2BACN,GAAM,aACN,GAAM,aACN,GAAM,aACN,GAAM,QACN,GAAM,YACN,GAAM,WACN,GAAM,SACN,GAAM,SACN,GAAM,WACN,GAAM,aACN,GAAM,UACN,GAAM,gBACN,GAAM,QACN,GAAM,iBACN,GAAM,UACN,GAAM,YACN,GAAM,cACN,GAAM,SACN,GAAM,QACN,GAAM,QACN,GAAM,OACN,GAAM,cACN,GAAM,OACN,GAAM,gBACN,GAAM,SACN,GAAM,OACN,GAAM,mBACN,GAAM,mBACN,GAAM,cACN,GAAM,WACN,GAAM,SACN,GAAM,4BACN,GAAM,WACN,GAAM,cACN,GAAM,YACN,GAAM,WACN,GAAM,QACN,GAAM,WACN,GAAM,QACN,GAAM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","sources":["webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/metadata.min.json.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/locale/en.json.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_virtual/index.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithThrowingShims.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/classnames@2.5.1/node_modules/classnames/index.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/PropTypes.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_virtual/index3.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/tools/semver-compare.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/isObject.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/metadata.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/helpers/inputValuePrefix.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/parseDigits.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/helpers/parsePhoneNumberCharacter.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/useInputKeyDownHandler.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/isPossible.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/getNumberType.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/constants.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/format.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/RFC3966.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/PhoneNumber.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/isValid.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/AsYouTypeState.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.util.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.complete.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternParser.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternMatcher.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/AsYouTypeParser.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/AsYouType.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/input-format@0.3.10/node_modules/input-format/modules/helpers.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/input-format@0.3.10/node_modules/input-format/modules/templateFormatter.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/input-format@0.3.10/node_modules/input-format/modules/closeBraces.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/input-format@0.3.10/node_modules/input-format/modules/dom.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/input-format@0.3.10/node_modules/input-format/modules/inputControl.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/input-format@0.3.10/node_modules/input-format/modules/parse.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/input-format@0.3.10/node_modules/input-format/modules/edit.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/input-format@0.3.10/node_modules/input-format/modules/format.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/input-format@0.3.10/node_modules/input-format/modules/react/Input.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/InputSmart.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/InputBasic.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/formatIncompletePhoneNumber.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/country-flag-icons@1.5.13/node_modules/country-flag-icons/modules/unicode.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/CountrySelect.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/Flag.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/InternationalIcon.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/helpers/isE164Number.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/helpers/countries.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/CountryIcon.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/useExternalRef.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/helpers/getInternationalPhoneNumberPrefix.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/normalizeArguments.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/ParseError.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/parse.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/parsePhoneNumber.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/helpers/phoneInputHelpers.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/helpers/getPhoneInputWithCountryStateUpdateFromNewProps.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/getCountries.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/PhoneInputWithCountry.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/modules/PhoneInputWithCountryDefault.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-phone-number-input@3.4.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-phone-number-input/min/index.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/zod@3.23.8/node_modules/zod/lib/index.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/src/components/organisms/AddressForm/AddressForm.schema.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/@radix-ui_react-popover@1.1.1_@types_react@18.3.5_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-popover/dist/index.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/src/components/organisms/AddressForm/AddressForm.styles.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-use@17.5.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useDebounce.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/_externals/.pnpm/react-use@17.5.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useTimeoutFn.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/src/components/organisms/AddressForm/useAddressSearch.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/src/components/organisms/AddressForm/AddressSearch.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/src/components/organisms/AddressForm/States.js","webpack://app/./node_modules/@lacedltd/laced-components/dist/src/components/organisms/AddressForm/AddressForm.js"],"sourcesContent":["// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nvar metadata = {\"version\":4,\"country_calling_codes\":{\"1\":[\"US\",\"AG\",\"AI\",\"AS\",\"BB\",\"BM\",\"BS\",\"CA\",\"DM\",\"DO\",\"GD\",\"GU\",\"JM\",\"KN\",\"KY\",\"LC\",\"MP\",\"MS\",\"PR\",\"SX\",\"TC\",\"TT\",\"VC\",\"VG\",\"VI\"],\"7\":[\"RU\",\"KZ\"],\"20\":[\"EG\"],\"27\":[\"ZA\"],\"30\":[\"GR\"],\"31\":[\"NL\"],\"32\":[\"BE\"],\"33\":[\"FR\"],\"34\":[\"ES\"],\"36\":[\"HU\"],\"39\":[\"IT\",\"VA\"],\"40\":[\"RO\"],\"41\":[\"CH\"],\"43\":[\"AT\"],\"44\":[\"GB\",\"GG\",\"IM\",\"JE\"],\"45\":[\"DK\"],\"46\":[\"SE\"],\"47\":[\"NO\",\"SJ\"],\"48\":[\"PL\"],\"49\":[\"DE\"],\"51\":[\"PE\"],\"52\":[\"MX\"],\"53\":[\"CU\"],\"54\":[\"AR\"],\"55\":[\"BR\"],\"56\":[\"CL\"],\"57\":[\"CO\"],\"58\":[\"VE\"],\"60\":[\"MY\"],\"61\":[\"AU\",\"CC\",\"CX\"],\"62\":[\"ID\"],\"63\":[\"PH\"],\"64\":[\"NZ\"],\"65\":[\"SG\"],\"66\":[\"TH\"],\"81\":[\"JP\"],\"82\":[\"KR\"],\"84\":[\"VN\"],\"86\":[\"CN\"],\"90\":[\"TR\"],\"91\":[\"IN\"],\"92\":[\"PK\"],\"93\":[\"AF\"],\"94\":[\"LK\"],\"95\":[\"MM\"],\"98\":[\"IR\"],\"211\":[\"SS\"],\"212\":[\"MA\",\"EH\"],\"213\":[\"DZ\"],\"216\":[\"TN\"],\"218\":[\"LY\"],\"220\":[\"GM\"],\"221\":[\"SN\"],\"222\":[\"MR\"],\"223\":[\"ML\"],\"224\":[\"GN\"],\"225\":[\"CI\"],\"226\":[\"BF\"],\"227\":[\"NE\"],\"228\":[\"TG\"],\"229\":[\"BJ\"],\"230\":[\"MU\"],\"231\":[\"LR\"],\"232\":[\"SL\"],\"233\":[\"GH\"],\"234\":[\"NG\"],\"235\":[\"TD\"],\"236\":[\"CF\"],\"237\":[\"CM\"],\"238\":[\"CV\"],\"239\":[\"ST\"],\"240\":[\"GQ\"],\"241\":[\"GA\"],\"242\":[\"CG\"],\"243\":[\"CD\"],\"244\":[\"AO\"],\"245\":[\"GW\"],\"246\":[\"IO\"],\"247\":[\"AC\"],\"248\":[\"SC\"],\"249\":[\"SD\"],\"250\":[\"RW\"],\"251\":[\"ET\"],\"252\":[\"SO\"],\"253\":[\"DJ\"],\"254\":[\"KE\"],\"255\":[\"TZ\"],\"256\":[\"UG\"],\"257\":[\"BI\"],\"258\":[\"MZ\"],\"260\":[\"ZM\"],\"261\":[\"MG\"],\"262\":[\"RE\",\"YT\"],\"263\":[\"ZW\"],\"264\":[\"NA\"],\"265\":[\"MW\"],\"266\":[\"LS\"],\"267\":[\"BW\"],\"268\":[\"SZ\"],\"269\":[\"KM\"],\"290\":[\"SH\",\"TA\"],\"291\":[\"ER\"],\"297\":[\"AW\"],\"298\":[\"FO\"],\"299\":[\"GL\"],\"350\":[\"GI\"],\"351\":[\"PT\"],\"352\":[\"LU\"],\"353\":[\"IE\"],\"354\":[\"IS\"],\"355\":[\"AL\"],\"356\":[\"MT\"],\"357\":[\"CY\"],\"358\":[\"FI\",\"AX\"],\"359\":[\"BG\"],\"370\":[\"LT\"],\"371\":[\"LV\"],\"372\":[\"EE\"],\"373\":[\"MD\"],\"374\":[\"AM\"],\"375\":[\"BY\"],\"376\":[\"AD\"],\"377\":[\"MC\"],\"378\":[\"SM\"],\"380\":[\"UA\"],\"381\":[\"RS\"],\"382\":[\"ME\"],\"383\":[\"XK\"],\"385\":[\"HR\"],\"386\":[\"SI\"],\"387\":[\"BA\"],\"389\":[\"MK\"],\"420\":[\"CZ\"],\"421\":[\"SK\"],\"423\":[\"LI\"],\"500\":[\"FK\"],\"501\":[\"BZ\"],\"502\":[\"GT\"],\"503\":[\"SV\"],\"504\":[\"HN\"],\"505\":[\"NI\"],\"506\":[\"CR\"],\"507\":[\"PA\"],\"508\":[\"PM\"],\"509\":[\"HT\"],\"590\":[\"GP\",\"BL\",\"MF\"],\"591\":[\"BO\"],\"592\":[\"GY\"],\"593\":[\"EC\"],\"594\":[\"GF\"],\"595\":[\"PY\"],\"596\":[\"MQ\"],\"597\":[\"SR\"],\"598\":[\"UY\"],\"599\":[\"CW\",\"BQ\"],\"670\":[\"TL\"],\"672\":[\"NF\"],\"673\":[\"BN\"],\"674\":[\"NR\"],\"675\":[\"PG\"],\"676\":[\"TO\"],\"677\":[\"SB\"],\"678\":[\"VU\"],\"679\":[\"FJ\"],\"680\":[\"PW\"],\"681\":[\"WF\"],\"682\":[\"CK\"],\"683\":[\"NU\"],\"685\":[\"WS\"],\"686\":[\"KI\"],\"687\":[\"NC\"],\"688\":[\"TV\"],\"689\":[\"PF\"],\"690\":[\"TK\"],\"691\":[\"FM\"],\"692\":[\"MH\"],\"850\":[\"KP\"],\"852\":[\"HK\"],\"853\":[\"MO\"],\"855\":[\"KH\"],\"856\":[\"LA\"],\"880\":[\"BD\"],\"886\":[\"TW\"],\"960\":[\"MV\"],\"961\":[\"LB\"],\"962\":[\"JO\"],\"963\":[\"SY\"],\"964\":[\"IQ\"],\"965\":[\"KW\"],\"966\":[\"SA\"],\"967\":[\"YE\"],\"968\":[\"OM\"],\"970\":[\"PS\"],\"971\":[\"AE\"],\"972\":[\"IL\"],\"973\":[\"BH\"],\"974\":[\"QA\"],\"975\":[\"BT\"],\"976\":[\"MN\"],\"977\":[\"NP\"],\"992\":[\"TJ\"],\"993\":[\"TM\"],\"994\":[\"AZ\"],\"995\":[\"GE\"],\"996\":[\"KG\"],\"998\":[\"UZ\"]},\"countries\":{\"AC\":[\"247\",\"00\",\"(?:[01589]\\\\d|[46])\\\\d{4}\",[5,6]],\"AD\":[\"376\",\"00\",\"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\",[6,8,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[135-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]]],\"AE\":[\"971\",\"00\",\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{2,9})\",\"$1 $2\",[\"60|8\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[236]|[479][2-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{5})\",\"$1 $2 $3\",[\"[479]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AF\":[\"93\",\"00\",\"[2-7]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],\"0\"],\"AG\":[\"1\",\"011\",\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([457]\\\\d{6})$|1\",\"268$1\",0,\"268\"],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2457]\\\\d{6})$|1\",\"264$1\",0,\"264\"],\"AL\":[\"355\",\"00\",\"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\",[6,7,8,9],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"80|9\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2358][2-5]|4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23578]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"]],\"0\"],\"AM\":[\"374\",\"00\",\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"0 $1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2|3[12]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[3-9]\"],\"0$1\"]],\"0\"],\"AO\":[\"244\",\"00\",\"[29]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]]],\"AR\":[\"54\",\"00\",\"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\",[10,11],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\",\"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"1\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[23]\"],\"0$1\",1],[\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9(?:2[2-469]|3[3-578])\",\"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\",\"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 15-$3-$4\",[\"91\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9\"],\"0$1\",0,\"$1 $2 $3-$4\"]],\"0\",0,\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\",\"9$1\"],\"AS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",[10],0,\"1\",0,\"([267]\\\\d{6})$|1\",\"684$1\",0,\"684\"],\"AT\":[\"43\",\"00\",\"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\",[4,5,6,7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AU\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\",[5,6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"16\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"14|4\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[2378]\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],\"0\",0,\"(183[12])|0\",0,0,0,[[\"(?:(?:(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\\\d|2[0-8]))\\\\d|3(?:(?:[0-3589]\\\\d|6[1-9]|7[0-35-9])\\\\d|4(?:[0-578]\\\\d|90)))\\\\d\\\\d|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4])|3\\\\d\\\\d)|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79])))))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,[\"163\\\\d{2,6}\",[5,6,7,8,9]],[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"AW\":[\"297\",\"00\",\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]]],\"AX\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\",[5,6,7,8,9,10,11,12],0,\"0\",0,0,0,0,\"18\",0,\"00\"],\"AZ\":[\"994\",\"00\",\"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[28]|2|365|46\",\"1[28]|2|365[45]|46\",\"1[28]|2|365(?:4|5[02])|46\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[13-9]\"],\"0$1\"]],\"0\"],\"BA\":[\"387\",\"00\",\"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[1-3]|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]|6[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],\"0\"],\"BB\":[\"1\",\"011\",\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"246$1\",0,\"246\"],\"BD\":[\"880\",\"00\",\"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-8]|[459]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1-$2\",[\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,6})\",\"$1-$2\",[\"[13-9]|2[23]\"],\"0$1\"],[\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],\"0\"],\"BE\":[\"32\",\"00\",\"4\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:80|9)0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[239]|4[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[15-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4\"],\"0$1\"]],\"0\"],\"BF\":[\"226\",\"00\",\"[025-7]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]]],\"BG\":[\"359\",\"00\",\"00800\\\\d{7}|[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9,12],[[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"43[1-6]|70[1-9]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:70|8)0\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"43[1-7]|7\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[48]|9[08]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"BH\":[\"973\",\"00\",\"[136-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[02-4679]\"]]]],\"BI\":[\"257\",\"00\",\"(?:[267]\\\\d|31)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]]],\"BJ\":[\"229\",\"00\",\"[24-689]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-689]\"]]]],\"BL\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|3[3-7]|5[12]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"441$1\",0,\"441\"],\"BN\":[\"673\",\"00\",\"[2-578]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]]],\"BO\":[\"591\",\"00(?:1\\\\d)?\",\"8001\\\\d{5}|(?:[2-467]\\\\d|50)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[235]|4[46]\"]],[\"(\\\\d{8})\",\"$1\",[\"[67]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\",0,\"0(1\\\\d)?\"],\"BQ\":[\"599\",\"00\",\"(?:[34]1|7\\\\d)\\\\d{5}\",[7],0,0,0,0,0,0,\"[347]\"],\"BR\":[\"55\",\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",[8,9,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"4(?:02|37)0|[34]00\"]],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:[358]|90)0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\"]],\"0\",0,\"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\"],\"BS\":[\"1\",\"011\",\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-8]\\\\d{6})$|1\",\"242$1\",0,\"242\"],\"BT\":[\"975\",\"00\",\"[17]\\\\d{7}|[2-8]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-68]|7[246]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|7\"]]]],\"BW\":[\"267\",\"00\",\"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[24-6]|3[15-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"BY\":[\"375\",\"810\",\"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"800\"],\"8 $1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\",\"$1 $2 $3\",[\"800\"],\"8 $1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\"$1 $2-$3\",[\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"1(?:[56]|7[467])|2[1-3]\"],\"8 0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-4]\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"8 $1\"]],\"8\",0,\"0|80?\",0,0,0,0,\"8~10\"],\"BZ\":[\"501\",\"00\",\"(?:0800\\\\d|[2-8])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"0\"]]]],\"CA\":[\"1\",\"011\",\"(?:[2-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\",[7,10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|90[25])[2-9]\\\\d{6}\",[10]],[\"\",[10]],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",[10]],[\"900[2-9]\\\\d{6}\",[10]],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\\\d{6}\",[10]],0,[\"310\\\\d{4}\",[7]],0,[\"600[2-9]\\\\d{6}\",[10]]]],\"CC\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CD\":[\"243\",\"00\",\"(?:(?:[189]|5\\\\d)\\\\d|2)\\\\d{7}|[1-68]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[1-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"5\"],\"0$1\"]],\"0\"],\"CF\":[\"236\",\"00\",\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]]],\"CG\":[\"242\",\"00\",\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]]],\"CH\":[\"41\",\"00\",\"8\\\\d{11}|[2-9]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8[047]|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]|81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"8\"],\"0$1\"]],\"0\"],\"CI\":[\"225\",\"00\",\"[02]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\",\"$1 $2 $3 $4\",[\"2\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]]],\"CK\":[\"682\",\"00\",\"[2-578]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]]],\"CL\":[\"56\",\"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\",\"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\",[9,10,11],[[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"219\",\"2196\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[1-36]\"],\"($1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"9[2-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"60|8\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"60\"]]]],\"CM\":[\"237\",\"00\",\"[26]\\\\d{8}|88\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]|88\"]]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\",\"(?:(?:1[03-689]|2\\\\d)\\\\d\\\\d|6)\\\\d{8}|1\\\\d{10}|[126]\\\\d{6}(?:\\\\d(?:\\\\d{2})?)?|86\\\\d{5,6}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{5,9}\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5,6})\",\"$1 $2\",[\"(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]\",\"(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\",\"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\",\"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\",\"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:4|80)0\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|2(?:[02-57-9]|1[1-9])\",\"10|2(?:[02-57-9]|1[1-9])\",\"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-578]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1[3-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"[12]\"],\"0$1\",1]],\"0\",0,\"(1(?:[12]\\\\d|79)\\\\d\\\\d)|0\",0,0,0,0,\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"(?:60\\\\d\\\\d|9101)\\\\d{6}|(?:1\\\\d|3)\\\\d{9}\",[10,11],[[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"6\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3[0-357]|91\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1\"],\"0$1\",0,\"$1 $2 $3\"]],\"0\",0,\"0([3579]|4(?:[14]4|56))?\"],\"CR\":[\"506\",\"00\",\"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\",[8,10],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[3-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[89]\"]]],0,0,\"(19(?:0[0-2468]|1[09]|20|66|77|99))\"],\"CU\":[\"53\",\"119\",\"(?:[2-7]|8\\\\d\\\\d)\\\\d{7}|[2-47]\\\\d{6}|[34]\\\\d{5}\",[6,7,8,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"2[1-4]|[34]\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{6,7})\",\"$1 $2\",[\"7\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[56]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"8\"],\"0$1\"]],\"0\"],\"CV\":[\"238\",\"0\",\"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"CW\":[\"599\",\"00\",\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],0,0,0,0,0,\"[69]\"],\"CX\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CY\":[\"357\",\"00\",\"(?:[279]\\\\d|[58]0)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]]],\"CZ\":[\"420\",\"00\",\"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\",[9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"96\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]]],\"DE\":[\"49\",\"00\",\"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|2[13]|31|[46][1-8])\\\\d{1,9}\",[4,5,6,7,8,9,10,11,12,13,14,15],[[\"(\\\\d{2})(\\\\d{3,13})\",\"$1 $2\",[\"3[02]|40|[68]9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,12})\",\"$1 $2\",[\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\",\"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2,11})\",\"$1 $2\",[\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\",\"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"138\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{2,10})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,11})\",\"$1 $2\",[\"181\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\"$1 $2 $3\",[\"1(?:3|80)|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"1[67]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,12})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"185\",\"1850\",\"18500\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"18[68]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"15[03568]\",\"15(?:[0568]|31)\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{8})\",\"$1 $2\",[\"18\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\",\"$1 $2 $3\",[\"1(?:6[023]|7)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\",\"$1 $2 $3\",[\"15[279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\",\"$1 $2 $3\",[\"15\"],\"0$1\"]],\"0\"],\"DJ\":[\"253\",\"00\",\"(?:2\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]]],\"DK\":[\"45\",\"00\",\"[2-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]]],\"DM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"767$1\",0,\"767\"],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"8001|8[024]9\"],\"DZ\":[\"213\",\"00\",\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"]],\"0\"],\"EC\":[\"593\",\"00\",\"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\",[8,9,10,11],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[2-7]\"],\"(0$1)\",0,\"$1-$2-$3\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"EE\":[\"372\",\"00\",\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]],[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-49])\",\"[45]|8(?:00[1-9]|[1-49])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"EG\":[\"20\",\"00\",\"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{7,8})\",\"$1 $2\",[\"[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,7})\",\"$1 $2\",[\"1[35]|[4-6]|8[2468]|9[235-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{8})\",\"$1 $2\",[\"1\"],\"0$1\"]],\"0\"],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,\"528[89]\"],\"ER\":[\"291\",\"00\",\"[178]\\\\d{6}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],\"0\"],\"ES\":[\"34\",\"00\",\"[5-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]00\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-9]\"]]]],\"ET\":[\"251\",\"00\",\"(?:11|[2-579]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-579]\"],\"0$1\"]],\"0\"],\"FI\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{5})\",\"$1\",[\"20[2-59]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"(?:[1-3]0|[68])0|70[07-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[14]|2[09]|50|7[135]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"(?:1[49]|[2568])[1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"]],\"0\",0,0,0,0,\"1[03-79]|[2-9]\",0,\"00\"],\"FJ\":[\"679\",\"0(?:0|52)\",\"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],0,0,0,0,0,0,0,\"00\"],\"FK\":[\"500\",\"00\",\"[2-7]\\\\d{4}\",[5]],\"FM\":[\"691\",\"00\",\"(?:[39]\\\\d\\\\d|820)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[389]\"]]]],\"FO\":[\"298\",\"00\",\"[2-9]\\\\d{5}\",[6],[[\"(\\\\d{6})\",\"$1\",[\"[2-9]\"]]],0,0,\"(10(?:01|[12]0|88))\"],\"FR\":[\"33\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"]],\"0\"],\"GA\":[\"241\",\"00\",\"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"11|[67]\"],\"0$1\"]],0,0,\"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\",\"$1\"],\"GB\":[\"44\",\"00\",\"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\",[7,9,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"800\",\"8001\",\"80011\",\"800111\",\"8001111\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"845\",\"8454\",\"84546\",\"845464\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"1(?:38|5[23]|69|76|94)\",\"1(?:(?:38|69)7|5(?:24|39)|768|946)\",\"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"1(?:[2-69][02-9]|[78])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25]|7(?:0|6[02-9])\",\"[25]|7(?:0|6(?:[03-9]|2[356]))\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1389]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0-35])|4(?:(?:[0-5]\\\\d|70)\\\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\\\d|6(?:[0-4]\\\\d|50))\\\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d|1(?:[0-7]\\\\d|8[0-3]))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d)\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\",[9,10]],[\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]],0,\" x\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"473$1\",0,\"473\"],\"GE\":[\"995\",\"00\",\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"32\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[57]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[348]\"],\"0$1\"]],\"0\"],\"GF\":[\"594\",\"00\",\"[56]94\\\\d{6}|(?:80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]|9[47]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[89]\"],\"0$1\"]],\"0\"],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"([25-9]\\\\d{5})$|0\",\"1481$1\",0,0,[[\"1481[25-9]\\\\d{5}\",[10]],[\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]]],\"GH\":[\"233\",\"00\",\"(?:[235]\\\\d{3}|800)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],\"0\"],\"GI\":[\"350\",\"00\",\"(?:[25]\\\\d|60)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d|70)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-9]\"]]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"GN\":[\"224\",\"00\",\"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"3\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[67]\"]]]],\"GP\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\\\d)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"GQ\":[\"240\",\"00\",\"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235]\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]]],\"GR\":[\"30\",\"00\",\"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\",[10,11,12],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"21|7\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2689]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\",\"$1 $2 $3\",[\"8\"]]]],\"GT\":[\"502\",\"00\",\"80\\\\d{6}|(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-8]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"671$1\",0,\"671\"],\"GW\":[\"245\",\"00\",\"[49]\\\\d{8}|4\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]]],\"GY\":[\"592\",\"001\",\"(?:[2-8]\\\\d{3}|9008)\\\\d{3}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\",[5,6,7,8,9,11],[[\"(\\\\d{3})(\\\\d{2,5})\",\"$1 $2\",[\"900\",\"9003\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,0,\"00\"],\"HN\":[\"504\",\"00\",\"8\\\\d{10}|[237-9]\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]]],\"HR\":[\"385\",\"00\",\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"6[01]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6|7[245]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-57]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"HT\":[\"509\",\"00\",\"(?:[2-489]\\\\d|55)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"HU\":[\"36\",\"00\",\"[235-7]\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"06 $1\"]],\"06\"],\"ID\":[\"62\",\"00[89]\",\"00[1-9]\\\\d{9,14}|(?:[1-36]|8\\\\d{5})\\\\d{6}|00\\\\d{9}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\",[7,8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"15\"]],[\"(\\\\d{2})(\\\\d{5,9})\",\"$1 $2\",[\"2[124]|[36]1\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,7})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,8})\",\"$1 $2\",[\"[2-79]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\",\"$1-$2-$3\",[\"8[1-35-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6,8})\",\"$1 $2\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"804\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"80\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"]],\"0\"],\"IE\":[\"353\",\"00\",\"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"2[24-9]|47|58|6[237-9]|9[35-9]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[45]0\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2569]|4[1-69]|7[14]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"81\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"IL\":[\"972\",\"0(?:0|1[2-9])\",\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",[7,8,9,10,11,12],[[\"(\\\\d{4})(\\\\d{3})\",\"$1-$2\",[\"125\"]],[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"121\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-489]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"12\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1-$2\",[\"159\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"1[7-9]\"]],[\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3-$4\",[\"15\"]]],\"0\"],\"IM\":[\"44\",\"00\",\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([25-8]\\\\d{5})$|0\",\"1624$1\",0,\"74576|(?:16|7[56])24\"],\"IN\":[\"91\",\"00\",\"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\",[8,9,10,11,12,13],[[\"(\\\\d{8})\",\"$1\",[\"5(?:0|2[23]|3[03]|[67]1|88)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"],0,1],[\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"140\"],0,1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\",\"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\",\"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\",\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\",\"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"],\"0$1\",1],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"[6-9]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:6|8[06])\",\"1(?:6|8[06]0)\"],0,1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"18\"],0,1]],\"0\"],\"IO\":[\"246\",\"00\",\"3\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]]],\"IQ\":[\"964\",\"00\",\"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"IR\":[\"98\",\"00\",\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",[4,5,6,7,10],[[\"(\\\\d{4,5})\",\"$1\",[\"96\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,5})\",\"$1 $2\",[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-8]\"],\"0$1\"]],\"0\"],\"IS\":[\"354\",\"00|1(?:0(?:01|[12]0)|100)\",\"(?:38\\\\d|[4-9])\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,0,\"00\"],\"IT\":[\"39\",\"00\",\"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:43|55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\",[6,7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"0[26]\"]],[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]],[\"(\\\\d{4})(\\\\d{2,6})\",\"$1 $2\",[\"0(?:[13-579][2-46-8]|8[236-8])\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"894\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[26]|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1(?:44|[679])|[378]|43\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]|14\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\"$1 $2 $3\",[\"0[26]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,[[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\",[6,7,8,9,10,11]],[\"3[2-9]\\\\d{7,8}|(?:31|43)\\\\d{8}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],[\"3[2-8]\\\\d{9,10}\",[11,12]],0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"JE\":[\"44\",\"00\",\"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([0-24-8]\\\\d{5})$|0\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97\\\\d))\\\\d{5}\"],[\"80(?:07(?:35|81)|8901)\\\\d{4}\"],[\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"],[\"701511\\\\d{4}\"],0,[\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"],[\"56\\\\d{8}\"]]],\"JM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"658|876\"],\"JO\":[\"962\",\"00\",\"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2356]|87\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"70\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"JP\":[\"81\",\"010\",\"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\",[8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"(?:12|57|99)0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]|4(?:2[09]|7[01])\",\"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[257-9]\"],\"0$1\"]],\"0\",0,\"(000[259]\\\\d{6})$|(?:(?:003768)0?)|0\",\"$1\"],\"KE\":[\"254\",\"000\",\"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[24-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[17]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"KG\":[\"996\",\"00\",\"8\\\\d{9}|[235-9]\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3(?:1[346]|[24-79])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235-79]|88\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"KH\":[\"855\",\"00[14-9]\",\"1\\\\d{9}|[1-9]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"KI\":[\"686\",\"00\",\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",[5,8],0,\"0\"],\"KM\":[\"269\",\"00\",\"[3478]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]]],\"KN\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"869$1\",0,\"869\"],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\",[8,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"KR\":[\"82\",\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\",[5,6,8,9,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]0|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\"]],\"0\",0,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\"],\"KW\":[\"965\",\"00\",\"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[245]\"]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"345$1\",0,\"345\"],\"KZ\":[\"7\",\"810\",\"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\",[10,14],0,\"8\",0,0,0,0,\"33|7\",0,\"8~10\"],\"LA\":[\"856\",\"00\",\"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2[13]|3[14]|[4-8]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"30[0135-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\"],\"LB\":[\"961\",\"00\",\"[27-9]\\\\d{7}|[13-9]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27-9]\"]]],\"0\"],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-8]\\\\d{6})$|1\",\"758$1\",0,\"758\"],\"LI\":[\"423\",\"00\",\"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2379]|8(?:0[09]|7)\",\"[2379]|8(?:0(?:02|9)|7)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"(1001)|0\"],\"LK\":[\"94\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-689]\"],\"0$1\"]],\"0\"],\"LR\":[\"231\",\"00\",\"(?:[245]\\\\d|33|77|88)\\\\d{7}|(?:2\\\\d|[4-6])\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4[67]|[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-578]\"],\"0$1\"]],\"0\"],\"LS\":[\"266\",\"00\",\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]]],\"LT\":[\"370\",\"00\",\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"52[0-7]\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(0-$1)\",1]],\"0\",0,\"[08]\"],\"LU\":[\"352\",\"00\",\"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\",[4,5,6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",[\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]],0,0,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\"],\"LV\":[\"371\",\"00\",\"(?:[268]\\\\d|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]]],\"LY\":[\"218\",\"00\",\"[2-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MA\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5[45]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1-$2\",[\"5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"8\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1-$2\",[\"[5-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"5(?:2(?:[0-25-79]\\\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[0167]\\\\d|2[0-4]|5[01]|8[0-3]))\\\\d{6}\"],[\"80[0-7]\\\\d{6}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"(?:592(?:4[0-2]|93)|80[89]\\\\d\\\\d)\\\\d{4}\"]]],\"MC\":[\"377\",\"00\",\"(?:[3489]|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[389]\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],\"0\"],\"MD\":[\"373\",\"00\",\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"22|3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-7]\"],\"0$1\"]],\"0\"],\"ME\":[\"382\",\"00\",\"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MF\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"([24-9]\\\\d{6})$|0\",\"20$1\"],\"MH\":[\"692\",\"011\",\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],\"1\"],\"MK\":[\"389\",\"00\",\"[2-578]\\\\d{7}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2|34[47]|4(?:[37]7|5[47]|64)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[347]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[58]\"],\"0$1\"]],\"0\"],\"ML\":[\"223\",\"00\",\"[24-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]]],\"MM\":[\"95\",\"00\",\"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\",[6,7,8,9,10],[[\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[4-7]|8[1-35]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\",\"$1 $2 $3\",[\"9(?:2[0-4]|[35-9]|4[137-9])\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"92\"],\"0$1\"],[\"(\\\\d)(\\\\d{5})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"MN\":[\"976\",\"001\",\"[12]\\\\d{7,9}|[5-9]\\\\d{7}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[12]1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[12]2[1-3]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\",\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"[12]\"],\"0$1\"]],\"0\"],\"MO\":[\"853\",\"00\",\"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"670$1\",0,\"670\"],\"MQ\":[\"596\",\"00\",\"596\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"MR\":[\"222\",\"00\",\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-48]\"]]]],\"MS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\",[10],0,\"1\",0,\"([34]\\\\d{6})$|1\",\"664$1\",0,\"664\"],\"MT\":[\"356\",\"00\",\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]]],\"MU\":[\"230\",\"0(?:0|[24-7]0|3[03])\",\"(?:[57]|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57]\"]],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"8\"]]],0,0,0,0,0,0,0,\"020\"],\"MV\":[\"960\",\"0(?:0|19)\",\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",[7,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[34679]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,0,\"00\"],\"MW\":[\"265\",\"00\",\"(?:[1289]\\\\d|31|77)\\\\d{7}|1\\\\d{6}\",[7,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[137-9]\"],\"0$1\"]],\"0\"],\"MX\":[\"52\",\"0[09]\",\"[2-9]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"]]],0,0,0,0,0,0,0,\"00\"],\"MY\":[\"60\",\"00\",\"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"[4-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2 $3\",[\"1(?:[02469]|[378][1-9]|53)|8\",\"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3-$4\",[\"1(?:[367]|80)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"15\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"MZ\":[\"258\",\"00\",\"(?:2|8\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-79]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"NA\":[\"264\",\"00\",\"[68]\\\\d{7,8}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"87\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"NC\":[\"687\",\"00\",\"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[02-57-9]\"]]]],\"NE\":[\"227\",\"00\",\"[027-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"08\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[089]|2[013]|7[0467]\"]]]],\"NF\":[\"672\",\"00\",\"[13]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1[0-3]\"]],[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"[13]\"]]],0,0,\"([0-258]\\\\d{4})$\",\"3$1\"],\"NG\":[\"234\",\"009\",\"38\\\\d{6}|[78]\\\\d{9,13}|(?:20|9\\\\d)\\\\d{8}\",[8,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"20[129]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"]],\"0\"],\"NI\":[\"505\",\"00\",\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]]],\"NL\":[\"31\",\"00\",\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\",[5,6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"66\"],\"0$1\"],[\"(\\\\d)(\\\\d{8})\",\"$1 $2\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-578]|91\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"NO\":[\"47\",\"00\",\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",[5,8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]\"]]],0,0,0,0,0,\"[02-689]|7[0-8]\"],\"NP\":[\"977\",\"00\",\"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\",[8,10,11],[[\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],\"0\"],\"NR\":[\"674\",\"00\",\"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-68]\"]]]],\"NU\":[\"683\",\"00\",\"(?:[4-7]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"[1289]\\\\d{9}|50\\\\d{5}(?:\\\\d{2,3})?|[27-9]\\\\d{7,8}|(?:[34]\\\\d|6[0-35-9])\\\\d{6}|8\\\\d{4,6}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,8})\",\"$1 $2\",[\"8[1-79]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"50[036-8]|8|90\",\"50(?:[0367]|88)|8|90\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"24|[346]|7[2-57-9]|9[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:10|74)|[589]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1|2[028]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"2(?:[169]|7[0-35-9])|7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"00\"],\"OM\":[\"968\",\"00\",\"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[179]\"]]]],\"PA\":[\"507\",\"00\",\"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\",[7,8,10,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[68]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]]],\"PE\":[\"51\",\"00|19(?:1[124]|77|90)00\",\"(?:[14-8]|9\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,0,\"00\",\" Anexo \"],\"PF\":[\"689\",\"00\",\"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\",[6,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4|8[7-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"PG\":[\"675\",\"00|140[1-3]\",\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],0,0,0,0,0,0,0,\"00\"],\"PH\":[\"63\",\"00\",\"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\",[6,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\",\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"346|4(?:27|9[35])|883\",\"3469|4(?:279|9(?:30|56))|8834\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|8[2-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1\"]]],\"0\"],\"PK\":[\"92\",\"00\",\"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{6,7})\",\"$1 $2\",[\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\",\"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{7,8})\",\"$1 $2\",[\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"58\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[24-9]\"],\"(0$1)\"]],\"0\"],\"PL\":[\"48\",\"00\",\"(?:6|8\\\\d\\\\d)\\\\d{7}|[1-9]\\\\d{6}(?:\\\\d{2})?|[26]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{5})\",\"$1\",[\"19\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|20|64\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\",\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"64\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|[2-7]|8[1-79]|9[145]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"8\"]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}|(?:708|80\\\\d)\\\\d{6}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"PR\":[\"1\",\"011\",\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"787|939\"],\"PS\":[\"970\",\"00\",\"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2489]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"PT\":[\"351\",\"00\",\"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"16|[236-9]\"]]]],\"PW\":[\"680\",\"01[12]\",\"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"PY\":[\"595\",\"00\",\"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"[2-9]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"87\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9(?:[5-79]|8[1-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"]]],\"0\"],\"QA\":[\"974\",\"00\",\"800\\\\d{4}|(?:2|800)\\\\d{6}|(?:0080|[3-7])\\\\d{7}\",[7,8,9,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[16]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[3-7]\"]]]],\"RE\":[\"262\",\"00\",\"(?:26|[689]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"26(?:2\\\\d\\\\d|3(?:0\\\\d|1[0-6]))\\\\d{4}\"],[\"69(?:2\\\\d\\\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\\\d{4}\"],[\"80\\\\d{7}\"],[\"89[1-37-9]\\\\d{6}\"],0,0,0,0,[\"9(?:399[0-3]|479[0-5]|76(?:2[278]|3[0-37]))\\\\d{4}\"],[\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\"]]],\"RO\":[\"40\",\"00\",\"(?:[236-8]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\",[6,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"2[3-6]\",\"2[3-6]\\\\d9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"219|31\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[236-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\" int \"],\"RS\":[\"381\",\"00\",\"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\",[6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3,9})\",\"$1 $2\",[\"(?:2[389]|39)0|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5,10})\",\"$1 $2\",[\"[1-36]\"],\"0$1\"]],\"0\"],\"RU\":[\"7\",\"810\",\"8\\\\d{13}|[347-9]\\\\d{9}\",[10,14],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"],\"8 ($1)\",1],[\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-68]|2[1-9])\",\"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\",\"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[349]|8(?:[02-7]|1[1-8])\"],\"8 ($1)\",1],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"8\"],\"8 ($1)\"]],\"8\",0,0,0,0,\"3[04-689]|[489]\",0,\"8~10\"],\"RW\":[\"250\",\"00\",\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"]],\"0\"],\"SA\":[\"966\",\"00\",\"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\"],\"SB\":[\"677\",\"0[01]\",\"[6-9]\\\\d{6}|[1-6]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"(?:[2489]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]|9[57]\"]]],0,0,0,0,0,0,0,\"00\"],\"SD\":[\"249\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"SE\":[\"46\",\"00\",\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",[6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44|9)\"],\"0$1\",0,\"$1 $2\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:00|39|44)\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"10|7\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1-$2 $3 $4\",[\"9\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4 $5\",[\"[26]\"],\"0$1\",0,\"$1 $2 $3 $4 $5\"]],\"0\"],\"SG\":[\"65\",\"0[0-3]\\\\d\",\"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\",[8,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8(?:0[1-9]|[1-9])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"SH\":[\"290\",\"00\",\"(?:[256]\\\\d|8)\\\\d{3}\",[4,5],0,0,0,0,0,0,\"[256]\"],\"SI\":[\"386\",\"00|10(?:22|66|88|99)\",\"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\",[5,6,7,8],[[\"(\\\\d{2})(\\\\d{3,6})\",\"$1 $2\",[\"8[09]|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"59|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37][01]|4[0139]|51|6\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-57]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,0,\"00\"],\"SJ\":[\"47\",\"00\",\"0\\\\d{4}|(?:[489]\\\\d|79)\\\\d{6}\",[5,8],0,0,0,0,0,0,\"79\"],\"SK\":[\"421\",\"00\",\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",[6,7,9],[[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",[\"21\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"]],\"0\"],\"SL\":[\"232\",\"00\",\"(?:[237-9]\\\\d|66)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[236-9]\"],\"(0$1)\"]],\"0\"],\"SM\":[\"378\",\"00\",\"(?:0549|[5-7]\\\\d)\\\\d{6}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],0,0,\"([89]\\\\d{5})$\",\"0549$1\"],\"SN\":[\"221\",\"00\",\"(?:[378]\\\\d|93)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[379]\"]]]],\"SO\":[\"252\",\"00\",\"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"(?:2|90)4|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[348]|64|79|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6[0-35-9]|77|9[2-9]\"]]],\"0\"],\"SR\":[\"597\",\"00\",\"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\",[6,7],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"56\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-5]\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[6-8]\"]]]],\"SS\":[\"211\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"ST\":[\"239\",\"00\",\"(?:22|9\\\\d)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]]],\"SV\":[\"503\",\"00\",\"[267]\\\\d{7}|(?:80\\\\d|900)\\\\d{4}(?:\\\\d{4})?\",[7,8,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]]],\"SX\":[\"1\",\"011\",\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"(5\\\\d{6})$|1\",\"721$1\",0,\"721\"],\"SY\":[\"963\",\"00\",\"[1-39]\\\\d{8}|[1-5]\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\",1]],\"0\"],\"SZ\":[\"268\",\"00\",\"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\",[8,9],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]]],\"TA\":[\"290\",\"00\",\"8\\\\d{3}\",[4],0,0,0,0,0,0,\"8\"],\"TC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-479]\\\\d{6})$|1\",\"649$1\",0,\"649\"],\"TD\":[\"235\",\"00|16\",\"(?:22|[689]\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[26-9]\"]]],0,0,0,0,0,0,0,\"00\"],\"TG\":[\"228\",\"00\",\"[279]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]]],\"TH\":[\"66\",\"00[1-9]\",\"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\",[8,9,10,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[13-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"TJ\":[\"992\",\"810\",\"[0-57-9]\\\\d{8}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"44[02-479]|[34]7\"]],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[1245]|3[12])\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[0-57-9]\"]]],0,0,0,0,0,0,0,\"8~10\"],\"TK\":[\"690\",\"00\",\"[2-47]\\\\d{3,6}\",[4,5,6,7]],\"TL\":[\"670\",\"00\",\"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]]],\"TM\":[\"993\",\"810\",\"(?:[1-6]\\\\d|71)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"12\"],\"(8 $1)\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-5]\"],\"(8 $1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[67]\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"TN\":[\"216\",\"00\",\"[2-57-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]]],\"TO\":[\"676\",\"00\",\"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1-$2\",[\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]],[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]]]],\"TR\":[\"90\",\"00\",\"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\",[7,10,12,13],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[01589]|90\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5(?:[0-59]|61)\",\"5(?:[0-59]|61[06])\",\"5(?:[0-59]|61[06]1)\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24][1-8]|3[1-9]\"],\"(0$1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1]],\"0\"],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-46-8]\\\\d{6})$|1\",\"868$1\",0,\"868\"],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"TW\":[\"886\",\"0(?:0[25-79]|19)\",\"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\",[7,8,9,10,11],[[\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[258]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\",\"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\"#\"],\"TZ\":[\"255\",\"00[056]\",\"(?:[25-8]\\\\d|41|90)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[24]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],\"0\"],\"UA\":[\"380\",\"00\",\"[89]\\\\d{9}|[3-9]\\\\d{8}\",[9,10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\",\"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\",\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|89|9[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"0~0\"],\"UG\":[\"256\",\"00[057]\",\"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"202\",\"2024\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[27-9]|4(?:6[45]|[7-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[34]\"],\"0$1\"]],\"0\"],\"US\":[\"1\",\"011\",\"[2-9]\\\\d{9}|3\\\\d{6}\",[10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"310\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"(?:3052(?:0[0-8]|[1-9]\\\\d)|5056(?:[0-35-9]\\\\d|4[468])|7302[0-4]\\\\d)\\\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|983[2-47-9])\\\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,0,[\"305209\\\\d{4}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"0004\\\\d{2,9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\",[6,7,8,9,10,11,12,13],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[49]0|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[124]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3 $4\",[\"0\"]]],\"0\",0,0,0,0,0,0,\"00\",\" int. \"],\"UZ\":[\"998\",\"00\",\"(?:20|33|[5-79]\\\\d|88)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-9]\"]]]],\"VA\":[\"39\",\"00\",\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",[6,7,8,9,10,11,12],0,0,0,0,0,0,\"06698\"],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"784$1\",0,\"784\"],\"VE\":[\"58\",\"00\",\"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24-689]\"],\"0$1\"]],\"0\"],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-578]\\\\d{6})$|1\",\"284$1\",0,\"284\"],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"340$1\",0,\"340\"],\"VN\":[\"84\",\"00\",\"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[357-9]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",1]],\"0\"],\"VU\":[\"678\",\"00\",\"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]]]],\"WF\":[\"681\",\"00\",\"(?:40|72)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[478]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"WS\":[\"685\",\"0\",\"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\",[5,6,7,10],[[\"(\\\\d{5})\",\"$1\",[\"[2-5]|6[1-9]\"]],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[68]\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"XK\":[\"383\",\"00\",\"2\\\\d{7,8}|3\\\\d{7,11}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2|39\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7,10})\",\"$1 $2\",[\"3\"],\"0$1\"]],\"0\"],\"YE\":[\"967\",\"00\",\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-6]|7(?:[24-6]|8[0-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"YT\":[\"262\",\"00\",\"(?:80|9\\\\d)\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"269(?:0[0-467]|15|5[0-4]|6\\\\d|[78]0)\\\\d{4}\"],[\"639(?:0[0-79]|1[019]|[267]\\\\d|3[09]|40|5[05-9]|9[04-79])\\\\d{4}\"],[\"80\\\\d{7}\"],0,0,0,0,0,[\"9(?:(?:39|47)8[01]|769\\\\d)\\\\d{4}\"]]],\"ZA\":[\"27\",\"00\",\"[1-79]\\\\d{8}|8\\\\d{4,9}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"860\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"ZM\":[\"260\",\"00\",\"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],\"0\"],\"ZW\":[\"263\",\"00\",\"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\",[5,6,7,8,9,10],[[\"(\\\\d{3})(\\\\d{3,5})\",\"$1 $2\",[\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\",\"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\",\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"29[013-9]|39|54\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,5})\",\"$1 $2\",[\"(?:25|54)8\",\"258|5483\"],\"0$1\"]],\"0\"]},\"nonGeographic\":{\"800\":[\"800\",0,\"(?:00|[1-9]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"\\\\d\"]]],0,0,0,0,0,0,[0,0,[\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]],\"808\":[\"808\",0,\"[1-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[\"[1-9]\\\\d{7}\"]]],\"870\":[\"870\",0,\"7\\\\d{11}|[35-7]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]],\"878\":[\"878\",0,\"10\\\\d{10}\",[12],[[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"10\\\\d{10}\"]]],\"881\":[\"881\",0,\"6\\\\d{9}|[0-36-9]\\\\d{8}\",[9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[0-37-9]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{5,6})\",\"$1 $2 $3\",[\"6\"]]],0,0,0,0,0,0,[0,[\"6\\\\d{9}|[0-36-9]\\\\d{8}\"]]],\"882\":[\"882\",0,\"[13]\\\\d{6}(?:\\\\d{2,5})?|[19]\\\\d{7}|(?:[25]\\\\d\\\\d|4)\\\\d{7}(?:\\\\d{2})?\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"49\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"1[36]|9\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"16\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|23|3(?:[15]|4[57])|4|51\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[1-35]\"]]],0,0,0,0,0,0,[0,[\"342\\\\d{4}|(?:337|49)\\\\d{6}|(?:3(?:2|47|7\\\\d{3})|50\\\\d{3})\\\\d{7}\",[7,8,9,10,12]],0,0,0,[\"348[57]\\\\d{7}\",[11]],0,0,[\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:345\\\\d|9[89])\\\\d{6}|(?:10|2(?:3|85\\\\d)|3(?:[15]|[69]\\\\d\\\\d)|4[15-8]|51)\\\\d{8}\"]]],\"883\":[\"883\",0,\"(?:[1-4]\\\\d|51)\\\\d{6,10}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,8})\",\"$1 $2 $3\",[\"[14]|2[24-689]|3[02-689]|51[24-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"21\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"51[13]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[235]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"(?:2(?:00\\\\d\\\\d|10)|(?:370[1-9]|51\\\\d0)\\\\d)\\\\d{7}|51(?:00\\\\d{5}|[24-9]0\\\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\\\d{5,9}\"]]],\"888\":[\"888\",0,\"\\\\d{11}\",[11],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],0,0,0,0,0,0,[0,0,0,0,0,0,[\"\\\\d{11}\"]]],\"979\":[\"979\",0,\"[1359]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1359]\"]]],0,0,0,0,0,0,[0,0,0,[\"[1359]\\\\d{8}\"]]]}};\n\nexport { metadata as default };\n//# sourceMappingURL=metadata.min.json.js.map\n","var defaultLabels = {\n \"ext\": \"ext.\",\n \"country\": \"Phone number country\",\n \"phone\": \"Phone\",\n \"AB\": \"Abkhazia\",\n \"AC\": \"Ascension Island\",\n \"AD\": \"Andorra\",\n \"AE\": \"United Arab Emirates\",\n \"AF\": \"Afghanistan\",\n \"AG\": \"Antigua and Barbuda\",\n \"AI\": \"Anguilla\",\n \"AL\": \"Albania\",\n \"AM\": \"Armenia\",\n \"AO\": \"Angola\",\n \"AQ\": \"Antarctica\",\n \"AR\": \"Argentina\",\n \"AS\": \"American Samoa\",\n \"AT\": \"Austria\",\n \"AU\": \"Australia\",\n \"AW\": \"Aruba\",\n \"AX\": \"Åland Islands\",\n \"AZ\": \"Azerbaijan\",\n \"BA\": \"Bosnia and Herzegovina\",\n \"BB\": \"Barbados\",\n \"BD\": \"Bangladesh\",\n \"BE\": \"Belgium\",\n \"BF\": \"Burkina Faso\",\n \"BG\": \"Bulgaria\",\n \"BH\": \"Bahrain\",\n \"BI\": \"Burundi\",\n \"BJ\": \"Benin\",\n \"BL\": \"Saint Barthélemy\",\n \"BM\": \"Bermuda\",\n \"BN\": \"Brunei Darussalam\",\n \"BO\": \"Bolivia\",\n \"BQ\": \"Bonaire, Sint Eustatius and Saba\",\n \"BR\": \"Brazil\",\n \"BS\": \"Bahamas\",\n \"BT\": \"Bhutan\",\n \"BV\": \"Bouvet Island\",\n \"BW\": \"Botswana\",\n \"BY\": \"Belarus\",\n \"BZ\": \"Belize\",\n \"CA\": \"Canada\",\n \"CC\": \"Cocos (Keeling) Islands\",\n \"CD\": \"Congo, Democratic Republic of the\",\n \"CF\": \"Central African Republic\",\n \"CG\": \"Congo\",\n \"CH\": \"Switzerland\",\n \"CI\": \"Cote d'Ivoire\",\n \"CK\": \"Cook Islands\",\n \"CL\": \"Chile\",\n \"CM\": \"Cameroon\",\n \"CN\": \"China\",\n \"CO\": \"Colombia\",\n \"CR\": \"Costa Rica\",\n \"CU\": \"Cuba\",\n \"CV\": \"Cape Verde\",\n \"CW\": \"Curaçao\",\n \"CX\": \"Christmas Island\",\n \"CY\": \"Cyprus\",\n \"CZ\": \"Czech Republic\",\n \"DE\": \"Germany\",\n \"DJ\": \"Djibouti\",\n \"DK\": \"Denmark\",\n \"DM\": \"Dominica\",\n \"DO\": \"Dominican Republic\",\n \"DZ\": \"Algeria\",\n \"EC\": \"Ecuador\",\n \"EE\": \"Estonia\",\n \"EG\": \"Egypt\",\n \"EH\": \"Western Sahara\",\n \"ER\": \"Eritrea\",\n \"ES\": \"Spain\",\n \"ET\": \"Ethiopia\",\n \"FI\": \"Finland\",\n \"FJ\": \"Fiji\",\n \"FK\": \"Falkland Islands\",\n \"FM\": \"Federated States of Micronesia\",\n \"FO\": \"Faroe Islands\",\n \"FR\": \"France\",\n \"GA\": \"Gabon\",\n \"GB\": \"United Kingdom\",\n \"GD\": \"Grenada\",\n \"GE\": \"Georgia\",\n \"GF\": \"French Guiana\",\n \"GG\": \"Guernsey\",\n \"GH\": \"Ghana\",\n \"GI\": \"Gibraltar\",\n \"GL\": \"Greenland\",\n \"GM\": \"Gambia\",\n \"GN\": \"Guinea\",\n \"GP\": \"Guadeloupe\",\n \"GQ\": \"Equatorial Guinea\",\n \"GR\": \"Greece\",\n \"GS\": \"South Georgia and the South Sandwich Islands\",\n \"GT\": \"Guatemala\",\n \"GU\": \"Guam\",\n \"GW\": \"Guinea-Bissau\",\n \"GY\": \"Guyana\",\n \"HK\": \"Hong Kong\",\n \"HM\": \"Heard Island and McDonald Islands\",\n \"HN\": \"Honduras\",\n \"HR\": \"Croatia\",\n \"HT\": \"Haiti\",\n \"HU\": \"Hungary\",\n \"ID\": \"Indonesia\",\n \"IE\": \"Ireland\",\n \"IL\": \"Israel\",\n \"IM\": \"Isle of Man\",\n \"IN\": \"India\",\n \"IO\": \"British Indian Ocean Territory\",\n \"IQ\": \"Iraq\",\n \"IR\": \"Iran\",\n \"IS\": \"Iceland\",\n \"IT\": \"Italy\",\n \"JE\": \"Jersey\",\n \"JM\": \"Jamaica\",\n \"JO\": \"Jordan\",\n \"JP\": \"Japan\",\n \"KE\": \"Kenya\",\n \"KG\": \"Kyrgyzstan\",\n \"KH\": \"Cambodia\",\n \"KI\": \"Kiribati\",\n \"KM\": \"Comoros\",\n \"KN\": \"Saint Kitts and Nevis\",\n \"KP\": \"North Korea\",\n \"KR\": \"South Korea\",\n \"KW\": \"Kuwait\",\n \"KY\": \"Cayman Islands\",\n \"KZ\": \"Kazakhstan\",\n \"LA\": \"Laos\",\n \"LB\": \"Lebanon\",\n \"LC\": \"Saint Lucia\",\n \"LI\": \"Liechtenstein\",\n \"LK\": \"Sri Lanka\",\n \"LR\": \"Liberia\",\n \"LS\": \"Lesotho\",\n \"LT\": \"Lithuania\",\n \"LU\": \"Luxembourg\",\n \"LV\": \"Latvia\",\n \"LY\": \"Libya\",\n \"MA\": \"Morocco\",\n \"MC\": \"Monaco\",\n \"MD\": \"Moldova\",\n \"ME\": \"Montenegro\",\n \"MF\": \"Saint Martin (French Part)\",\n \"MG\": \"Madagascar\",\n \"MH\": \"Marshall Islands\",\n \"MK\": \"North Macedonia\",\n \"ML\": \"Mali\",\n \"MM\": \"Myanmar\",\n \"MN\": \"Mongolia\",\n \"MO\": \"Macao\",\n \"MP\": \"Northern Mariana Islands\",\n \"MQ\": \"Martinique\",\n \"MR\": \"Mauritania\",\n \"MS\": \"Montserrat\",\n \"MT\": \"Malta\",\n \"MU\": \"Mauritius\",\n \"MV\": \"Maldives\",\n \"MW\": \"Malawi\",\n \"MX\": \"Mexico\",\n \"MY\": \"Malaysia\",\n \"MZ\": \"Mozambique\",\n \"NA\": \"Namibia\",\n \"NC\": \"New Caledonia\",\n \"NE\": \"Niger\",\n \"NF\": \"Norfolk Island\",\n \"NG\": \"Nigeria\",\n \"NI\": \"Nicaragua\",\n \"NL\": \"Netherlands\",\n \"NO\": \"Norway\",\n \"NP\": \"Nepal\",\n \"NR\": \"Nauru\",\n \"NU\": \"Niue\",\n \"NZ\": \"New Zealand\",\n \"OM\": \"Oman\",\n \"OS\": \"South Ossetia\",\n \"PA\": \"Panama\",\n \"PE\": \"Peru\",\n \"PF\": \"French Polynesia\",\n \"PG\": \"Papua New Guinea\",\n \"PH\": \"Philippines\",\n \"PK\": \"Pakistan\",\n \"PL\": \"Poland\",\n \"PM\": \"Saint Pierre and Miquelon\",\n \"PN\": \"Pitcairn\",\n \"PR\": \"Puerto Rico\",\n \"PS\": \"Palestine\",\n \"PT\": \"Portugal\",\n \"PW\": \"Palau\",\n \"PY\": \"Paraguay\",\n \"QA\": \"Qatar\",\n \"RE\": \"Reunion\",\n \"RO\": \"Romania\",\n \"RS\": \"Serbia\",\n \"RU\": \"Russia\",\n \"RW\": \"Rwanda\",\n \"SA\": \"Saudi Arabia\",\n \"SB\": \"Solomon Islands\",\n \"SC\": \"Seychelles\",\n \"SD\": \"Sudan\",\n \"SE\": \"Sweden\",\n \"SG\": \"Singapore\",\n \"SH\": \"Saint Helena\",\n \"SI\": \"Slovenia\",\n \"SJ\": \"Svalbard and Jan Mayen\",\n \"SK\": \"Slovakia\",\n \"SL\": \"Sierra Leone\",\n \"SM\": \"San Marino\",\n \"SN\": \"Senegal\",\n \"SO\": \"Somalia\",\n \"SR\": \"Suriname\",\n \"SS\": \"South Sudan\",\n \"ST\": \"Sao Tome and Principe\",\n \"SV\": \"El Salvador\",\n \"SX\": \"Sint Maarten\",\n \"SY\": \"Syria\",\n \"SZ\": \"Swaziland\",\n \"TA\": \"Tristan da Cunha\",\n \"TC\": \"Turks and Caicos Islands\",\n \"TD\": \"Chad\",\n \"TF\": \"French Southern Territories\",\n \"TG\": \"Togo\",\n \"TH\": \"Thailand\",\n \"TJ\": \"Tajikistan\",\n \"TK\": \"Tokelau\",\n \"TL\": \"Timor-Leste\",\n \"TM\": \"Turkmenistan\",\n \"TN\": \"Tunisia\",\n \"TO\": \"Tonga\",\n \"TR\": \"Turkey\",\n \"TT\": \"Trinidad and Tobago\",\n \"TV\": \"Tuvalu\",\n \"TW\": \"Taiwan\",\n \"TZ\": \"Tanzania\",\n \"UA\": \"Ukraine\",\n \"UG\": \"Uganda\",\n \"UM\": \"United States Minor Outlying Islands\",\n \"US\": \"United States\",\n \"UY\": \"Uruguay\",\n \"UZ\": \"Uzbekistan\",\n \"VA\": \"Holy See (Vatican City State)\",\n \"VC\": \"Saint Vincent and the Grenadines\",\n \"VE\": \"Venezuela\",\n \"VG\": \"Virgin Islands, British\",\n \"VI\": \"Virgin Islands, U.S.\",\n \"VN\": \"Vietnam\",\n \"VU\": \"Vanuatu\",\n \"WF\": \"Wallis and Futuna\",\n \"WS\": \"Samoa\",\n \"XK\": \"Kosovo\",\n \"YE\": \"Yemen\",\n \"YT\": \"Mayotte\",\n \"ZA\": \"South Africa\",\n \"ZM\": \"Zambia\",\n \"ZW\": \"Zimbabwe\",\n \"ZZ\": \"International\"\n};\n\nexport { defaultLabels as default };\n//# sourceMappingURL=en.json.js.map\n","var propTypes = {exports: {}};\n\nexport { propTypes as p };\n//# sourceMappingURL=index.js.map\n","import ReactPropTypesSecret_1 from './lib/ReactPropTypesSecret.js';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar ReactPropTypesSecret = ReactPropTypesSecret_1;\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nvar factoryWithThrowingShims = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } shim.isRequired = shim;\n function getShim() {\n return shim;\n } // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\nexport { factoryWithThrowingShims as default };\n//# sourceMappingURL=factoryWithThrowingShims.js.map\n","import { p as propTypes } from '../../../../../_virtual/index.js';\nimport '../../../react-is@16.13.1/node_modules/react-is/index.js';\nimport factoryWithTypeCheckers from './factoryWithTypeCheckers.js';\nimport factoryWithThrowingShims from './factoryWithThrowingShims.js';\nimport { r as reactIs } from '../../../../../_virtual/index2.js';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = reactIs.exports;\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n propTypes.exports = factoryWithTypeCheckers(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n propTypes.exports = factoryWithThrowingShims();\n}\n\nvar PropTypes = propTypes.exports;\n\nexport { PropTypes as default };\n//# sourceMappingURL=index.js.map\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nvar ReactPropTypesSecret_1 = ReactPropTypesSecret;\n\nexport { ReactPropTypesSecret_1 as default };\n//# sourceMappingURL=ReactPropTypesSecret.js.map\n","import { c as classnames } from '../../../../../_virtual/index3.js';\n\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n\n(function (module) {\n/* global define */\n\n(function () {\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n}(classnames));\n\nvar classNames = classnames.exports;\n\nexport { classNames as default };\n//# sourceMappingURL=index.js.map\n","import PropTypes from '../../../../prop-types@15.8.1/node_modules/prop-types/index.js';\n\nvar metadata = PropTypes.shape({\n country_calling_codes: PropTypes.object.isRequired,\n countries: PropTypes.object.isRequired\n});\nvar labels = PropTypes.objectOf(PropTypes.string);\n\nexport { labels, metadata };\n//# sourceMappingURL=PropTypes.js.map\n","var classnames = {exports: {}};\n\nexport { classnames as c };\n//# sourceMappingURL=index3.js.map\n","// Copy-pasted from:\n// https://github.com/substack/semver-compare/blob/master/index.js\n//\n// Inlining this function because some users reported issues with\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\n//\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\nfunction compare (a, b) {\n a = a.split('-');\n b = b.split('-');\n var pa = a[0].split('.');\n var pb = b[0].split('.');\n\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb) return 1;\n if (nb > na) return -1;\n if (!isNaN(na) && isNaN(nb)) return 1;\n if (isNaN(na) && !isNaN(nb)) return -1;\n }\n\n if (a[1] && b[1]) {\n return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n }\n\n return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n}\n\nexport { compare as default };\n//# sourceMappingURL=semver-compare.js.map\n","var objectConstructor = {}.constructor;\nfunction isObject(object) {\n return object !== undefined && object !== null && object.constructor === objectConstructor;\n}\n\nexport { isObject as default };\n//# sourceMappingURL=isObject.js.map\n","import compare from './tools/semver-compare.js';\nimport isObject from './helpers/isObject.js';\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nvar V3 = '1.2.0'; // Moved `001` country code to \"nonGeographic\" section of metadata.\n\nvar V4 = '1.7.35';\nvar DEFAULT_EXT_PREFIX = ' ext. ';\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(metadata) {\n _classCallCheck(this, Metadata);\n\n validateMetadata(metadata);\n this.metadata = metadata;\n setVersion.call(this, metadata);\n }\n\n _createClass(Metadata, [{\n key: \"getCountries\",\n value: function getCountries() {\n return Object.keys(this.metadata.countries).filter(function (_) {\n return _ !== '001';\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function getCountryMetadata(countryCode) {\n return this.metadata.countries[countryCode];\n }\n }, {\n key: \"nonGeographic\",\n value: function nonGeographic() {\n if (this.v1 || this.v2 || this.v3) return; // `nonGeographical` was a typo.\n // It's present in metadata generated from `1.7.35` to `1.7.37`.\n // The test case could be found by searching for \"nonGeographical\".\n\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function hasCountry(country) {\n return this.getCountryMetadata(country) !== undefined;\n }\n }, {\n key: \"hasCallingCode\",\n value: function hasCallingCode(callingCode) {\n if (this.getCountryCodesForCallingCode(callingCode)) {\n return true;\n }\n\n if (this.nonGeographic()) {\n if (this.nonGeographic()[callingCode]) {\n return true;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return true;\n }\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function isNonGeographicCallingCode(callingCode) {\n if (this.nonGeographic()) {\n return this.nonGeographic()[callingCode] ? true : false;\n } else {\n return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n }\n } // Deprecated.\n\n }, {\n key: \"country\",\n value: function country(countryCode) {\n return this.selectNumberingPlan(countryCode);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function selectNumberingPlan(countryCode, callingCode) {\n // Supports just passing `callingCode` as the first argument.\n if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n callingCode = countryCode;\n countryCode = null;\n }\n\n if (countryCode && countryCode !== '001') {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n } else if (callingCode) {\n if (!this.hasCallingCode(callingCode)) {\n throw new Error(\"Unknown calling code: \".concat(callingCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = undefined;\n }\n\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes) {\n // Metadata before V4 included \"non-geographic entity\" calling codes\n // inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\n // Now the semantics of `country_calling_codes` has changed:\n // it's specifically for \"countries\" now.\n // Older versions of custom metadata will simply skip parsing\n // \"non-geographic entity\" phone numbers with new versions\n // of this library: it's not considered a bug,\n // because such numbers are extremely rare,\n // and developers extremely rarely use custom metadata.\n if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n return;\n }\n\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n\n if (countryCodes) {\n return countryCodes[0];\n }\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function getNumberingPlanMetadata(callingCode) {\n var countryCode = this.getCountryCodeForCallingCode(callingCode);\n\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n\n if (this.nonGeographic()) {\n var metadata = this.nonGeographic()[callingCode];\n\n if (metadata) {\n return metadata;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n // In that metadata, there was no concept of \"non-geographic\" metadata\n // so metadata for `001` country code was stored along with other countries.\n // The test case can be found by searching for:\n // \"should work around `nonGeographic` metadata not existing\".\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return this.metadata.countries['001'];\n }\n }\n } // Deprecated.\n\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n } // Deprecated.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n } // Deprecated.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n } // Deprecated.\n\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n } // Deprecated.\n\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n } // Deprecated.\n\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n } // Deprecated.\n\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n } // Deprecated.\n\n }, {\n key: \"ext\",\n value: function ext() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function countryCallingCodes() {\n if (this.v1) return this.metadata.country_phone_code_to_countries;\n return this.metadata.country_calling_codes;\n } // Deprecated.\n\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function chooseCountryByCountryCallingCode(callingCode) {\n return this.selectNumberingPlan(callingCode);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function hasSelectedNumberingPlan() {\n return this.numberingPlan !== undefined;\n }\n }]);\n\n return Metadata;\n}();\n\nvar NumberingPlan = /*#__PURE__*/function () {\n function NumberingPlan(metadata, globalMetadataObject) {\n _classCallCheck(this, NumberingPlan);\n\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n\n _createClass(NumberingPlan, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\n } // Formatting information for regions which share\n // a country calling code is contained by only one region\n // for performance reasons. For example, for NANPA region\n // (\"North American Numbering Plan Administration\",\n // which includes USA, Canada, Cayman Islands, Bahamas, etc)\n // it will be contained in the metadata for `US`.\n\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n } // Is always present.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[1];\n } // Is only present when a country supports multiple IDD prefixes.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n if (this.v1 || this.v2) return this.metadata[1];\n return this.metadata[2];\n } // \"possible length\" data is always present in Google's metadata.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.v1) return;\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function _getFormats(metadata) {\n return metadata[this.v1 ? 2 : this.v2 ? 3 : 4];\n } // For countries of the same region (e.g. NANPA)\n // formats are all stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n\n var formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return formats.map(function (_) {\n return new Format(_, _this);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function nationalPrefix() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function _getNationalPrefixFormattingRule(metadata) {\n return metadata[this.v1 ? 4 : this.v2 ? 5 : 6];\n } // For countries of the same region (e.g. NANPA)\n // national prefix formatting rule is stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function _nationalPrefixForParsing() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n // If `national_prefix_for_parsing` is not set explicitly,\n // then infer it from `national_prefix` (if any)\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function _getNationalPrefixIsOptionalWhenFormatting() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n } // For countries of the same region (e.g. NANPA)\n // \"national prefix is optional when formatting\" flag is\n // stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function types() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n // Versions 1.2.0 - 1.2.4: can be `[]`.\n\n /* istanbul ignore next */\n if (this.types() && this.types().length === 0) {\n return false;\n } // Versions <= 1.2.4: can be `undefined`.\n // Version >= 1.2.5: can be `0`.\n\n\n return !!this.types();\n }\n }, {\n key: \"type\",\n value: function type(_type2) {\n if (this.hasTypes() && getType(this.types(), _type2)) {\n return new Type(getType(this.types(), _type2), this);\n }\n }\n }, {\n key: \"ext\",\n value: function ext() {\n if (this.v1 || this.v2) return DEFAULT_EXT_PREFIX;\n return this.metadata[13] || DEFAULT_EXT_PREFIX;\n }\n }]);\n\n return NumberingPlan;\n}();\n\nvar Format = /*#__PURE__*/function () {\n function Format(format, metadata) {\n _classCallCheck(this, Format);\n\n this._format = format;\n this.metadata = metadata;\n }\n\n _createClass(Format, [{\n key: \"pattern\",\n value: function pattern() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function format() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function leadingDigitsPatterns() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n // National prefix is omitted if there's no national prefix formatting rule\n // set for this country, or when the national prefix formatting rule\n // contains no national prefix itself, or when this rule is set but\n // national prefix is optional for this phone number format\n // (and it is not enforced explicitly)\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n } // Checks whether national prefix formatting rule contains national prefix.\n\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a \"dummy\" one.\n !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) // In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\n // when `national_prefix_formatting_rule` is not present.\n // So, `true` or `false` are returned explicitly here, so that\n // `0` number isn't returned.\n ? true : false;\n }\n }, {\n key: \"internationalFormat\",\n value: function internationalFormat() {\n return this._format[5] || this.format();\n }\n }]);\n\n return Format;\n}();\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\n\n\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\n\nvar Type = /*#__PURE__*/function () {\n function Type(type, metadata) {\n _classCallCheck(this, Type);\n\n this.type = type;\n this.metadata = metadata;\n }\n\n _createClass(Type, [{\n key: \"pattern\",\n value: function pattern() {\n if (this.metadata.v1) return this.type;\n return this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.metadata.v1) return;\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]);\n\n return Type;\n}();\n\nfunction getType(types, type) {\n switch (type) {\n case 'FIXED_LINE':\n return types[0];\n\n case 'MOBILE':\n return types[1];\n\n case 'TOLL_FREE':\n return types[2];\n\n case 'PREMIUM_RATE':\n return types[3];\n\n case 'PERSONAL_NUMBER':\n return types[4];\n\n case 'VOICEMAIL':\n return types[5];\n\n case 'UAN':\n return types[6];\n\n case 'PAGER':\n return types[7];\n\n case 'VOIP':\n return types[8];\n\n case 'SHARED_COST':\n return types[9];\n }\n}\n\nfunction validateMetadata(metadata) {\n if (!metadata) {\n throw new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.');\n } // `country_phone_code_to_countries` was renamed to\n // `country_calling_codes` in `1.0.18`.\n\n\n if (!isObject(metadata) || !isObject(metadata.countries)) {\n throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(isObject(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + typeOf(metadata) + ': ' + metadata, \".\"));\n }\n} // Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\nvar typeOf = function typeOf(_) {\n return _typeof(_);\n};\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\n\nfunction getCountryCallingCode(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).countryCallingCode();\n }\n\n throw new Error(\"Unknown country: \".concat(country));\n}\nfunction isSupportedCountry(country, metadata) {\n // metadata = new Metadata(metadata)\n // return metadata.hasCountry(country)\n return metadata.countries.hasOwnProperty(country);\n}\n\nfunction setVersion(metadata) {\n var version = metadata.version;\n\n if (typeof version === 'number') {\n this.v1 = version === 1;\n this.v2 = version === 2;\n this.v3 = version === 3;\n this.v4 = version === 4;\n } else {\n if (!version) {\n this.v1 = true;\n } else if (compare(version, V3) === -1) {\n this.v2 = true;\n } else if (compare(version, V4) === -1) {\n this.v3 = true;\n } else {\n this.v4 = true;\n }\n }\n} // const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\n// function isCountryCode(countryCode) {\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\n// }\n\nexport { Metadata as default, getCountryCallingCode, isSupportedCountry, validateMetadata };\n//# sourceMappingURL=metadata.js.map\n","import { getCountryCallingCode } from '../../../../../libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/metadata.js';\n\nfunction getInputValuePrefix(_ref) {\n var country = _ref.country,\n international = _ref.international,\n withCountryCallingCode = _ref.withCountryCallingCode,\n metadata = _ref.metadata;\n return country && international && !withCountryCallingCode ? \"+\".concat(getCountryCallingCode(country, metadata)) : '';\n}\nfunction removeInputValuePrefix(value, prefix) {\n if (prefix) {\n value = value.slice(prefix.length);\n if (value[0] === ' ') {\n value = value.slice(1);\n }\n }\n return value;\n}\n\nexport { getInputValuePrefix, removeInputValuePrefix };\n//# sourceMappingURL=inputValuePrefix.js.map\n","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// These mappings map a character (key) to a specific digit that should\n// replace it for normalization purposes. Non-European digits that\n// may be used in phone numbers are mapped to a European equivalent.\n//\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n//\nvar DIGITS = {\n '0': '0',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n \"\\uFF10\": '0',\n // Fullwidth digit 0\n \"\\uFF11\": '1',\n // Fullwidth digit 1\n \"\\uFF12\": '2',\n // Fullwidth digit 2\n \"\\uFF13\": '3',\n // Fullwidth digit 3\n \"\\uFF14\": '4',\n // Fullwidth digit 4\n \"\\uFF15\": '5',\n // Fullwidth digit 5\n \"\\uFF16\": '6',\n // Fullwidth digit 6\n \"\\uFF17\": '7',\n // Fullwidth digit 7\n \"\\uFF18\": '8',\n // Fullwidth digit 8\n \"\\uFF19\": '9',\n // Fullwidth digit 9\n \"\\u0660\": '0',\n // Arabic-indic digit 0\n \"\\u0661\": '1',\n // Arabic-indic digit 1\n \"\\u0662\": '2',\n // Arabic-indic digit 2\n \"\\u0663\": '3',\n // Arabic-indic digit 3\n \"\\u0664\": '4',\n // Arabic-indic digit 4\n \"\\u0665\": '5',\n // Arabic-indic digit 5\n \"\\u0666\": '6',\n // Arabic-indic digit 6\n \"\\u0667\": '7',\n // Arabic-indic digit 7\n \"\\u0668\": '8',\n // Arabic-indic digit 8\n \"\\u0669\": '9',\n // Arabic-indic digit 9\n \"\\u06F0\": '0',\n // Eastern-Arabic digit 0\n \"\\u06F1\": '1',\n // Eastern-Arabic digit 1\n \"\\u06F2\": '2',\n // Eastern-Arabic digit 2\n \"\\u06F3\": '3',\n // Eastern-Arabic digit 3\n \"\\u06F4\": '4',\n // Eastern-Arabic digit 4\n \"\\u06F5\": '5',\n // Eastern-Arabic digit 5\n \"\\u06F6\": '6',\n // Eastern-Arabic digit 6\n \"\\u06F7\": '7',\n // Eastern-Arabic digit 7\n \"\\u06F8\": '8',\n // Eastern-Arabic digit 8\n \"\\u06F9\": '9' // Eastern-Arabic digit 9\n\n};\nfunction parseDigit(character) {\n return DIGITS[character];\n}\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\n\nfunction parseDigits(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n var digit = parseDigit(character);\n\n if (digit) {\n result += digit;\n }\n }\n\n return result;\n}\n\nexport { DIGITS, parseDigits as default, parseDigit };\n//# sourceMappingURL=parseDigits.js.map\n","import { parseDigit } from './helpers/parseDigits.js';\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\n\nfunction parseIncompletePhoneNumber(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n result += parsePhoneNumberCharacter(character, result) || '';\n }\n\n return result;\n}\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {function?} emitEvent - An optional \"emit event\" function.\r\n * @return {string?} The parsed character.\r\n */\n\nfunction parsePhoneNumberCharacter(character, prevParsedCharacters, emitEvent) {\n // Only allow a leading `+`.\n if (character === '+') {\n // If this `+` is not the first parsed character\n // then discard it.\n if (prevParsedCharacters) {\n // `emitEvent` argument was added to this `export`ed function on Dec 26th, 2023.\n // Any 3rd-party code that used to `import` and call this function before that\n // won't be passing any `emitEvent` argument.\n //\n // The addition of the `emitEvent` argument was to fix the slightly-weird behavior\n // of parsing an input string when the user inputs something like `\"2+7\"\n // https://github.com/catamphetamine/react-phone-number-input/issues/437\n //\n // If the parser encounters an unexpected `+` in a string being parsed\n // then it simply discards that out-of-place `+` and any following characters.\n //\n if (typeof emitEvent === 'function') {\n emitEvent('end');\n }\n\n return;\n }\n\n return '+';\n } // Allow digits.\n\n\n return parseDigit(character);\n}\n\nexport { parseIncompletePhoneNumber as default, parsePhoneNumberCharacter };\n//# sourceMappingURL=parseIncompletePhoneNumber.js.map\n","import { parsePhoneNumberCharacter } from '../../../../../libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js';\n\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {object?} context - An optional object that could be used by this function to set arbitrary \"flags\". The object should be shared within the parsing of the whole string.\r\n * @return {string?} The parsed character.\r\n */\nfunction parsePhoneNumberCharacter_(character, prevParsedCharacters, context) {\n // `context` argument was added as a third argument of `parse()` function\n // in `input-format` package on Dec 26th, 2023. So it could potentially be\n // `undefined` here if a 3rd-party app somehow ends up with this newer version\n // of `react-phone-number-input` and an older version of `input-format`.\n // Dunno how, but just in case, it could be `undefined` here and it wouldn't break.\n // Maybe it's not required to handle `undefined` case here.\n //\n // The addition of the `context` argument was to fix the slightly-weird behavior\n // of parsing an input string when the user inputs something like `\"2+7\"\n // https://github.com/catamphetamine/react-phone-number-input/issues/437\n //\n // If the parser encounters an unexpected `+` in a string being parsed\n // then it simply discards that out-of-place `+` and any following characters.\n //\n if (context && context.ignoreRest) {\n return;\n }\n var emitEvent = function emitEvent(eventName) {\n if (context) {\n switch (eventName) {\n case 'end':\n context.ignoreRest = true;\n break;\n }\n }\n };\n return parsePhoneNumberCharacter(character, prevParsedCharacters, emitEvent);\n}\n\nexport { parsePhoneNumberCharacter_ as default };\n//# sourceMappingURL=parsePhoneNumberCharacter.js.map\n","import { useCallback } from 'react';\n\n// Returns a custom `onKeyDown` handler that works around a Backspace keypress edge case:\n// * ``\n// * When placing the caret before the leading plus character and pressing Backspace,\n// it duplicates the country calling code in the ``.\n// https://github.com/catamphetamine/react-phone-number-input/issues/442\nfunction useInputKeyDownHandler(_ref) {\n var onKeyDown = _ref.onKeyDown,\n international = _ref.international;\n return useCallback(function (event) {\n if (event.keyCode === BACKSPACE_KEY_CODE && international) {\n // It checks `event.target` here for being an `` element\n // because \"keydown\" events may bubble from arbitrary child elements\n // so there's no guarantee that `event.target` represents an `` element.\n // Also, since `inputComponent` is not neceesarily an ``, this check is required too.\n if (event.target instanceof HTMLInputElement) {\n if (getCaretPosition(event.target) === AFTER_LEADING_PLUS_CARET_POSITION) {\n event.preventDefault();\n return;\n }\n }\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n }, [onKeyDown, international]);\n}\nvar BACKSPACE_KEY_CODE = 8;\n\n// Gets the caret position in an `` field.\n// The caret position starts with `0` which means \"before the first character\".\nfunction getCaretPosition(element) {\n return element.selectionStart;\n}\nvar AFTER_LEADING_PLUS_CARET_POSITION = '+'.length;\n\nexport { useInputKeyDownHandler as default };\n//# sourceMappingURL=useInputKeyDownHandler.js.map\n","function checkNumberLength(nationalNumber, metadata) {\n return checkNumberLengthForType(nationalNumber, undefined, metadata);\n} // Checks whether a number is possible for the country based on its length.\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\n\nfunction checkNumberLengthForType(nationalNumber, type, metadata) {\n var type_info = metadata.type(type); // There should always be \"\" set for every type element.\n // This is declared in the XML schema.\n // For size efficiency, where a sub-description (e.g. fixed-line)\n // has the same \"\" as the \"general description\", this is missing,\n // so we fall back to the \"general description\". Where no numbers of the type\n // exist at all, there is one possible length (-1) which is guaranteed\n // not to match the length of any real phone number.\n\n var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths(); // let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n // Metadata before version `1.0.18` didn't contain `possible_lengths`.\n\n if (!possible_lengths) {\n return 'IS_POSSIBLE';\n }\n\n var actual_length = nationalNumber.length; // In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\n // // This is safe because there is never an overlap beween the possible lengths\n // // and the local-only lengths; this is checked at build time.\n // if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\n // {\n // \treturn 'IS_POSSIBLE_LOCAL_ONLY'\n // }\n\n var minimum_length = possible_lengths[0];\n\n if (minimum_length === actual_length) {\n return 'IS_POSSIBLE';\n }\n\n if (minimum_length > actual_length) {\n return 'TOO_SHORT';\n }\n\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return 'TOO_LONG';\n } // We skip the first element since we've already checked it.\n\n\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';\n}\n\nexport { checkNumberLengthForType, checkNumberLength as default };\n//# sourceMappingURL=checkNumberLength.js.map\n","import Metadata from './metadata.js';\nimport checkNumberLength from './helpers/checkNumberLength.js';\n\n/**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * isPossible(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nfunction isPossiblePhoneNumber(input, options, metadata) {\n /* istanbul ignore if */\n if (options === undefined) {\n options = {};\n }\n\n metadata = new Metadata(metadata);\n\n if (options.v2) {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else {\n if (!input.phone) {\n return false;\n }\n\n if (input.country) {\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n }\n } // Old metadata (< 1.0.18) had no \"possible length\" data.\n\n\n if (metadata.possibleLengths()) {\n return isPossibleNumber(input.phone || input.nationalNumber, metadata);\n } else {\n // There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\n // were missing for \"non-geographical\" numbering plans.\n // Just assume the number is possible in such cases:\n // it's unlikely that anyone generated their custom metadata\n // in that short period of time (one day).\n // This code can be removed in some future major version update.\n if (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\n // \"Non-geographic entities\" did't have `possibleLengths`\n // due to a bug in metadata generation process.\n return true;\n } else {\n throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n }\n }\n}\nfunction isPossibleNumber(nationalNumber, metadata) {\n //, isInternational) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'IS_POSSIBLE':\n return true;\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n // \treturn !isInternational\n\n default:\n return false;\n }\n}\n\nexport { isPossiblePhoneNumber as default, isPossibleNumber };\n//# sourceMappingURL=isPossible.js.map\n","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\nfunction matchesEntirely(text, regular_expression) {\n // If assigning the `''` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n text = text || '';\n return new RegExp('^(?:' + regular_expression + ')$').test(text);\n}\n\nexport { matchesEntirely as default };\n//# sourceMappingURL=matchesEntirely.js.map\n","import Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nvar NON_FIXED_LINE_PHONE_TYPES = ['MOBILE', 'PREMIUM_RATE', 'TOLL_FREE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL']; // Finds out national phone number type (fixed line, mobile, etc)\n\nfunction getNumberType(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {}; // When `parse()` returns an empty object — `{}` —\n // that means that the phone number is malformed,\n // so it can't possibly be valid.\n\n if (!input.country && !input.countryCallingCode) {\n return;\n }\n\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode);\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // The following is copy-pasted from the original function:\n // https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\n // Is this national number even valid for this country\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\n return;\n } // Is it fixed line number\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\n // Because duplicate regular expressions are removed\n // to reduce metadata size, if \"mobile\" pattern is \"\"\n // then it means it was removed due to being a duplicate of the fixed-line pattern.\n //\n if (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\n return 'FIXED_LINE_OR_MOBILE';\n } // `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.\n // For example, for \"US\" country.\n // Old metadata (< `1.0.18`) had a specific \"types\" data structure\n // that happened to be `undefined` for `MOBILE` in that case.\n // Newer metadata (>= `1.0.18`) has another data structure that is\n // not `undefined` for `MOBILE` in that case (it's just an empty array).\n // So this `if` is just for backwards compatibility with old metadata.\n\n\n if (!metadata.type('MOBILE')) {\n return 'FIXED_LINE_OR_MOBILE';\n } // Check if the number happens to qualify as both fixed line and mobile.\n // (no such country in the minimal metadata set)\n\n /* istanbul ignore if */\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\n return 'FIXED_LINE_OR_MOBILE';\n }\n\n return 'FIXED_LINE';\n }\n\n for (var _iterator = _createForOfIteratorHelperLoose(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done;) {\n var type = _step.value;\n\n if (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\n return type;\n }\n }\n}\nfunction isNumberTypeEqualTo(nationalNumber, type, metadata) {\n type = metadata.type(type);\n\n if (!type || !type.pattern()) {\n return false;\n } // Check if any possible number lengths are present;\n // if so, we use them to avoid checking\n // the validation pattern if they don't match.\n // If they are absent, this means they match\n // the general description, which we have\n // already checked before a specific number type.\n\n\n if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n return false;\n }\n\n return matchesEntirely(nationalNumber, type.pattern());\n}\n\nexport { getNumberType as default, isNumberTypeEqualTo };\n//# sourceMappingURL=getNumberType.js.map\n","import Metadata from '../metadata.js';\n\n/**\r\n * Returns a list of countries that the phone number could potentially belong to.\r\n * @param {string} callingCode — Calling code.\r\n * @param {string} nationalNumber — National (significant) number.\r\n * @param {object} metadata — Metadata.\r\n * @return {string[]} A list of possible countries.\r\n */\n\nfunction getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {\n var _metadata = new Metadata(metadata);\n\n var possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return [];\n }\n\n return possibleCountries.filter(function (country) {\n return couldNationalNumberBelongToCountry(nationalNumber, country, metadata);\n });\n}\n\nfunction couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {\n var _metadata = new Metadata(metadata);\n\n _metadata.selectNumberingPlan(country);\n\n if (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {\n return true;\n }\n\n return false;\n}\n\nexport { getPossibleCountriesForNumber as default };\n//# sourceMappingURL=getPossibleCountriesForNumber.js.map\n","// The minimum length of the national significant number.\nvar MIN_LENGTH_FOR_NSN = 2; // The ITU says the maximum length should be 15,\n// but one can find longer numbers in Germany.\n\nvar MAX_LENGTH_FOR_NSN = 17; // The maximum length of the country calling code.\n\nvar MAX_LENGTH_COUNTRY_CODE = 3; // Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\n\nvar VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\"; // `DASHES` will be right after the opening square bracket of the \"character class\"\n\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nvar WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\"; // export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\n\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\"; // Regular expression of acceptable punctuation found in phone numbers. This\n// excludes punctuation found as a leading character only. This consists of dash\n// characters, white space characters, full stops, slashes, square brackets,\n// parentheses and tildes. Full-width variants are also present.\n\nvar VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nvar PLUS_CHARS = \"+\\uFF0B\"; // const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n\nexport { MAX_LENGTH_COUNTRY_CODE, MAX_LENGTH_FOR_NSN, MIN_LENGTH_FOR_NSN, PLUS_CHARS, VALID_DIGITS, VALID_PUNCTUATION, WHITESPACE };\n//# sourceMappingURL=constants.js.map\n","import { VALID_PUNCTUATION } from '../constants.js';\n\n//\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n//\n// For some reason Google's metadata contains ``s with brackets and dashes.\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\n//\n// For example, Google's `` for USA is `+1 213-373-4253`.\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\n//\n// \"The country calling code for all countries participating in the NANP is 1.\n// In international format, an NANP number should be listed as +1 301 555 01 00,\n// where 301 is an area code (Maryland).\"\n//\n// I personally prefer the international format without any punctuation.\n// For example, brackets are remnants of the old age, meaning that the\n// phone number part in brackets (so called \"area code\") can be omitted\n// if dialing within the same \"area\".\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\n// He has a couple of seconds to memorize that number until it passes by.\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\n// but with hyphens instead of spaces the grouping is more explicit.\n// I personally think that hyphens introduce visual clutter,\n// so I prefer replacing them with spaces in international numbers.\n// In the modern age all output is done on displays where spaces are clearly distinguishable\n// so hyphens can be safely replaced with spaces without losing any legibility.\n//\n\nfunction applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), 'g'), ' ').trim();\n}\n\nexport { applyInternationalSeparatorStyle as default };\n//# sourceMappingURL=applyInternationalSeparatorStyle.js.map\n","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js';\n\n// first group is not used in the national pattern (e.g. Argentina) so the $1\n// group does not match correctly. Therefore, we use `\\d`, so that the first\n// group actually used in the pattern will be matched.\n\nvar FIRST_GROUP_PATTERN = /(\\$\\d)/;\nfunction formatNationalNumberUsingFormat(number, format, _ref) {\n var useInternationalFormat = _ref.useInternationalFormat,\n withNationalPrefix = _ref.withNationalPrefix;\n _ref.carrierCode;\n _ref.metadata;\n var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : // This library doesn't use `domestic_carrier_code_formatting_rule`,\n // because that one is only used when formatting phone numbers\n // for dialing from a mobile phone, and this is not a dialing library.\n // carrierCode && format.domesticCarrierCodeFormattingRule()\n // \t// First, replace the $CC in the formatting rule with the desired carrier code.\n // \t// Then, replace the $FG in the formatting rule with the first group\n // \t// and the carrier code combined in the appropriate way.\n // \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\n // \t: (\n // \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\n // \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\n // \t\t\t: format.format()\n // \t)\n withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n\n if (useInternationalFormat) {\n return applyInternationalSeparatorStyle(formattedNumber);\n }\n\n return formattedNumber;\n}\n\nexport { FIRST_GROUP_PATTERN, formatNationalNumberUsingFormat as default };\n//# sourceMappingURL=formatNationalNumberUsingFormat.js.map\n","import Metadata from '../metadata.js';\n\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\n\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/; // For regions that have multiple IDD prefixes\n// a preferred IDD prefix is returned.\n\nfunction getIddPrefix(country, callingCode, metadata) {\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n\n if (countryMetadata.defaultIDDPrefix()) {\n return countryMetadata.defaultIDDPrefix();\n }\n\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n}\n\nexport { getIddPrefix as default };\n//# sourceMappingURL=getIddPrefix.js.map\n","import matchesEntirely from './helpers/matchesEntirely.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\nimport Metadata, { getCountryCallingCode } from './metadata.js';\nimport getIddPrefix from './helpers/getIddPrefix.js';\nimport { formatRFC3966 } from './helpers/RFC3966.js';\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nvar DEFAULT_OPTIONS = {\n formatExtension: function formatExtension(formattedNumber, extension, metadata) {\n return \"\".concat(formattedNumber).concat(metadata.ext()).concat(extension);\n }\n};\n/**\r\n * Formats a phone number.\r\n *\r\n * format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)\r\n * format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)\r\n *\r\n * format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)\r\n * format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {string} format\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nfunction formatNumber(input, format, options, metadata) {\n // Apply default options.\n if (options) {\n options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n\n metadata = new Metadata(metadata);\n\n if (input.country && input.country !== '001') {\n // Validate `input.country`.\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else if (input.countryCallingCode) {\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else return input.phone || '';\n\n var countryCallingCode = metadata.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // This variable should have been declared inside `case`s\n // but Babel has a bug and it says \"duplicate variable declaration\".\n\n var number;\n\n switch (format) {\n case 'NATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return '';\n }\n\n number = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'INTERNATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\n\n number = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options);\n number = \"+\".concat(countryCallingCode, \" \").concat(number);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'E.164':\n // `E.164` doesn't define \"phone number extensions\".\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n\n case 'RFC3966':\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\n });\n // For reference, here's Google's IDD formatter:\n // https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\n // Not saying that this IDD formatter replicates it 1:1, but it seems to work.\n // Who would even need to format phone numbers in IDD format anyway?\n\n case 'IDD':\n if (!options.fromCountry) {\n return; // throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\n }\n\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata);\n return addExtension(formattedNumber, input.ext, metadata, options.formatExtension);\n\n default:\n throw new Error(\"Unknown \\\"format\\\" argument passed to \\\"formatNumber()\\\": \\\"\".concat(format, \"\\\"\"));\n }\n}\n\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\n var format = chooseFormatForNumber(metadata.formats(), number);\n\n if (!format) {\n return number;\n }\n\n return formatNationalNumberUsingFormat(number, format, {\n useInternationalFormat: formatAs === 'INTERNATIONAL',\n withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n carrierCode: carrierCode,\n metadata: metadata\n });\n}\n\nfunction chooseFormatForNumber(availableFormats, nationalNnumber) {\n for (var _iterator = _createForOfIteratorHelperLoose(availableFormats), _step; !(_step = _iterator()).done;) {\n var format = _step.value;\n\n // Validate leading digits.\n // The test case for \"else path\" could be found by searching for\n // \"format.leadingDigitsPatterns().length === 0\".\n if (format.leadingDigitsPatterns().length > 0) {\n // The last leading_digits_pattern is used here, as it is the most detailed\n var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]; // If leading digits don't match then move on to the next phone number format\n\n if (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\n continue;\n }\n } // Check that the national number matches the phone number format regular expression\n\n\n if (matchesEntirely(nationalNnumber, format.pattern())) {\n return format;\n }\n }\n}\n\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\n return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n}\n\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata); // When calling within the same country calling code.\n\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata); // For NANPA regions, return the national format for these regions\n // but prefix it with the country calling code.\n\n if (countryCallingCode === '1') {\n return countryCallingCode + ' ' + formattedNumber;\n } // If regions share a country calling code, the country calling code need\n // not be dialled. This also applies when dialling within a region, so this\n // if clause covers both these cases. Technically this is the case for\n // dialling from La Reunion to other overseas departments of France (French\n // Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\n // this edge case for now and for those cases return the version including\n // country calling code. Details here:\n // http://www.petitfute.com/voyage/225-info-pratiques-reunion\n //\n\n\n return formattedNumber;\n }\n\n var iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata);\n\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata));\n }\n}\n\nexport { chooseFormatForNumber, formatNumber as default };\n//# sourceMappingURL=format.js.map\n","/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\n\nfunction formatRFC3966(_ref) {\n var number = _ref.number,\n ext = _ref.ext;\n\n if (!number) {\n return '';\n }\n\n if (number[0] !== '+') {\n throw new Error(\"\\\"formatRFC3966()\\\" expects \\\"number\\\" to be in E.164 format.\");\n }\n\n return \"tel:\".concat(number).concat(ext ? ';ext=' + ext : '');\n}\n\nexport { formatRFC3966 };\n//# sourceMappingURL=RFC3966.js.map\n","import Metadata from './metadata.js';\nimport isPossiblePhoneNumber from './isPossible.js';\nimport isValidNumber from './isValid.js';\nimport getNumberType from './helpers/getNumberType.js';\nimport getPossibleCountriesForNumber from './helpers/getPossibleCountriesForNumber.js';\nimport formatNumber from './format.js';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nvar PhoneNumber = /*#__PURE__*/function () {\n /**\r\n * @param {string} countryOrCountryCallingCode\r\n * @param {string} nationalNumber\r\n * @param {object} metadata — Metadata JSON\r\n * @return {PhoneNumber}\r\n */\n function PhoneNumber(countryOrCountryCallingCode, nationalNumber, metadata) {\n _classCallCheck(this, PhoneNumber);\n\n if (!countryOrCountryCallingCode) {\n throw new TypeError('`country` or `countryCallingCode` not passed');\n }\n\n if (!nationalNumber) {\n throw new TypeError('`nationalNumber` not passed');\n }\n\n if (!metadata) {\n throw new TypeError('`metadata` not passed');\n }\n\n var _getCountryAndCountry = getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadata),\n country = _getCountryAndCountry.country,\n countryCallingCode = _getCountryAndCountry.countryCallingCode;\n\n this.country = country;\n this.countryCallingCode = countryCallingCode;\n this.nationalNumber = nationalNumber;\n this.number = '+' + this.countryCallingCode + this.nationalNumber; // Exclude `metadata` property output from `PhoneNumber.toString()`\n // so that it doesn't clutter the console output of Node.js.\n // Previously, when Node.js did `console.log(new PhoneNumber(...))`,\n // it would output the whole internal structure of the `metadata` object.\n\n this.getMetadata = function () {\n return metadata;\n };\n }\n\n _createClass(PhoneNumber, [{\n key: \"setExt\",\n value: function setExt(ext) {\n this.ext = ext;\n }\n }, {\n key: \"getPossibleCountries\",\n value: function getPossibleCountries() {\n if (this.country) {\n return [this.country];\n }\n\n return getPossibleCountriesForNumber(this.countryCallingCode, this.nationalNumber, this.getMetadata());\n }\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n return isPossiblePhoneNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return isValidNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isNonGeographic\",\n value: function isNonGeographic() {\n var metadata = new Metadata(this.getMetadata());\n return metadata.isNonGeographicCallingCode(this.countryCallingCode);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(phoneNumber) {\n return this.number === phoneNumber.number && this.ext === phoneNumber.ext;\n } // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,\n // but later it was found out that it doesn't include the possible `TOO_SHORT` result\n // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,\n // so eventually I simply commented out this method from the `PhoneNumber` class\n // and just left the `validatePhoneNumberLength()` function, even though that one would require\n // and additional step to also validate the actual country / calling code of the phone number.\n // validateLength() {\n // \tconst metadata = new Metadata(this.getMetadata())\n // \tmetadata.selectNumberingPlan(this.countryCallingCode)\n // \tconst result = checkNumberLength(this.nationalNumber, metadata)\n // \tif (result !== 'IS_POSSIBLE') {\n // \t\treturn result\n // \t}\n // }\n\n }, {\n key: \"getType\",\n value: function getType() {\n return getNumberType(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"format\",\n value: function format(_format, options) {\n return formatNumber(this, _format, options ? _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }) : {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"formatNational\",\n value: function formatNational(options) {\n return this.format('NATIONAL', options);\n }\n }, {\n key: \"formatInternational\",\n value: function formatInternational(options) {\n return this.format('INTERNATIONAL', options);\n }\n }, {\n key: \"getURI\",\n value: function getURI(options) {\n return this.format('RFC3966', options);\n }\n }]);\n\n return PhoneNumber;\n}();\n\nvar isCountryCode = function isCountryCode(value) {\n return /^[A-Z]{2}$/.test(value);\n};\n\nfunction getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {\n var country;\n var countryCallingCode;\n var metadata = new Metadata(metadataJson); // If country code is passed then derive `countryCallingCode` from it.\n // Also store the country code as `.country`.\n\n if (isCountryCode(countryOrCountryCallingCode)) {\n country = countryOrCountryCallingCode;\n metadata.selectNumberingPlan(country);\n countryCallingCode = metadata.countryCallingCode();\n } else {\n countryCallingCode = countryOrCountryCallingCode;\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode\n };\n}\n\nexport { PhoneNumber as default };\n//# sourceMappingURL=PhoneNumber.js.map\n","import Metadata from './metadata.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport getNumberType from './helpers/getNumberType.js';\n\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * isValid(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\n\nfunction isValidNumber(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode); // By default, countries only have type regexps when it's required for\n // distinguishing different countries having the same `countryCallingCode`.\n\n if (metadata.hasTypes()) {\n return getNumberType(input, options, metadata.metadata) !== undefined;\n } // If there are no type regexps for this country in metadata then use\n // `nationalNumberPattern` as a \"better than nothing\" replacement.\n\n\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(nationalNumber, metadata.nationalNumberPattern());\n}\n\nexport { isValidNumber as default };\n//# sourceMappingURL=isValid.js.map\n","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n// This \"state\" object simply holds the state of the \"AsYouType\" parser:\n//\n// * `country?: string`\n// * `callingCode?: string`\n// * `digits: string`\n// * `international: boolean`\n// * `missingPlus: boolean`\n// * `IDDPrefix?: string`\n// * `carrierCode?: string`\n// * `nationalPrefix?: string`\n// * `nationalSignificantNumber?: string`\n// * `nationalSignificantNumberMatchesInput: boolean`\n// * `complexPrefixBeforeNationalSignificantNumber?: string`\n//\n// `state.country` and `state.callingCode` aren't required to be in sync.\n// For example, `state.country` could be `\"AR\"` and `state.callingCode` could be `undefined`.\n// So `state.country` and `state.callingCode` are totally independent.\n//\nvar AsYouTypeState = /*#__PURE__*/function () {\n function AsYouTypeState(_ref) {\n var onCountryChange = _ref.onCountryChange,\n onCallingCodeChange = _ref.onCallingCodeChange;\n\n _classCallCheck(this, AsYouTypeState);\n\n this.onCountryChange = onCountryChange;\n this.onCallingCodeChange = onCallingCodeChange;\n }\n\n _createClass(AsYouTypeState, [{\n key: \"reset\",\n value: function reset(_ref2) {\n var country = _ref2.country,\n callingCode = _ref2.callingCode;\n this.international = false;\n this.missingPlus = false;\n this.IDDPrefix = undefined;\n this.callingCode = undefined;\n this.digits = '';\n this.resetNationalSignificantNumber();\n this.initCountryAndCallingCode(country, callingCode);\n }\n }, {\n key: \"resetNationalSignificantNumber\",\n value: function resetNationalSignificantNumber() {\n this.nationalSignificantNumber = this.getNationalDigits();\n this.nationalSignificantNumberMatchesInput = true;\n this.nationalPrefix = undefined;\n this.carrierCode = undefined;\n this.complexPrefixBeforeNationalSignificantNumber = undefined;\n }\n }, {\n key: \"update\",\n value: function update(properties) {\n for (var _i = 0, _Object$keys = Object.keys(properties); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n this[key] = properties[key];\n }\n }\n }, {\n key: \"initCountryAndCallingCode\",\n value: function initCountryAndCallingCode(country, callingCode) {\n this.setCountry(country);\n this.setCallingCode(callingCode);\n }\n }, {\n key: \"setCountry\",\n value: function setCountry(country) {\n this.country = country;\n this.onCountryChange(country);\n }\n }, {\n key: \"setCallingCode\",\n value: function setCallingCode(callingCode) {\n this.callingCode = callingCode;\n this.onCallingCodeChange(callingCode, this.country);\n }\n }, {\n key: \"startInternationalNumber\",\n value: function startInternationalNumber(country, callingCode) {\n // Prepend the `+` to parsed input.\n this.international = true; // If a default country was set then reset it\n // because an explicitly international phone\n // number is being entered.\n\n this.initCountryAndCallingCode(country, callingCode);\n }\n }, {\n key: \"appendDigits\",\n value: function appendDigits(nextDigits) {\n this.digits += nextDigits;\n }\n }, {\n key: \"appendNationalSignificantNumberDigits\",\n value: function appendNationalSignificantNumberDigits(nextDigits) {\n this.nationalSignificantNumber += nextDigits;\n }\n /**\r\n * Returns the part of `this.digits` that corresponds to the national number.\r\n * Basically, all digits that have been input by the user, except for the\r\n * international prefix and the country calling code part\r\n * (if the number is an international one).\r\n * @return {string}\r\n */\n\n }, {\n key: \"getNationalDigits\",\n value: function getNationalDigits() {\n if (this.international) {\n return this.digits.slice((this.IDDPrefix ? this.IDDPrefix.length : 0) + (this.callingCode ? this.callingCode.length : 0));\n }\n\n return this.digits;\n }\n }, {\n key: \"getDigitsWithoutInternationalPrefix\",\n value: function getDigitsWithoutInternationalPrefix() {\n if (this.international) {\n if (this.IDDPrefix) {\n return this.digits.slice(this.IDDPrefix.length);\n }\n }\n\n return this.digits;\n }\n }]);\n\n return AsYouTypeState;\n}();\n\nexport { AsYouTypeState as default };\n//# sourceMappingURL=AsYouTypeState.js.map\n","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// Should be the same as `DIGIT_PLACEHOLDER` in `libphonenumber-metadata-generator`.\nvar DIGIT_PLACEHOLDER = 'x'; // '\\u2008' (punctuation space)\n\nvar DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER); // Counts all occurences of a symbol in a string.\n// http://stackoverflow.com/questions/202605/repeat-string-javascript\n\nfunction repeat(string, times) {\n if (times < 1) {\n return '';\n }\n\n var result = '';\n\n while (times > 1) {\n if (times & 1) {\n result += string;\n }\n\n times >>= 1;\n string += string;\n }\n\n return result + string;\n}\nfunction cutAndStripNonPairedParens(string, cutBeforeIndex) {\n if (string[cutBeforeIndex] === ')') {\n cutBeforeIndex++;\n }\n\n return stripNonPairedParens(string.slice(0, cutBeforeIndex));\n}\nfunction stripNonPairedParens(string) {\n var dangling_braces = [];\n var i = 0;\n\n while (i < string.length) {\n if (string[i] === '(') {\n dangling_braces.push(i);\n } else if (string[i] === ')') {\n dangling_braces.pop();\n }\n\n i++;\n }\n\n var start = 0;\n var cleared_string = '';\n dangling_braces.push(string.length);\n\n for (var _i = 0, _dangling_braces = dangling_braces; _i < _dangling_braces.length; _i++) {\n var index = _dangling_braces[_i];\n cleared_string += string.slice(start, index);\n start = index + 1;\n }\n\n return cleared_string;\n}\nfunction populateTemplateWithDigits(template, position, digits) {\n // Using `.split('')` to iterate through a string here\n // to avoid requiring `Symbol.iterator` polyfill.\n // `.split('')` is generally not safe for Unicode,\n // but in this particular case for `digits` it is safe.\n // for (const digit of digits)\n for (var _iterator2 = _createForOfIteratorHelperLoose(digits.split('')), _step2; !(_step2 = _iterator2()).done;) {\n var digit = _step2.value;\n\n // If there is room for more digits in current `template`,\n // then set the next digit in the `template`,\n // and return the formatted digits so far.\n // If more digits are entered than the current format could handle.\n if (template.slice(position + 1).search(DIGIT_PLACEHOLDER_MATCHER) < 0) {\n return;\n }\n\n position = template.search(DIGIT_PLACEHOLDER_MATCHER);\n template = template.replace(DIGIT_PLACEHOLDER_MATCHER, digit);\n }\n\n return [template, position];\n}\n\nexport { DIGIT_PLACEHOLDER, cutAndStripNonPairedParens, populateTemplateWithDigits, repeat, stripNonPairedParens };\n//# sourceMappingURL=AsYouTypeFormatter.util.js.map\n","import checkNumberLength from './helpers/checkNumberLength.js';\nimport parseDigits from './helpers/parseDigits.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\n\nfunction formatCompleteNumber(state, format, _ref) {\n var metadata = _ref.metadata,\n shouldTryNationalPrefixFormattingRule = _ref.shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref.getSeparatorAfterNationalPrefix;\n var matcher = new RegExp(\"^(?:\".concat(format.pattern(), \")$\"));\n\n if (matcher.test(state.nationalSignificantNumber)) {\n return formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, {\n metadata: metadata,\n shouldTryNationalPrefixFormattingRule: shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix\n });\n }\n}\nfunction canFormatCompleteNumber(nationalSignificantNumber, metadata) {\n return checkNumberLength(nationalSignificantNumber, metadata) === 'IS_POSSIBLE';\n}\n\nfunction formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, _ref2) {\n var metadata = _ref2.metadata,\n shouldTryNationalPrefixFormattingRule = _ref2.shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref2.getSeparatorAfterNationalPrefix;\n // `format` has already been checked for `nationalPrefix` requirement.\n state.nationalSignificantNumber;\n state.international;\n state.nationalPrefix;\n state.carrierCode; // Format the number with using `national_prefix_formatting_rule`.\n // If the resulting formatted number is a valid formatted number, then return it.\n //\n // Google's AsYouType formatter is different in a way that it doesn't try\n // to format using the \"national prefix formatting rule\", and instead it\n // simply prepends a national prefix followed by a \" \" character.\n // This code does that too, but as a fallback.\n // The reason is that \"national prefix formatting rule\" may use parentheses,\n // which wouldn't be included has it used the simpler Google's way.\n //\n\n if (shouldTryNationalPrefixFormattingRule(format)) {\n var formattedNumber = formatNationalNumber(state, format, {\n useNationalPrefixFormattingRule: true,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix,\n metadata: metadata\n });\n\n if (formattedNumber) {\n return formattedNumber;\n }\n } // Format the number without using `national_prefix_formatting_rule`.\n\n\n return formatNationalNumber(state, format, {\n useNationalPrefixFormattingRule: false,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix,\n metadata: metadata\n });\n}\n\nfunction formatNationalNumber(state, format, _ref3) {\n var metadata = _ref3.metadata,\n useNationalPrefixFormattingRule = _ref3.useNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref3.getSeparatorAfterNationalPrefix;\n var formattedNationalNumber = formatNationalNumberUsingFormat(state.nationalSignificantNumber, format, {\n carrierCode: state.carrierCode,\n useInternationalFormat: state.international,\n withNationalPrefix: useNationalPrefixFormattingRule,\n metadata: metadata\n });\n\n if (!useNationalPrefixFormattingRule) {\n if (state.nationalPrefix) {\n // If a national prefix was extracted, then just prepend it,\n // followed by a \" \" character.\n formattedNationalNumber = state.nationalPrefix + getSeparatorAfterNationalPrefix(format) + formattedNationalNumber;\n } else if (state.complexPrefixBeforeNationalSignificantNumber) {\n formattedNationalNumber = state.complexPrefixBeforeNationalSignificantNumber + ' ' + formattedNationalNumber;\n }\n }\n\n if (isValidFormattedNationalNumber(formattedNationalNumber, state)) {\n return formattedNationalNumber;\n }\n} // Check that the formatted phone number contains exactly\n// the same digits that have been input by the user.\n// For example, when \"0111523456789\" is input for `AR` country,\n// the extracted `this.nationalSignificantNumber` is \"91123456789\",\n// which means that the national part of `this.digits` isn't simply equal to\n// `this.nationalPrefix` + `this.nationalSignificantNumber`.\n//\n// Also, a `format` can add extra digits to the `this.nationalSignificantNumber`\n// being formatted via `metadata[country].national_prefix_transform_rule`.\n// For example, for `VI` country, it prepends `340` to the national number,\n// and if this check hasn't been implemented, then there would be a bug\n// when `340` \"area coude\" is \"duplicated\" during input for `VI` country:\n// https://github.com/catamphetamine/libphonenumber-js/issues/318\n//\n// So, all these \"gotchas\" are filtered out.\n//\n// In the original Google's code, the comments say:\n// \"Check that we didn't remove nor add any extra digits when we matched\n// this formatting pattern. This usually happens after we entered the last\n// digit during AYTF. Eg: In case of MX, we swallow mobile token (1) when\n// formatted but AYTF should retain all the number entered and not change\n// in order to match a format (of same leading digits and length) display\n// in that way.\"\n// \"If it's the same (i.e entered number and format is same), then it's\n// safe to return this in formatted number as nothing is lost / added.\"\n// Otherwise, don't use this format.\n// https://github.com/google/libphonenumber/commit/3e7c1f04f5e7200f87fb131e6f85c6e99d60f510#diff-9149457fa9f5d608a11bb975c6ef4bc5\n// https://github.com/google/libphonenumber/commit/3ac88c7106e7dcb553bcc794b15f19185928a1c6#diff-2dcb77e833422ee304da348b905cde0b\n//\n\n\nfunction isValidFormattedNationalNumber(formattedNationalNumber, state) {\n return parseDigits(formattedNationalNumber) === state.getNationalDigits();\n}\n\nexport { canFormatCompleteNumber, formatCompleteNumber as default };\n//# sourceMappingURL=AsYouTypeFormatter.complete.js.map\n","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nvar PatternParser = /*#__PURE__*/function () {\n function PatternParser() {\n _classCallCheck(this, PatternParser);\n }\n\n _createClass(PatternParser, [{\n key: \"parse\",\n value: function parse(pattern) {\n this.context = [{\n or: true,\n instructions: []\n }];\n this.parsePattern(pattern);\n\n if (this.context.length !== 1) {\n throw new Error('Non-finalized contexts left when pattern parse ended');\n }\n\n var _this$context$ = this.context[0],\n branches = _this$context$.branches,\n instructions = _this$context$.instructions;\n\n if (branches) {\n return {\n op: '|',\n args: branches.concat([expandSingleElementArray(instructions)])\n };\n }\n /* istanbul ignore if */\n\n\n if (instructions.length === 0) {\n throw new Error('Pattern is required');\n }\n\n if (instructions.length === 1) {\n return instructions[0];\n }\n\n return instructions;\n }\n }, {\n key: \"startContext\",\n value: function startContext(context) {\n this.context.push(context);\n }\n }, {\n key: \"endContext\",\n value: function endContext() {\n this.context.pop();\n }\n }, {\n key: \"getContext\",\n value: function getContext() {\n return this.context[this.context.length - 1];\n }\n }, {\n key: \"parsePattern\",\n value: function parsePattern(pattern) {\n if (!pattern) {\n throw new Error('Pattern is required');\n }\n\n var match = pattern.match(OPERATOR);\n\n if (!match) {\n if (ILLEGAL_CHARACTER_REGEXP.test(pattern)) {\n throw new Error(\"Illegal characters found in a pattern: \".concat(pattern));\n }\n\n this.getContext().instructions = this.getContext().instructions.concat(pattern.split(''));\n return;\n }\n\n var operator = match[1];\n var before = pattern.slice(0, match.index);\n var rightPart = pattern.slice(match.index + operator.length);\n\n switch (operator) {\n case '(?:':\n if (before) {\n this.parsePattern(before);\n }\n\n this.startContext({\n or: true,\n instructions: [],\n branches: []\n });\n break;\n\n case ')':\n if (!this.getContext().or) {\n throw new Error('\")\" operator must be preceded by \"(?:\" operator');\n }\n\n if (before) {\n this.parsePattern(before);\n }\n\n if (this.getContext().instructions.length === 0) {\n throw new Error('No instructions found after \"|\" operator in an \"or\" group');\n }\n\n var _this$getContext = this.getContext(),\n branches = _this$getContext.branches;\n\n branches.push(expandSingleElementArray(this.getContext().instructions));\n this.endContext();\n this.getContext().instructions.push({\n op: '|',\n args: branches\n });\n break;\n\n case '|':\n if (!this.getContext().or) {\n throw new Error('\"|\" operator can only be used inside \"or\" groups');\n }\n\n if (before) {\n this.parsePattern(before);\n } // The top-level is an implicit \"or\" group, if required.\n\n\n if (!this.getContext().branches) {\n // `branches` are not defined only for the root implicit \"or\" operator.\n\n /* istanbul ignore else */\n if (this.context.length === 1) {\n this.getContext().branches = [];\n } else {\n throw new Error('\"branches\" not found in an \"or\" group context');\n }\n }\n\n this.getContext().branches.push(expandSingleElementArray(this.getContext().instructions));\n this.getContext().instructions = [];\n break;\n\n case '[':\n if (before) {\n this.parsePattern(before);\n }\n\n this.startContext({\n oneOfSet: true\n });\n break;\n\n case ']':\n if (!this.getContext().oneOfSet) {\n throw new Error('\"]\" operator must be preceded by \"[\" operator');\n }\n\n this.endContext();\n this.getContext().instructions.push({\n op: '[]',\n args: parseOneOfSet(before)\n });\n break;\n\n /* istanbul ignore next */\n\n default:\n throw new Error(\"Unknown operator: \".concat(operator));\n }\n\n if (rightPart) {\n this.parsePattern(rightPart);\n }\n }\n }]);\n\n return PatternParser;\n}();\n\nfunction parseOneOfSet(pattern) {\n var values = [];\n var i = 0;\n\n while (i < pattern.length) {\n if (pattern[i] === '-') {\n if (i === 0 || i === pattern.length - 1) {\n throw new Error(\"Couldn't parse a one-of set pattern: \".concat(pattern));\n }\n\n var prevValue = pattern[i - 1].charCodeAt(0) + 1;\n var nextValue = pattern[i + 1].charCodeAt(0) - 1;\n var value = prevValue;\n\n while (value <= nextValue) {\n values.push(String.fromCharCode(value));\n value++;\n }\n } else {\n values.push(pattern[i]);\n }\n\n i++;\n }\n\n return values;\n}\n\nvar ILLEGAL_CHARACTER_REGEXP = /[\\(\\)\\[\\]\\?\\:\\|]/;\nvar OPERATOR = new RegExp( // any of:\n'(' + // or operator\n'\\\\|' + // or\n'|' + // or group start\n'\\\\(\\\\?\\\\:' + // or\n'|' + // or group end\n'\\\\)' + // or\n'|' + // one-of set start\n'\\\\[' + // or\n'|' + // one-of set end\n'\\\\]' + ')');\n\nfunction expandSingleElementArray(array) {\n if (array.length === 1) {\n return array[0];\n }\n\n return array;\n}\n\nexport { PatternParser as default };\n//# sourceMappingURL=AsYouTypeFormatter.PatternParser.js.map\n","import PatternParser from './AsYouTypeFormatter.PatternParser.js';\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nvar PatternMatcher = /*#__PURE__*/function () {\n function PatternMatcher(pattern) {\n _classCallCheck(this, PatternMatcher);\n\n this.matchTree = new PatternParser().parse(pattern);\n }\n\n _createClass(PatternMatcher, [{\n key: \"match\",\n value: function match(string) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n allowOverflow = _ref.allowOverflow;\n\n if (!string) {\n throw new Error('String is required');\n }\n\n var result = _match(string.split(''), this.matchTree, true);\n\n if (result && result.match) {\n delete result.matchedChars;\n }\n\n if (result && result.overflow) {\n if (!allowOverflow) {\n return;\n }\n }\n\n return result;\n }\n }]);\n\n return PatternMatcher;\n}();\n\nfunction _match(characters, tree, last) {\n // If `tree` is a string, then `tree` is a single character.\n // That's because when a pattern is parsed, multi-character-string parts\n // of a pattern are compiled into arrays of single characters.\n // I still wrote this piece of code for a \"general\" hypothetical case\n // when `tree` could be a string of several characters, even though\n // such case is not possible with the current implementation.\n if (typeof tree === 'string') {\n var characterString = characters.join('');\n\n if (tree.indexOf(characterString) === 0) {\n // `tree` is always a single character.\n // If `tree.indexOf(characterString) === 0`\n // then `characters.length === tree.length`.\n\n /* istanbul ignore else */\n if (characters.length === tree.length) {\n return {\n match: true,\n matchedChars: characters\n };\n } // `tree` is always a single character.\n // If `tree.indexOf(characterString) === 0`\n // then `characters.length === tree.length`.\n\n /* istanbul ignore next */\n\n\n return {\n partialMatch: true // matchedChars: characters\n\n };\n }\n\n if (characterString.indexOf(tree) === 0) {\n if (last) {\n // The `else` path is not possible because `tree` is always a single character.\n // The `else` case for `characters.length > tree.length` would be\n // `characters.length <= tree.length` which means `characters.length <= 1`.\n // `characters` array can't be empty, so that means `characters === [tree]`,\n // which would also mean `tree.indexOf(characterString) === 0` and that'd mean\n // that the `if (tree.indexOf(characterString) === 0)` condition before this\n // `if` condition would be entered, and returned from there, not reaching this code.\n\n /* istanbul ignore else */\n if (characters.length > tree.length) {\n return {\n overflow: true\n };\n }\n }\n\n return {\n match: true,\n matchedChars: characters.slice(0, tree.length)\n };\n }\n\n return;\n }\n\n if (Array.isArray(tree)) {\n var restCharacters = characters.slice();\n var i = 0;\n\n while (i < tree.length) {\n var subtree = tree[i];\n\n var result = _match(restCharacters, subtree, last && i === tree.length - 1);\n\n if (!result) {\n return;\n } else if (result.overflow) {\n return result;\n } else if (result.match) {\n // Continue with the next subtree with the rest of the characters.\n restCharacters = restCharacters.slice(result.matchedChars.length);\n\n if (restCharacters.length === 0) {\n if (i === tree.length - 1) {\n return {\n match: true,\n matchedChars: characters\n };\n } else {\n return {\n partialMatch: true // matchedChars: characters\n\n };\n }\n }\n } else {\n /* istanbul ignore else */\n if (result.partialMatch) {\n return {\n partialMatch: true // matchedChars: characters\n\n };\n } else {\n throw new Error(\"Unsupported match result:\\n\".concat(JSON.stringify(result, null, 2)));\n }\n }\n\n i++;\n } // If `last` then overflow has already been checked\n // by the last element of the `tree` array.\n\n /* istanbul ignore if */\n\n\n if (last) {\n return {\n overflow: true\n };\n }\n\n return {\n match: true,\n matchedChars: characters.slice(0, characters.length - restCharacters.length)\n };\n }\n\n switch (tree.op) {\n case '|':\n var partialMatch;\n\n for (var _iterator = _createForOfIteratorHelperLoose(tree.args), _step; !(_step = _iterator()).done;) {\n var branch = _step.value;\n\n var _result = _match(characters, branch, last);\n\n if (_result) {\n if (_result.overflow) {\n return _result;\n } else if (_result.match) {\n return {\n match: true,\n matchedChars: _result.matchedChars\n };\n } else {\n /* istanbul ignore else */\n if (_result.partialMatch) {\n partialMatch = true;\n } else {\n throw new Error(\"Unsupported match result:\\n\".concat(JSON.stringify(_result, null, 2)));\n }\n }\n }\n }\n\n if (partialMatch) {\n return {\n partialMatch: true // matchedChars: ...\n\n };\n } // Not even a partial match.\n\n\n return;\n\n case '[]':\n for (var _iterator2 = _createForOfIteratorHelperLoose(tree.args), _step2; !(_step2 = _iterator2()).done;) {\n var _char = _step2.value;\n\n if (characters[0] === _char) {\n if (characters.length === 1) {\n return {\n match: true,\n matchedChars: characters\n };\n }\n\n if (last) {\n return {\n overflow: true\n };\n }\n\n return {\n match: true,\n matchedChars: [_char]\n };\n }\n } // No character matches.\n\n\n return;\n\n /* istanbul ignore next */\n\n default:\n throw new Error(\"Unsupported instruction tree: \".concat(tree));\n }\n}\n\nexport { PatternMatcher as default };\n//# sourceMappingURL=AsYouTypeFormatter.PatternMatcher.js.map\n","import { DIGIT_PLACEHOLDER, cutAndStripNonPairedParens, repeat, populateTemplateWithDigits } from './AsYouTypeFormatter.util.js';\nimport formatCompleteNumber, { canFormatCompleteNumber } from './AsYouTypeFormatter.complete.js';\nimport PatternMatcher from './AsYouTypeFormatter.PatternMatcher.js';\nimport parseDigits from './helpers/parseDigits.js';\nimport { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat.js';\nimport { VALID_PUNCTUATION } from './constants.js';\nimport applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle.js';\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n// Could be any digit, I guess.\n\nvar DUMMY_DIGIT = '9'; // I don't know why is it exactly `15`\n\nvar LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15; // Create a phone number consisting only of the digit 9 that matches the\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\n\nvar LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH); // A set of characters that, if found in a national prefix formatting rules, are an indicator to\n// us that we should separate the national prefix from the number when formatting.\n\nvar NATIONAL_PREFIX_SEPARATORS_PATTERN = /[- ]/; // Deprecated: Google has removed some formatting pattern related code from their repo.\n// An example of a character class is \"[1-4]\".\n\nvar CREATE_CHARACTER_CLASS_PATTERN = function () {\n return /\\[([^\\[\\]])*\\]/g;\n}; // Any digit in a regular expression that actually denotes a digit. For\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\n// (8 and 0) are standalone digits, but the rest are not.\n// Two look-aheads are needed because the number following \\\\d could be a\n// two-digit number, since the phone number can be as long as 15 digits.\n\n\nvar CREATE_STANDALONE_DIGIT_PATTERN = function () {\n return /\\d(?=[^,}][^,}])/g;\n}; // A regular expression that is used to determine if a `format` is\n// suitable to be used in the \"as you type formatter\".\n// A `format` is suitable when the resulting formatted number has\n// the same digits as the user has entered.\n//\n// In the simplest case, that would mean that the format\n// doesn't add any additional digits when formatting a number.\n// Google says that it also shouldn't add \"star\" (`*`) characters,\n// like it does in some Israeli formats.\n// Such basic format would only contain \"valid punctuation\"\n// and \"captured group\" identifiers ($1, $2, etc).\n//\n// An example of a format that adds additional digits:\n//\n// Country: `AR` (Argentina).\n// Format:\n// {\n// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n// \"leading_digits_patterns\": [\"91\"],\n// \"national_prefix_formatting_rule\": \"0$1\",\n// \"format\": \"$2 15-$3-$4\",\n// \"international_format\": \"$1 $2 $3-$4\"\n// }\n//\n// In the format above, the `format` adds `15` to the digits when formatting a number.\n// A sidenote: this format actually is suitable because `national_prefix_for_parsing`\n// has previously removed `15` from a national number, so re-adding `15` in `format`\n// doesn't actually result in any extra digits added to user's input.\n// But verifying that would be a complex procedure, so the code chooses a simpler path:\n// it simply filters out all `format`s that contain anything but \"captured group\" ids.\n//\n// This regular expression is called `ELIGIBLE_FORMAT_PATTERN` in Google's\n// `libphonenumber` code.\n//\n\n\nvar NON_ALTERING_FORMAT_REG_EXP = new RegExp('[' + VALID_PUNCTUATION + ']*' + // Google developers say:\n// \"We require that the first matching group is present in the\n// output pattern to ensure no data is lost while formatting.\"\n'\\\\$1' + '[' + VALID_PUNCTUATION + ']*' + '(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)*' + '$'); // This is the minimum length of the leading digits of a phone number\n// to guarantee the first \"leading digits pattern\" for a phone number format\n// to be preemptive.\n\nvar MIN_LEADING_DIGITS_LENGTH = 3;\n\nvar AsYouTypeFormatter = /*#__PURE__*/function () {\n function AsYouTypeFormatter(_ref) {\n _ref.state;\n var metadata = _ref.metadata;\n\n _classCallCheck(this, AsYouTypeFormatter);\n\n this.metadata = metadata;\n this.resetFormat();\n }\n\n _createClass(AsYouTypeFormatter, [{\n key: \"resetFormat\",\n value: function resetFormat() {\n this.chosenFormat = undefined;\n this.template = undefined;\n this.nationalNumberTemplate = undefined;\n this.populatedNationalNumberTemplate = undefined;\n this.populatedNationalNumberTemplatePosition = -1;\n }\n }, {\n key: \"reset\",\n value: function reset(numberingPlan, state) {\n this.resetFormat();\n\n if (numberingPlan) {\n this.isNANP = numberingPlan.callingCode() === '1';\n this.matchingFormats = numberingPlan.formats();\n\n if (state.nationalSignificantNumber) {\n this.narrowDownMatchingFormats(state);\n }\n } else {\n this.isNANP = undefined;\n this.matchingFormats = [];\n }\n }\n /**\r\n * Formats an updated phone number.\r\n * @param {string} nextDigits — Additional phone number digits.\r\n * @param {object} state — `AsYouType` state.\r\n * @return {[string]} Returns undefined if the updated phone number can't be formatted using any of the available formats.\r\n */\n\n }, {\n key: \"format\",\n value: function format(nextDigits, state) {\n var _this = this;\n\n // See if the phone number digits can be formatted as a complete phone number.\n // If not, use the results from `formatNationalNumberWithNextDigits()`,\n // which formats based on the chosen formatting pattern.\n //\n // Attempting to format complete phone number first is how it's done\n // in Google's `libphonenumber`, so this library just follows it.\n // Google's `libphonenumber` code doesn't explain in detail why does it\n // attempt to format digits as a complete phone number\n // instead of just going with a previoulsy (or newly) chosen `format`:\n //\n // \"Checks to see if there is an exact pattern match for these digits.\n // If so, we should use this instead of any other formatting template\n // whose leadingDigitsPattern also matches the input.\"\n //\n if (canFormatCompleteNumber(state.nationalSignificantNumber, this.metadata)) {\n for (var _iterator = _createForOfIteratorHelperLoose(this.matchingFormats), _step; !(_step = _iterator()).done;) {\n var format = _step.value;\n var formattedCompleteNumber = formatCompleteNumber(state, format, {\n metadata: this.metadata,\n shouldTryNationalPrefixFormattingRule: function shouldTryNationalPrefixFormattingRule(format) {\n return _this.shouldTryNationalPrefixFormattingRule(format, {\n international: state.international,\n nationalPrefix: state.nationalPrefix\n });\n },\n getSeparatorAfterNationalPrefix: function getSeparatorAfterNationalPrefix(format) {\n return _this.getSeparatorAfterNationalPrefix(format);\n }\n });\n\n if (formattedCompleteNumber) {\n this.resetFormat();\n this.chosenFormat = format;\n this.setNationalNumberTemplate(formattedCompleteNumber.replace(/\\d/g, DIGIT_PLACEHOLDER), state);\n this.populatedNationalNumberTemplate = formattedCompleteNumber; // With a new formatting template, the matched position\n // using the old template needs to be reset.\n\n this.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(DIGIT_PLACEHOLDER);\n return formattedCompleteNumber;\n }\n }\n } // Format the digits as a partial (incomplete) phone number\n // using the previously chosen formatting pattern (or a newly chosen one).\n\n\n return this.formatNationalNumberWithNextDigits(nextDigits, state);\n } // Formats the next phone number digits.\n\n }, {\n key: \"formatNationalNumberWithNextDigits\",\n value: function formatNationalNumberWithNextDigits(nextDigits, state) {\n var previouslyChosenFormat = this.chosenFormat; // Choose a format from the list of matching ones.\n\n var newlyChosenFormat = this.chooseFormat(state);\n\n if (newlyChosenFormat) {\n if (newlyChosenFormat === previouslyChosenFormat) {\n // If it can format the next (current) digits\n // using the previously chosen phone number format\n // then return the updated formatted number.\n return this.formatNextNationalNumberDigits(nextDigits);\n } else {\n // If a more appropriate phone number format\n // has been chosen for these \"leading digits\",\n // then re-format the national phone number part\n // using the newly selected format.\n return this.formatNextNationalNumberDigits(state.getNationalDigits());\n }\n }\n }\n }, {\n key: \"narrowDownMatchingFormats\",\n value: function narrowDownMatchingFormats(_ref2) {\n var _this2 = this;\n\n var nationalSignificantNumber = _ref2.nationalSignificantNumber,\n nationalPrefix = _ref2.nationalPrefix,\n international = _ref2.international;\n var leadingDigits = nationalSignificantNumber; // \"leading digits\" pattern list starts with a\n // \"leading digits\" pattern fitting a maximum of 3 leading digits.\n // So, after a user inputs 3 digits of a national (significant) phone number\n // this national (significant) number can already be formatted.\n // The next \"leading digits\" pattern is for 4 leading digits max,\n // and the \"leading digits\" pattern after it is for 5 leading digits max, etc.\n // This implementation is different from Google's\n // in that it searches for a fitting format\n // even if the user has entered less than\n // `MIN_LEADING_DIGITS_LENGTH` digits of a national number.\n // Because some leading digit patterns already match for a single first digit.\n\n var leadingDigitsPatternIndex = leadingDigits.length - MIN_LEADING_DIGITS_LENGTH;\n\n if (leadingDigitsPatternIndex < 0) {\n leadingDigitsPatternIndex = 0;\n }\n\n this.matchingFormats = this.matchingFormats.filter(function (format) {\n return _this2.formatSuits(format, international, nationalPrefix) && _this2.formatMatches(format, leadingDigits, leadingDigitsPatternIndex);\n }); // If there was a phone number format chosen\n // and it no longer holds given the new leading digits then reset it.\n // The test for this `if` condition is marked as:\n // \"Reset a chosen format when it no longer holds given the new leading digits\".\n // To construct a valid test case for this one can find a country\n // in `PhoneNumberMetadata.xml` yielding one format for 3 ``\n // and yielding another format for 4 `` (Australia in this case).\n\n if (this.chosenFormat && this.matchingFormats.indexOf(this.chosenFormat) === -1) {\n this.resetFormat();\n }\n }\n }, {\n key: \"formatSuits\",\n value: function formatSuits(format, international, nationalPrefix) {\n // When a prefix before a national (significant) number is\n // simply a national prefix, then it's parsed as `this.nationalPrefix`.\n // In more complex cases, a prefix before national (significant) number\n // could include a national prefix as well as some \"capturing groups\",\n // and in that case there's no info whether a national prefix has been parsed.\n // If national prefix is not used when formatting a phone number\n // using this format, but a national prefix has been entered by the user,\n // and was extracted, then discard such phone number format.\n // In Google's \"AsYouType\" formatter code, the equivalent would be this part:\n // https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L175-L184\n if (nationalPrefix && !format.usesNationalPrefix() && // !format.domesticCarrierCodeFormattingRule() &&\n !format.nationalPrefixIsOptionalWhenFormattingInNationalFormat()) {\n return false;\n } // If national prefix is mandatory for this phone number format\n // and there're no guarantees that a national prefix is present in user input\n // then discard this phone number format as not suitable.\n // In Google's \"AsYouType\" formatter code, the equivalent would be this part:\n // https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L185-L193\n\n\n if (!international && !nationalPrefix && format.nationalPrefixIsMandatoryWhenFormattingInNationalFormat()) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"formatMatches\",\n value: function formatMatches(format, leadingDigits, leadingDigitsPatternIndex) {\n var leadingDigitsPatternsCount = format.leadingDigitsPatterns().length; // If this format is not restricted to a certain\n // leading digits pattern then it fits.\n // The test case could be found by searching for \"leadingDigitsPatternsCount === 0\".\n\n if (leadingDigitsPatternsCount === 0) {\n return true;\n } // Start narrowing down the list of possible formats based on the leading digits.\n // (only previously matched formats take part in the narrowing down process)\n // `leading_digits_patterns` start with 3 digits min\n // and then go up from there one digit at a time.\n\n\n leadingDigitsPatternIndex = Math.min(leadingDigitsPatternIndex, leadingDigitsPatternsCount - 1);\n var leadingDigitsPattern = format.leadingDigitsPatterns()[leadingDigitsPatternIndex]; // Google imposes a requirement on the leading digits\n // to be minimum 3 digits long in order to be eligible\n // for checking those with a leading digits pattern.\n //\n // Since `leading_digits_patterns` start with 3 digits min,\n // Google's original `libphonenumber` library only starts\n // excluding any non-matching formats only when the\n // national number entered so far is at least 3 digits long,\n // otherwise format matching would give false negatives.\n //\n // For example, when the digits entered so far are `2`\n // and the leading digits pattern is `21` –\n // it's quite obvious in this case that the format could be the one\n // but due to the absence of further digits it would give false negative.\n //\n // Also, `leading_digits_patterns` doesn't always correspond to a single\n // digits count. For example, `60|8` pattern would already match `8`\n // but the `60` part would require having at least two leading digits,\n // so the whole pattern would require inputting two digits first in order to\n // decide on whether it matches the input, even when the input is \"80\".\n //\n // This library — `libphonenumber-js` — allows filtering by `leading_digits_patterns`\n // even when there's only 1 or 2 digits of the national (significant) number.\n // To do that, it uses a non-strict pattern matcher written specifically for that.\n //\n\n if (leadingDigits.length < MIN_LEADING_DIGITS_LENGTH) {\n // Before leading digits < 3 matching was implemented:\n // return true\n //\n // After leading digits < 3 matching was implemented:\n try {\n return new PatternMatcher(leadingDigitsPattern).match(leadingDigits, {\n allowOverflow: true\n }) !== undefined;\n } catch (error)\n /* istanbul ignore next */\n {\n // There's a slight possibility that there could be some undiscovered bug\n // in the pattern matcher code. Since the \"leading digits < 3 matching\"\n // feature is not \"essential\" for operation, it can fall back to the old way\n // in case of any issues rather than halting the application's execution.\n console.error(error);\n return true;\n }\n } // If at least `MIN_LEADING_DIGITS_LENGTH` digits of a national number are\n // available then use the usual regular expression matching.\n //\n // The whole pattern is wrapped in round brackets (`()`) because\n // the pattern can use \"or\" operator (`|`) at the top level of the pattern.\n //\n\n\n return new RegExp(\"^(\".concat(leadingDigitsPattern, \")\")).test(leadingDigits);\n }\n }, {\n key: \"getFormatFormat\",\n value: function getFormatFormat(format, international) {\n return international ? format.internationalFormat() : format.format();\n }\n }, {\n key: \"chooseFormat\",\n value: function chooseFormat(state) {\n var _this3 = this;\n\n var _loop = function _loop() {\n var format = _step2.value;\n\n // If this format is currently being used\n // and is still suitable, then stick to it.\n if (_this3.chosenFormat === format) {\n return \"break\";\n } // Sometimes, a formatting rule inserts additional digits in a phone number,\n // and \"as you type\" formatter can't do that: it should only use the digits\n // that the user has input.\n //\n // For example, in Argentina, there's a format for mobile phone numbers:\n //\n // {\n // \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n // \"leading_digits_patterns\": [\"91\"],\n // \"national_prefix_formatting_rule\": \"0$1\",\n // \"format\": \"$2 15-$3-$4\",\n // \"international_format\": \"$1 $2 $3-$4\"\n // }\n //\n // In that format, `international_format` is used instead of `format`\n // because `format` inserts `15` in the formatted number,\n // and `AsYouType` formatter should only use the digits\n // the user has actually input, without adding any extra digits.\n // In this case, it wouldn't make a difference, because the `15`\n // is first stripped when applying `national_prefix_for_parsing`\n // and then re-added when using `format`, so in reality it doesn't\n // add any new digits to the number, but to detect that, the code\n // would have to be more complex: it would have to try formatting\n // the digits using the format and then see if any digits have\n // actually been added or removed, and then, every time a new digit\n // is input, it should re-check whether the chosen format doesn't\n // alter the digits.\n //\n // Google's code doesn't go that far, and so does this library:\n // it simply requires that a `format` doesn't add any additonal\n // digits to user's input.\n //\n // Also, people in general should move from inputting phone numbers\n // in national format (possibly with national prefixes)\n // and use international phone number format instead:\n // it's a logical thing in the modern age of mobile phones,\n // globalization and the internet.\n //\n\n /* istanbul ignore if */\n\n\n if (!NON_ALTERING_FORMAT_REG_EXP.test(_this3.getFormatFormat(format, state.international))) {\n return \"continue\";\n }\n\n if (!_this3.createTemplateForFormat(format, state)) {\n // Remove the format if it can't generate a template.\n _this3.matchingFormats = _this3.matchingFormats.filter(function (_) {\n return _ !== format;\n });\n return \"continue\";\n }\n\n _this3.chosenFormat = format;\n return \"break\";\n };\n\n // When there are multiple available formats, the formatter uses the first\n // format where a formatting template could be created.\n //\n // For some weird reason, `istanbul` says \"else path not taken\"\n // for the `for of` line below. Supposedly that means that\n // the loop doesn't ever go over the last element in the list.\n // That's true because there always is `this.chosenFormat`\n // when `this.matchingFormats` is non-empty.\n // And, for some weird reason, it doesn't think that the case\n // with empty `this.matchingFormats` qualifies for a valid \"else\" path.\n // So simply muting this `istanbul` warning.\n // It doesn't skip the contents of the `for of` loop,\n // it just skips the `for of` line.\n //\n\n /* istanbul ignore next */\n for (var _iterator2 = _createForOfIteratorHelperLoose(this.matchingFormats.slice()), _step2; !(_step2 = _iterator2()).done;) {\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n if (_ret === \"continue\") continue;\n }\n\n if (!this.chosenFormat) {\n // No format matches the national (significant) phone number.\n this.resetFormat();\n }\n\n return this.chosenFormat;\n }\n }, {\n key: \"createTemplateForFormat\",\n value: function createTemplateForFormat(format, state) {\n // The formatter doesn't format numbers when numberPattern contains '|', e.g.\n // (20|3)\\d{4}. In those cases we quickly return.\n // (Though there's no such format in current metadata)\n\n /* istanbul ignore if */\n if (format.pattern().indexOf('|') >= 0) {\n return;\n } // Get formatting template for this phone number format\n\n\n var template = this.getTemplateForFormat(format, state); // If the national number entered is too long\n // for any phone number format, then abort.\n\n if (template) {\n this.setNationalNumberTemplate(template, state);\n return true;\n }\n }\n }, {\n key: \"getSeparatorAfterNationalPrefix\",\n value: function getSeparatorAfterNationalPrefix(format) {\n // `US` metadata doesn't have a `national_prefix_formatting_rule`,\n // so the `if` condition below doesn't apply to `US`,\n // but in reality there shoudl be a separator\n // between a national prefix and a national (significant) number.\n // So `US` national prefix separator is a \"special\" \"hardcoded\" case.\n if (this.isNANP) {\n return ' ';\n } // If a `format` has a `national_prefix_formatting_rule`\n // and that rule has a separator after a national prefix,\n // then it means that there should be a separator\n // between a national prefix and a national (significant) number.\n\n\n if (format && format.nationalPrefixFormattingRule() && NATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {\n return ' ';\n } // At this point, there seems to be no clear evidence that\n // there should be a separator between a national prefix\n // and a national (significant) number. So don't insert one.\n\n\n return '';\n }\n }, {\n key: \"getInternationalPrefixBeforeCountryCallingCode\",\n value: function getInternationalPrefixBeforeCountryCallingCode(_ref3, options) {\n var IDDPrefix = _ref3.IDDPrefix,\n missingPlus = _ref3.missingPlus;\n\n if (IDDPrefix) {\n return options && options.spacing === false ? IDDPrefix : IDDPrefix + ' ';\n }\n\n if (missingPlus) {\n return '';\n }\n\n return '+';\n }\n }, {\n key: \"getTemplate\",\n value: function getTemplate(state) {\n if (!this.template) {\n return;\n } // `this.template` holds the template for a \"complete\" phone number.\n // The currently entered phone number is most likely not \"complete\",\n // so trim all non-populated digits.\n\n\n var index = -1;\n var i = 0;\n var internationalPrefix = state.international ? this.getInternationalPrefixBeforeCountryCallingCode(state, {\n spacing: false\n }) : '';\n\n while (i < internationalPrefix.length + state.getDigitsWithoutInternationalPrefix().length) {\n index = this.template.indexOf(DIGIT_PLACEHOLDER, index + 1);\n i++;\n }\n\n return cutAndStripNonPairedParens(this.template, index + 1);\n }\n }, {\n key: \"setNationalNumberTemplate\",\n value: function setNationalNumberTemplate(template, state) {\n this.nationalNumberTemplate = template;\n this.populatedNationalNumberTemplate = template; // With a new formatting template, the matched position\n // using the old template needs to be reset.\n\n this.populatedNationalNumberTemplatePosition = -1; // For convenience, the public `.template` property\n // contains the whole international number\n // if the phone number being input is international:\n // 'x' for the '+' sign, 'x'es for the country phone code,\n // a spacebar and then the template for the formatted national number.\n\n if (state.international) {\n this.template = this.getInternationalPrefixBeforeCountryCallingCode(state).replace(/[\\d\\+]/g, DIGIT_PLACEHOLDER) + repeat(DIGIT_PLACEHOLDER, state.callingCode.length) + ' ' + template;\n } else {\n this.template = template;\n }\n }\n /**\r\n * Generates formatting template for a national phone number,\r\n * optionally containing a national prefix, for a format.\r\n * @param {Format} format\r\n * @param {string} nationalPrefix\r\n * @return {string}\r\n */\n\n }, {\n key: \"getTemplateForFormat\",\n value: function getTemplateForFormat(format, _ref4) {\n var nationalSignificantNumber = _ref4.nationalSignificantNumber,\n international = _ref4.international,\n nationalPrefix = _ref4.nationalPrefix,\n complexPrefixBeforeNationalSignificantNumber = _ref4.complexPrefixBeforeNationalSignificantNumber;\n var pattern = format.pattern();\n /* istanbul ignore else */\n\n {\n pattern = pattern // Replace anything in the form of [..] with \\d\n .replace(CREATE_CHARACTER_CLASS_PATTERN(), '\\\\d') // Replace any standalone digit (not the one in `{}`) with \\d\n .replace(CREATE_STANDALONE_DIGIT_PATTERN(), '\\\\d');\n } // Generate a dummy national number (consisting of `9`s)\n // that fits this format's `pattern`.\n //\n // This match will always succeed,\n // because the \"longest dummy phone number\"\n // has enough length to accomodate any possible\n // national phone number format pattern.\n //\n\n\n var digits = LONGEST_DUMMY_PHONE_NUMBER.match(pattern)[0]; // If the national number entered is too long\n // for any phone number format, then abort.\n\n if (nationalSignificantNumber.length > digits.length) {\n return;\n } // Get a formatting template which can be used to efficiently format\n // a partial number where digits are added one by one.\n // Below `strictPattern` is used for the\n // regular expression (with `^` and `$`).\n // This wasn't originally in Google's `libphonenumber`\n // and I guess they don't really need it\n // because they're not using \"templates\" to format phone numbers\n // but I added `strictPattern` after encountering\n // South Korean phone number formatting bug.\n //\n // Non-strict regular expression bug demonstration:\n //\n // this.nationalSignificantNumber : `111111111` (9 digits)\n //\n // pattern : (\\d{2})(\\d{3,4})(\\d{4})\n // format : `$1 $2 $3`\n // digits : `9999999999` (10 digits)\n //\n // '9999999999'.replace(new RegExp(/(\\d{2})(\\d{3,4})(\\d{4})/g), '$1 $2 $3') = \"99 9999 9999\"\n //\n // template : xx xxxx xxxx\n //\n // But the correct template in this case is `xx xxx xxxx`.\n // The template was generated incorrectly because of the\n // `{3,4}` variability in the `pattern`.\n //\n // The fix is, if `this.nationalSignificantNumber` has already sufficient length\n // to satisfy the `pattern` completely then `this.nationalSignificantNumber`\n // is used instead of `digits`.\n\n\n var strictPattern = new RegExp('^' + pattern + '$');\n var nationalNumberDummyDigits = nationalSignificantNumber.replace(/\\d/g, DUMMY_DIGIT); // If `this.nationalSignificantNumber` has already sufficient length\n // to satisfy the `pattern` completely then use it\n // instead of `digits`.\n\n if (strictPattern.test(nationalNumberDummyDigits)) {\n digits = nationalNumberDummyDigits;\n }\n\n var numberFormat = this.getFormatFormat(format, international);\n var nationalPrefixIncludedInTemplate; // If a user did input a national prefix (and that's guaranteed),\n // and if a `format` does have a national prefix formatting rule,\n // then see if that national prefix formatting rule\n // prepends exactly the same national prefix the user has input.\n // If that's the case, then use the `format` with the national prefix formatting rule.\n // Otherwise, use the `format` without the national prefix formatting rule,\n // and prepend a national prefix manually to it.\n\n if (this.shouldTryNationalPrefixFormattingRule(format, {\n international: international,\n nationalPrefix: nationalPrefix\n })) {\n var numberFormatWithNationalPrefix = numberFormat.replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()); // If `national_prefix_formatting_rule` of a `format` simply prepends\n // national prefix at the start of a national (significant) number,\n // then such formatting can be used with `AsYouType` formatter.\n // There seems to be no `else` case: everywhere in metadata,\n // national prefix formatting rule is national prefix + $1,\n // or `($1)`, in which case such format isn't even considered\n // when the user has input a national prefix.\n\n /* istanbul ignore else */\n\n if (parseDigits(format.nationalPrefixFormattingRule()) === (nationalPrefix || '') + parseDigits('$1')) {\n numberFormat = numberFormatWithNationalPrefix;\n nationalPrefixIncludedInTemplate = true; // Replace all digits of the national prefix in the formatting template\n // with `DIGIT_PLACEHOLDER`s.\n\n if (nationalPrefix) {\n var i = nationalPrefix.length;\n\n while (i > 0) {\n numberFormat = numberFormat.replace(/\\d/, DIGIT_PLACEHOLDER);\n i--;\n }\n }\n }\n } // Generate formatting template for this phone number format.\n\n\n var template = digits // Format the dummy phone number according to the format.\n .replace(new RegExp(pattern), numberFormat) // Replace each dummy digit with a DIGIT_PLACEHOLDER.\n .replace(new RegExp(DUMMY_DIGIT, 'g'), DIGIT_PLACEHOLDER); // If a prefix of a national (significant) number is not as simple\n // as just a basic national prefix, then just prepend such prefix\n // before the national (significant) number, optionally spacing\n // the two with a whitespace.\n\n if (!nationalPrefixIncludedInTemplate) {\n if (complexPrefixBeforeNationalSignificantNumber) {\n // Prepend the prefix to the template manually.\n template = repeat(DIGIT_PLACEHOLDER, complexPrefixBeforeNationalSignificantNumber.length) + ' ' + template;\n } else if (nationalPrefix) {\n // Prepend national prefix to the template manually.\n template = repeat(DIGIT_PLACEHOLDER, nationalPrefix.length) + this.getSeparatorAfterNationalPrefix(format) + template;\n }\n }\n\n if (international) {\n template = applyInternationalSeparatorStyle(template);\n }\n\n return template;\n }\n }, {\n key: \"formatNextNationalNumberDigits\",\n value: function formatNextNationalNumberDigits(digits) {\n var result = populateTemplateWithDigits(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition, digits);\n\n if (!result) {\n // Reset the format.\n this.resetFormat();\n return;\n }\n\n this.populatedNationalNumberTemplate = result[0];\n this.populatedNationalNumberTemplatePosition = result[1]; // Return the formatted phone number so far.\n\n return cutAndStripNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1); // The old way which was good for `input-format` but is not so good\n // for `react-phone-number-input`'s default input (`InputBasic`).\n // return closeNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\n // \t.replace(new RegExp(DIGIT_PLACEHOLDER, 'g'), ' ')\n }\n }, {\n key: \"shouldTryNationalPrefixFormattingRule\",\n value: function shouldTryNationalPrefixFormattingRule(format, _ref5) {\n var international = _ref5.international,\n nationalPrefix = _ref5.nationalPrefix;\n\n if (format.nationalPrefixFormattingRule()) {\n // In some countries, `national_prefix_formatting_rule` is `($1)`,\n // so it applies even if the user hasn't input a national prefix.\n // `format.usesNationalPrefix()` detects such cases.\n var usesNationalPrefix = format.usesNationalPrefix();\n\n if (usesNationalPrefix && nationalPrefix || !usesNationalPrefix && !international) {\n return true;\n }\n }\n }\n }]);\n\n return AsYouTypeFormatter;\n}();\n\nexport { DIGIT_PLACEHOLDER, AsYouTypeFormatter as default };\n//# sourceMappingURL=AsYouTypeFormatter.js.map\n","import Metadata from '../metadata.js';\nimport { VALID_DIGITS } from '../constants.js';\n\nvar CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');\nfunction stripIddPrefix(number, country, callingCode, metadata) {\n if (!country) {\n return;\n } // Check if the number is IDD-prefixed.\n\n\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n } // Strip IDD prefix.\n\n\n number = number.slice(number.match(IDDPrefixPattern)[0].length); // If there're any digits after an IDD prefix,\n // then those digits are a country calling code.\n // Since no country code starts with a `0`,\n // the code below validates that the next digit (if present) is not `0`.\n\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === '0') {\n return;\n }\n }\n\n return number;\n}\n\nexport { stripIddPrefix as default };\n//# sourceMappingURL=stripIddPrefix.js.map\n","/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\nfunction extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\n if (number && metadata.numberingPlan.nationalPrefixForParsing()) {\n // See METADATA.md for the description of\n // `national_prefix_for_parsing` and `national_prefix_transform_rule`.\n // Attempt to parse the first digits as a national prefix.\n var prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')');\n var prefixMatch = prefixPattern.exec(number);\n\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode; // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n // If a `national_prefix_for_parsing` has any \"capturing groups\"\n // then it means that the national (significant) number is equal to\n // those \"capturing groups\" transformed via `national_prefix_transform_rule`,\n // and nothing could be said about the actual national prefix:\n // what is it and was it even there.\n // If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\n // then everything it matches is a national prefix.\n // To determine whether `national_prefix_for_parsing` matched any\n // \"capturing groups\", the value of the result of calling `.exec()`\n // is looked at, and if it has non-undefined values where there're\n // \"capturing groups\" in the regular expression, then it means\n // that \"capturing groups\" have been matched.\n // It's not possible to tell whether there'll be any \"capturing gropus\"\n // before the matching process, because a `national_prefix_for_parsing`\n // could exhibit both behaviors.\n\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n\n if (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata.nationalPrefixTransformRule()); // If there's more than one captured group,\n // then carrier code is the second one.\n\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\n }\n } // If there're no \"capturing groups\",\n // or if there're \"capturing groups\" but no\n // `national_prefix_transform_rule`,\n // then just strip the national prefix from the number,\n // and possibly a carrier code.\n // Seems like there could be more.\n else {\n // `prefixBeforeNationalNumber` is the whole substring matched by\n // the `national_prefix_for_parsing` regular expression.\n // There seem to be no guarantees that it's just a national prefix.\n // For example, if there's a carrier code, it's gonna be a\n // part of `prefixBeforeNationalNumber` too.\n var prefixBeforeNationalNumber = prefixMatch[0];\n nationalNumber = number.slice(prefixBeforeNationalNumber.length); // If there's at least one captured group,\n // then carrier code is the first one.\n\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\n }\n } // Tries to guess whether a national prefix was present in the input.\n // This is not something copy-pasted from Google's library:\n // they don't seem to have an equivalent for that.\n // So this isn't an \"officially approved\" way of doing something like that.\n // But since there seems no other existing method, this library uses it.\n\n\n var nationalPrefix;\n\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup); // Example: an Argentinian (AR) phone number `0111523456789`.\n // `prefixMatch[0]` is `01115`, and `$1` is `11`,\n // and the rest of the phone number is `23456789`.\n // The national number is transformed via `9$1` to `91123456789`.\n // National prefix `0` is detected being present at the start.\n // if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\n\n if (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n\n return {\n nationalNumber: nationalNumber,\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode\n };\n }\n }\n\n return {\n nationalNumber: number\n };\n}\n\nexport { extractNationalNumberFromPossiblyIncompleteNumber as default };\n//# sourceMappingURL=extractNationalNumberFromPossiblyIncompleteNumber.js.map\n","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport checkNumberLength from './checkNumberLength.js';\n\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\n\nfunction extractNationalNumber(number, metadata) {\n // Parsing national prefixes and carrier codes\n // is only required for local phone numbers\n // but some people don't understand that\n // and sometimes write international phone numbers\n // with national prefixes (or maybe even carrier codes).\n // http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\n // Google's original library forgives such mistakes\n // and so does this library, because it has been requested:\n // https://github.com/catamphetamine/libphonenumber-js/issues/127\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata),\n carrierCode = _extractNationalNumbe.carrierCode,\n nationalNumber = _extractNationalNumbe.nationalNumber;\n\n if (nationalNumber !== number) {\n if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n } // Check the national (significant) number length after extracting national prefix and carrier code.\n // Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature.\n\n\n if (metadata.possibleLengths()) {\n // The number remaining after stripping the national prefix and carrier code\n // should be long enough to have a possible length for the country.\n // Otherwise, don't strip the national prefix and carrier code,\n // since the original number could be a valid number.\n // This check has been copy-pasted \"as is\" from Google's original library:\n // https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\n // It doesn't check for the \"possibility\" of the original `number`.\n // I guess it's fine not checking that one. It works as is anyway.\n if (!isPossibleIncompleteNationalNumber(nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n }\n }\n }\n\n return {\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n} // In some countries, the same digit could be a national prefix\n// or a leading digit of a valid phone number.\n// For example, in Russia, national prefix is `8`,\n// and also `800 555 35 35` is a valid number\n// in which `8` is not a national prefix, but the first digit\n// of a national (significant) number.\n// Same's with Belarus:\n// `82004910060` is a valid national (significant) number,\n// but `2004910060` is not.\n// To support such cases (to prevent the code from always stripping\n// national prefix), a condition is imposed: a national prefix\n// is not extracted when the original number is \"viable\" and the\n// resultant number is not, a \"viable\" national number being the one\n// that matches `national_number_pattern`.\n\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\n // The equivalent in Google's code is:\n // https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\n if (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\n return false;\n } // This \"is possible\" national number (length) check has been commented out\n // because it's superceded by the (effectively) same check done in the\n // `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\n // In other words, why run the same check twice if it could only be run once.\n // // Check the national (significant) number length after extracting national prefix and carrier code.\n // // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\n // // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\n // if (metadata.possibleLengths()) {\n // \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\n // \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\n // \t\treturn false\n // \t}\n // }\n\n\n return true;\n}\n\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'TOO_SHORT':\n case 'INVALID_LENGTH':\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n return false;\n\n default:\n return true;\n }\n}\n\nexport { extractNationalNumber as default };\n//# sourceMappingURL=extractNationalNumber.js.map\n","import Metadata, { getCountryCallingCode } from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport extractNationalNumber from './extractNationalNumber.js';\nimport checkNumberLength from './checkNumberLength.js';\n\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string?} country\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\n\nfunction extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata) {\n var countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode;\n\n if (number.indexOf(countryCallingCode) === 0) {\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(country, callingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, metadata),\n possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n\n var _extractNationalNumbe2 = extractNationalNumber(number, metadata),\n nationalNumber = _extractNationalNumbe2.nationalNumber; // If the number was not valid before but is valid now,\n // or if it was too long before, we consider the number\n // with the country calling code stripped to be a better result\n // and keep that instead.\n // For example, in Germany (+49), `49` is a valid area code,\n // so if a number starts with `49`, it could be both a valid\n // national German number or an international number without\n // a leading `+`.\n\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern()) || checkNumberLength(nationalNumber, metadata) === 'TOO_LONG') {\n return {\n countryCallingCode: countryCallingCode,\n number: possibleShorterNumber\n };\n }\n }\n\n return {\n number: number\n };\n}\n\nexport { extractCountryCallingCodeFromInternationalNumberWithoutPlusSign as default };\n//# sourceMappingURL=extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map\n","import stripIddPrefix from './stripIddPrefix.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport Metadata from '../metadata.js';\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants.js';\n\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param {string} number — Phone number digits (possibly with a `+`).\r\n * @param {string} [country] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCodeSource: string?, countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\n\nfunction extractCountryCallingCode(number, country, callingCode, metadata) {\n if (!number) {\n return {};\n }\n\n var isNumberWithIddPrefix; // If this is not an international phone number,\n // then either extract an \"IDD\" prefix, or extract a\n // country calling code from a number by autocorrecting it\n // by prepending a leading `+` in cases when it starts\n // with the country calling code.\n // https://wikitravel.org/en/International_dialling_prefix\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n\n if (number[0] !== '+') {\n // Convert an \"out-of-country\" dialing phone number\n // to a proper international phone number.\n var numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata); // If an IDD prefix was stripped then\n // convert the number to international one\n // for subsequent parsing.\n\n if (numberWithoutIDD && numberWithoutIDD !== number) {\n isNumberWithIddPrefix = true;\n number = '+' + numberWithoutIDD;\n } else {\n // Check to see if the number starts with the country calling code\n // for the default country. If so, we remove the country calling code,\n // and do some checks on the validity of the number before and after.\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n if (country || callingCode) {\n var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n shorterNumber = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n return {\n countryCallingCodeSource: 'FROM_NUMBER_WITHOUT_PLUS_SIGN',\n countryCallingCode: countryCallingCode,\n number: shorterNumber\n };\n }\n }\n\n return {\n // No need to set it to `UNSPECIFIED`. It can be just `undefined`.\n // countryCallingCodeSource: 'UNSPECIFIED',\n number: number\n };\n }\n } // Fast abortion: country codes do not begin with a '0'\n\n\n if (number[1] === '0') {\n return {};\n }\n\n metadata = new Metadata(metadata); // The thing with country phone codes\n // is that they are orthogonal to each other\n // i.e. there's no such country phone code A\n // for which country phone code B exists\n // where B starts with A.\n // Therefore, while scanning digits,\n // if a valid country code is found,\n // that means that it is the country code.\n //\n\n var i = 2;\n\n while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n var _countryCallingCode = number.slice(1, i);\n\n if (metadata.hasCallingCode(_countryCallingCode)) {\n metadata.selectNumberingPlan(_countryCallingCode);\n return {\n countryCallingCodeSource: isNumberWithIddPrefix ? 'FROM_NUMBER_WITH_IDD' : 'FROM_NUMBER_WITH_PLUS_SIGN',\n countryCallingCode: _countryCallingCode,\n number: number.slice(i)\n };\n }\n\n i++;\n }\n\n return {};\n} // The possible values for the returned `countryCallingCodeSource` are:\n//\n// Copy-pasted from:\n// https://github.com/google/libphonenumber/blob/master/resources/phonenumber.proto\n//\n// // The source from which the country_code is derived. This is not set in the\n// // general parsing method, but in the method that parses and keeps raw_input.\n// // New fields could be added upon request.\n// enum CountryCodeSource {\n// // Default value returned if this is not set, because the phone number was\n// // created using parse, not parseAndKeepRawInput. hasCountryCodeSource will\n// // return false if this is the case.\n// UNSPECIFIED = 0;\n//\n// // The country_code is derived based on a phone number with a leading \"+\",\n// // e.g. the French number \"+33 1 42 68 53 00\".\n// FROM_NUMBER_WITH_PLUS_SIGN = 1;\n//\n// // The country_code is derived based on a phone number with a leading IDD,\n// // e.g. the French number \"011 33 1 42 68 53 00\", as it is dialled from US.\n// FROM_NUMBER_WITH_IDD = 5;\n//\n// // The country_code is derived based on a phone number without a leading\n// // \"+\", e.g. the French number \"33 1 42 68 53 00\" when defaultCountry is\n// // supplied as France.\n// FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;\n//\n// // The country_code is derived NOT based on the phone number itself, but\n// // from the defaultCountry parameter provided in the parsing function by the\n// // clients. This happens mostly for numbers written in the national format\n// // (without country code). For example, this would be set when parsing the\n// // French number \"01 42 68 53 00\", when defaultCountry is supplied as\n// // France.\n// FROM_DEFAULT_COUNTRY = 20;\n// }\n\nexport { extractCountryCallingCode as default };\n//# sourceMappingURL=extractCountryCallingCode.js.map\n","import extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport parseDigits from './helpers/parseDigits.js';\nimport { VALID_PUNCTUATION, VALID_DIGITS, PLUS_CHARS } from './constants.js';\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nvar VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART = '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+';\nvar VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN = new RegExp('^' + VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART + '$', 'i');\nvar VALID_FORMATTED_PHONE_NUMBER_PART = '(?:' + '[' + PLUS_CHARS + ']' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*' + '|' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + ')';\nvar AFTER_PHONE_NUMBER_DIGITS_END_PATTERN = new RegExp('[^' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + '.*' + '$'); // Tests whether `national_prefix_for_parsing` could match\n// different national prefixes.\n// Matches anything that's not a digit or a square bracket.\n\nvar COMPLEX_NATIONAL_PREFIX = /[^\\d\\[\\]]/;\n\nvar AsYouTypeParser = /*#__PURE__*/function () {\n function AsYouTypeParser(_ref) {\n var defaultCountry = _ref.defaultCountry,\n defaultCallingCode = _ref.defaultCallingCode,\n metadata = _ref.metadata,\n onNationalSignificantNumberChange = _ref.onNationalSignificantNumberChange;\n\n _classCallCheck(this, AsYouTypeParser);\n\n this.defaultCountry = defaultCountry;\n this.defaultCallingCode = defaultCallingCode;\n this.metadata = metadata;\n this.onNationalSignificantNumberChange = onNationalSignificantNumberChange;\n }\n\n _createClass(AsYouTypeParser, [{\n key: \"input\",\n value: function input(text, state) {\n var _extractFormattedDigi = extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi2 = _slicedToArray(_extractFormattedDigi, 2),\n formattedDigits = _extractFormattedDigi2[0],\n hasPlus = _extractFormattedDigi2[1];\n\n var digits = parseDigits(formattedDigits); // Checks for a special case: just a leading `+` has been entered.\n\n var justLeadingPlus;\n\n if (hasPlus) {\n if (!state.digits) {\n state.startInternationalNumber();\n\n if (!digits) {\n justLeadingPlus = true;\n }\n }\n }\n\n if (digits) {\n this.inputDigits(digits, state);\n }\n\n return {\n digits: digits,\n justLeadingPlus: justLeadingPlus\n };\n }\n /**\r\n * Inputs \"next\" phone number digits.\r\n * @param {string} digits\r\n * @return {string} [formattedNumber] Formatted national phone number (if it can be formatted at this stage). Returning `undefined` means \"don't format the national phone number at this stage\".\r\n */\n\n }, {\n key: \"inputDigits\",\n value: function inputDigits(nextDigits, state) {\n var digits = state.digits;\n var hasReceivedThreeLeadingDigits = digits.length < 3 && digits.length + nextDigits.length >= 3; // Append phone number digits.\n\n state.appendDigits(nextDigits); // Attempt to extract IDD prefix:\n // Some users input their phone number in international format,\n // but in an \"out-of-country\" dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers as soon as there're at least 3 digits.\n // Google's library attempts to extract IDD prefix at 3 digits,\n // so this library just copies that behavior.\n // I guess that's because the most commot IDD prefixes are\n // `00` (Europe) and `011` (US).\n // There exist really long IDD prefixes too:\n // for example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n // An IDD prefix is extracted here, and then every time when\n // there's a new digit and the number couldn't be formatted.\n\n if (hasReceivedThreeLeadingDigits) {\n this.extractIddPrefix(state);\n }\n\n if (this.isWaitingForCountryCallingCode(state)) {\n if (!this.extractCountryCallingCode(state)) {\n return;\n }\n } else {\n state.appendNationalSignificantNumberDigits(nextDigits);\n } // If a phone number is being input in international format,\n // then it's not valid for it to have a national prefix.\n // Still, some people incorrectly input such numbers with a national prefix.\n // In such cases, only attempt to strip a national prefix if the number becomes too long.\n // (but that is done later, not here)\n\n\n if (!state.international) {\n if (!this.hasExtractedNationalSignificantNumber) {\n this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {\n return state.update(stateUpdate);\n });\n }\n }\n }\n }, {\n key: \"isWaitingForCountryCallingCode\",\n value: function isWaitingForCountryCallingCode(_ref2) {\n var international = _ref2.international,\n callingCode = _ref2.callingCode;\n return international && !callingCode;\n } // Extracts a country calling code from a number\n // being entered in internatonal format.\n\n }, {\n key: \"extractCountryCallingCode\",\n value: function extractCountryCallingCode$1(state) {\n var _extractCountryCallin = extractCountryCallingCode('+' + state.getDigitsWithoutInternationalPrefix(), this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n state.setCallingCode(countryCallingCode);\n state.update({\n nationalSignificantNumber: number\n });\n return true;\n }\n }\n }, {\n key: \"reset\",\n value: function reset(numberingPlan) {\n if (numberingPlan) {\n this.hasSelectedNumberingPlan = true;\n\n var nationalPrefixForParsing = numberingPlan._nationalPrefixForParsing();\n\n this.couldPossiblyExtractAnotherNationalSignificantNumber = nationalPrefixForParsing && COMPLEX_NATIONAL_PREFIX.test(nationalPrefixForParsing);\n } else {\n this.hasSelectedNumberingPlan = undefined;\n this.couldPossiblyExtractAnotherNationalSignificantNumber = undefined;\n }\n }\n /**\r\n * Extracts a national (significant) number from user input.\r\n * Google's library is different in that it only applies `national_prefix_for_parsing`\r\n * and doesn't apply `national_prefix_transform_rule` after that.\r\n * https://github.com/google/libphonenumber/blob/a3d70b0487875475e6ad659af404943211d26456/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L539\r\n * @return {boolean} [extracted]\r\n */\n\n }, {\n key: \"extractNationalSignificantNumber\",\n value: function extractNationalSignificantNumber(nationalDigits, setState) {\n if (!this.hasSelectedNumberingPlan) {\n return;\n }\n\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe.nationalPrefix,\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode;\n\n if (nationalNumber === nationalDigits) {\n return;\n }\n\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n /**\r\n * In Google's code this function is called \"attempt to extract longer NDD\".\r\n * \"Some national prefixes are a substring of others\", they say.\r\n * @return {boolean} [result] — Returns `true` if extracting a national prefix produced different results from what they were.\r\n */\n\n }, {\n key: \"extractAnotherNationalSignificantNumber\",\n value: function extractAnotherNationalSignificantNumber(nationalDigits, prevNationalSignificantNumber, setState) {\n if (!this.hasExtractedNationalSignificantNumber) {\n return this.extractNationalSignificantNumber(nationalDigits, setState);\n }\n\n if (!this.couldPossiblyExtractAnotherNationalSignificantNumber) {\n return;\n }\n\n var _extractNationalNumbe2 = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe2.nationalPrefix,\n nationalNumber = _extractNationalNumbe2.nationalNumber,\n carrierCode = _extractNationalNumbe2.carrierCode; // If a national prefix has been extracted previously,\n // then it's always extracted as additional digits are added.\n // That's assuming `extractNationalNumberFromPossiblyIncompleteNumber()`\n // doesn't do anything different from what it currently does.\n // So, just in case, here's this check, though it doesn't occur.\n\n /* istanbul ignore if */\n\n\n if (nationalNumber === prevNationalSignificantNumber) {\n return;\n }\n\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n }, {\n key: \"onExtractedNationalNumber\",\n value: function onExtractedNationalNumber(nationalPrefix, carrierCode, nationalSignificantNumber, nationalDigits, setState) {\n var complexPrefixBeforeNationalSignificantNumber;\n var nationalSignificantNumberMatchesInput; // This check also works with empty `this.nationalSignificantNumber`.\n\n var nationalSignificantNumberIndex = nationalDigits.lastIndexOf(nationalSignificantNumber); // If the extracted national (significant) number is the\n // last substring of the `digits`, then it means that it hasn't been altered:\n // no digits have been removed from the national (significant) number\n // while applying `national_prefix_transform_rule`.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n\n if (nationalSignificantNumberIndex >= 0 && nationalSignificantNumberIndex === nationalDigits.length - nationalSignificantNumber.length) {\n nationalSignificantNumberMatchesInput = true; // If a prefix of a national (significant) number is not as simple\n // as just a basic national prefix, then such prefix is stored in\n // `this.complexPrefixBeforeNationalSignificantNumber` property and will be\n // prepended \"as is\" to the national (significant) number to produce\n // a formatted result.\n\n var prefixBeforeNationalNumber = nationalDigits.slice(0, nationalSignificantNumberIndex); // `prefixBeforeNationalNumber` is always non-empty,\n // because `onExtractedNationalNumber()` isn't called\n // when a national (significant) number hasn't been actually \"extracted\":\n // when a national (significant) number is equal to the national part of `digits`,\n // then `onExtractedNationalNumber()` doesn't get called.\n\n if (prefixBeforeNationalNumber !== nationalPrefix) {\n complexPrefixBeforeNationalSignificantNumber = prefixBeforeNationalNumber;\n }\n }\n\n setState({\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode,\n nationalSignificantNumber: nationalSignificantNumber,\n nationalSignificantNumberMatchesInput: nationalSignificantNumberMatchesInput,\n complexPrefixBeforeNationalSignificantNumber: complexPrefixBeforeNationalSignificantNumber\n }); // `onExtractedNationalNumber()` is only called when\n // the national (significant) number actually did change.\n\n this.hasExtractedNationalSignificantNumber = true;\n this.onNationalSignificantNumberChange();\n }\n }, {\n key: \"reExtractNationalSignificantNumber\",\n value: function reExtractNationalSignificantNumber(state) {\n // Attempt to extract a national prefix.\n //\n // Some people incorrectly input national prefix\n // in an international phone number.\n // For example, some people write British phone numbers as `+44(0)...`.\n //\n // Also, in some rare cases, it is valid for a national prefix\n // to be a part of an international phone number.\n // For example, mobile phone numbers in Mexico are supposed to be\n // dialled internationally using a `1` national prefix,\n // so the national prefix will be part of an international number.\n //\n // Quote from:\n // https://www.mexperience.com/dialing-cell-phones-in-mexico/\n //\n // \"Dialing a Mexican cell phone from abroad\n // When you are calling a cell phone number in Mexico from outside Mexico,\n // it’s necessary to dial an additional “1” after Mexico’s country code\n // (which is “52”) and before the area code.\n // You also ignore the 045, and simply dial the area code and the\n // cell phone’s number.\n //\n // If you don’t add the “1”, you’ll receive a recorded announcement\n // asking you to redial using it.\n //\n // For example, if you are calling from the USA to a cell phone\n // in Mexico City, you would dial +52 – 1 – 55 – 1234 5678.\n // (Note that this is different to calling a land line in Mexico City\n // from abroad, where the number dialed would be +52 – 55 – 1234 5678)\".\n //\n // Google's demo output:\n // https://libphonenumber.appspot.com/phonenumberparser?number=%2b5215512345678&country=MX\n //\n if (this.extractAnotherNationalSignificantNumber(state.getNationalDigits(), state.nationalSignificantNumber, function (stateUpdate) {\n return state.update(stateUpdate);\n })) {\n return true;\n } // If no format matches the phone number, then it could be\n // \"a really long IDD\" (quote from a comment in Google's library).\n // An IDD prefix is first extracted when the user has entered at least 3 digits,\n // and then here — every time when there's a new digit and the number\n // couldn't be formatted.\n // For example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n //\n // Could also check `!hasReceivedThreeLeadingDigits` here\n // to filter out the case when this check duplicates the one\n // already performed when there're 3 leading digits,\n // but it's not a big deal, and in most cases there\n // will be a suitable `format` when there're 3 leading digits.\n //\n\n\n if (this.extractIddPrefix(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n } // Google's AsYouType formatter supports sort of an \"autocorrection\" feature\n // when it \"autocorrects\" numbers that have been input for a country\n // with that country's calling code.\n // Such \"autocorrection\" feature looks weird, but different people have been requesting it:\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n // https://github.com/catamphetamine/libphonenumber-js/issues/375\n // https://github.com/catamphetamine/libphonenumber-js/issues/316\n\n\n if (this.fixMissingPlus(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n }\n }\n }, {\n key: \"extractIddPrefix\",\n value: function extractIddPrefix(state) {\n // An IDD prefix can't be present in a number written with a `+`.\n // Also, don't re-extract an IDD prefix if has already been extracted.\n var international = state.international,\n IDDPrefix = state.IDDPrefix,\n digits = state.digits;\n state.nationalSignificantNumber;\n\n if (international || IDDPrefix) {\n return;\n } // Some users input their phone number in \"out-of-country\"\n // dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers.\n\n\n var numberWithoutIDD = stripIddPrefix(digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata);\n\n if (numberWithoutIDD !== undefined && numberWithoutIDD !== digits) {\n // If an IDD prefix was stripped then convert the IDD-prefixed number\n // to international number for subsequent parsing.\n state.update({\n IDDPrefix: digits.slice(0, digits.length - numberWithoutIDD.length)\n });\n this.startInternationalNumber(state, {\n country: undefined,\n callingCode: undefined\n });\n return true;\n }\n }\n }, {\n key: \"fixMissingPlus\",\n value: function fixMissingPlus(state) {\n if (!state.international) {\n var _extractCountryCallin2 = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(state.digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n newCallingCode = _extractCountryCallin2.countryCallingCode;\n _extractCountryCallin2.number;\n\n if (newCallingCode) {\n state.update({\n missingPlus: true\n });\n this.startInternationalNumber(state, {\n country: state.country,\n callingCode: newCallingCode\n });\n return true;\n }\n }\n }\n }, {\n key: \"startInternationalNumber\",\n value: function startInternationalNumber(state, _ref3) {\n var country = _ref3.country,\n callingCode = _ref3.callingCode;\n state.startInternationalNumber(country, callingCode); // If a national (significant) number has been extracted before, reset it.\n\n if (state.nationalSignificantNumber) {\n state.resetNationalSignificantNumber();\n this.onNationalSignificantNumberChange();\n this.hasExtractedNationalSignificantNumber = undefined;\n }\n }\n }, {\n key: \"extractCallingCodeAndNationalSignificantNumber\",\n value: function extractCallingCodeAndNationalSignificantNumber(state) {\n if (this.extractCountryCallingCode(state)) {\n // `this.extractCallingCode()` is currently called when the number\n // couldn't be formatted during the standard procedure.\n // Normally, the national prefix would be re-extracted\n // for an international number if such number couldn't be formatted,\n // but since it's already not able to be formatted,\n // there won't be yet another retry, so also extract national prefix here.\n this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {\n return state.update(stateUpdate);\n });\n }\n }\n }]);\n\n return AsYouTypeParser;\n}();\n\nfunction extractFormattedPhoneNumber(text) {\n // Attempt to extract a possible number from the string passed in.\n var startsAt = text.search(VALID_FORMATTED_PHONE_NUMBER_PART);\n\n if (startsAt < 0) {\n return;\n } // Trim everything to the left of the phone number.\n\n\n text = text.slice(startsAt); // Trim the `+`.\n\n var hasPlus;\n\n if (text[0] === '+') {\n hasPlus = true;\n text = text.slice('+'.length);\n } // Trim everything to the right of the phone number.\n\n\n text = text.replace(AFTER_PHONE_NUMBER_DIGITS_END_PATTERN, ''); // Re-add the previously trimmed `+`.\n\n if (hasPlus) {\n text = '+' + text;\n }\n\n return text;\n}\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\n\n\nfunction _extractFormattedDigitsAndPlus(text) {\n // Extract a formatted phone number part from text.\n var extractedNumber = extractFormattedPhoneNumber(text) || ''; // Trim a `+`.\n\n if (extractedNumber[0] === '+') {\n return [extractedNumber.slice('+'.length), true];\n }\n\n return [extractedNumber];\n}\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\n\n\nfunction extractFormattedDigitsAndPlus(text) {\n var _extractFormattedDigi3 = _extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi4 = _slicedToArray(_extractFormattedDigi3, 2),\n formattedDigits = _extractFormattedDigi4[0],\n hasPlus = _extractFormattedDigi4[1]; // If the extracted phone number part\n // can possibly be a part of some valid phone number\n // then parse phone number characters from a formatted phone number.\n\n\n if (!VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN.test(formattedDigits)) {\n formattedDigits = '';\n }\n\n return [formattedDigits, hasPlus];\n}\n\nexport { AsYouTypeParser as default, extractFormattedDigitsAndPlus };\n//# sourceMappingURL=AsYouTypeParser.js.map\n","import Metadata from '../metadata.js';\nimport getNumberType from './getNumberType.js';\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nfunction getCountryByNationalNumber(nationalPhoneNumber, _ref) {\n var countries = _ref.countries,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n // Re-create `metadata` because it will be selecting a `country`.\n metadata = new Metadata(metadata);\n var matchingCountries = [];\n\n for (var _iterator = _createForOfIteratorHelperLoose(countries), _step; !(_step = _iterator()).done;) {\n var country = _step.value;\n metadata.country(country); // \"Leading digits\" patterns are only defined for about 20% of all countries.\n // By definition, matching \"leading digits\" is a sufficient but not a necessary\n // condition for a phone number to belong to a country.\n // The point of \"leading digits\" check is that it's the fastest one to get a match.\n // https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\n // I'd suppose that \"leading digits\" patterns are mutually exclusive for different countries\n // because of the intended use of that feature.\n\n if (metadata.leadingDigits()) {\n if (nationalPhoneNumber && nationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\n return country;\n }\n } // Else perform full validation with all of those\n // fixed-line/mobile/etc regular expressions.\n else if (getNumberType({\n phone: nationalPhoneNumber,\n country: country\n }, undefined, metadata.metadata)) {\n // If the `defaultCountry` is among the `matchingCountries` then return it.\n if (defaultCountry) {\n if (country === defaultCountry) {\n return country;\n }\n\n matchingCountries.push(country);\n } else {\n return country;\n }\n }\n } // Return the first (\"main\") one of the `matchingCountries`.\n\n\n if (matchingCountries.length > 0) {\n return matchingCountries[0];\n }\n}\n\nexport { getCountryByNationalNumber as default };\n//# sourceMappingURL=getCountryByNationalNumber.js.map\n","import getCountryByNationalNumber from './getCountryByNationalNumber.js';\n\nfunction getCountryByCallingCode(callingCode, _ref) {\n var nationalPhoneNumber = _ref.nationalNumber,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n\n var possibleCountries = metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return;\n } // If there's just one country corresponding to the country code,\n // then just return it, without further phone number digits validation.\n\n\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n\n return getCountryByNationalNumber(nationalPhoneNumber, {\n countries: possibleCountries,\n defaultCountry: defaultCountry,\n metadata: metadata.metadata\n });\n}\n\nexport { getCountryByCallingCode as default };\n//# sourceMappingURL=getCountryByCallingCode.js.map\n","import Metadata from './metadata.js';\nimport PhoneNumber from './PhoneNumber.js';\nimport AsYouTypeState from './AsYouTypeState.js';\nimport AsYouTypeFormatter from './AsYouTypeFormatter.js';\nimport AsYouTypeParser from './AsYouTypeParser.js';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport getCountryByNationalNumber from './helpers/getCountryByNationalNumber.js';\nimport isObject from './helpers/isObject.js';\nimport { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util.js';\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nvar AsYouType = /*#__PURE__*/function () {\n /**\r\n * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.\r\n * @param {Object} metadata\r\n */\n function AsYouType(optionsOrDefaultCountry, metadata) {\n _classCallCheck(this, AsYouType);\n\n this.metadata = new Metadata(metadata);\n\n var _this$getCountryAndCa = this.getCountryAndCallingCode(optionsOrDefaultCountry),\n _this$getCountryAndCa2 = _slicedToArray(_this$getCountryAndCa, 2),\n defaultCountry = _this$getCountryAndCa2[0],\n defaultCallingCode = _this$getCountryAndCa2[1]; // `this.defaultCountry` and `this.defaultCallingCode` aren't required to be in sync.\n // For example, `this.defaultCountry` could be `\"AR\"` and `this.defaultCallingCode` could be `undefined`.\n // So `this.defaultCountry` and `this.defaultCallingCode` are totally independent.\n\n\n this.defaultCountry = defaultCountry;\n this.defaultCallingCode = defaultCallingCode;\n this.reset();\n }\n\n _createClass(AsYouType, [{\n key: \"getCountryAndCallingCode\",\n value: function getCountryAndCallingCode(optionsOrDefaultCountry) {\n // Set `defaultCountry` and `defaultCallingCode` options.\n var defaultCountry;\n var defaultCallingCode; // Turns out `null` also has type \"object\". Weird.\n\n if (optionsOrDefaultCountry) {\n if (isObject(optionsOrDefaultCountry)) {\n defaultCountry = optionsOrDefaultCountry.defaultCountry;\n defaultCallingCode = optionsOrDefaultCountry.defaultCallingCode;\n } else {\n defaultCountry = optionsOrDefaultCountry;\n }\n }\n\n if (defaultCountry && !this.metadata.hasCountry(defaultCountry)) {\n defaultCountry = undefined;\n }\n\n return [defaultCountry, defaultCallingCode];\n }\n /**\r\n * Inputs \"next\" phone number characters.\r\n * @param {string} text\r\n * @return {string} Formatted phone number characters that have been input so far.\r\n */\n\n }, {\n key: \"input\",\n value: function input(text) {\n var _this$parser$input = this.parser.input(text, this.state),\n digits = _this$parser$input.digits,\n justLeadingPlus = _this$parser$input.justLeadingPlus;\n\n if (justLeadingPlus) {\n this.formattedOutput = '+';\n } else if (digits) {\n this.determineTheCountryIfNeeded(); // Match the available formats by the currently available leading digits.\n\n if (this.state.nationalSignificantNumber) {\n this.formatter.narrowDownMatchingFormats(this.state);\n }\n\n var formattedNationalNumber;\n\n if (this.metadata.hasSelectedNumberingPlan()) {\n formattedNationalNumber = this.formatter.format(digits, this.state);\n }\n\n if (formattedNationalNumber === undefined) {\n // See if another national (significant) number could be re-extracted.\n if (this.parser.reExtractNationalSignificantNumber(this.state)) {\n this.determineTheCountryIfNeeded(); // If it could, then re-try formatting the new national (significant) number.\n\n var nationalDigits = this.state.getNationalDigits();\n\n if (nationalDigits) {\n formattedNationalNumber = this.formatter.format(nationalDigits, this.state);\n }\n }\n }\n\n this.formattedOutput = formattedNationalNumber ? this.getFullNumber(formattedNationalNumber) : this.getNonFormattedNumber();\n }\n\n return this.formattedOutput;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var _this = this;\n\n this.state = new AsYouTypeState({\n onCountryChange: function onCountryChange(country) {\n // Before version `1.6.0`, the official `AsYouType` formatter API\n // included the `.country` property of an `AsYouType` instance.\n // Since that property (along with the others) have been moved to\n // `this.state`, `this.country` property is emulated for compatibility\n // with the old versions.\n _this.country = country;\n },\n onCallingCodeChange: function onCallingCodeChange(callingCode, country) {\n _this.metadata.selectNumberingPlan(country, callingCode);\n\n _this.formatter.reset(_this.metadata.numberingPlan, _this.state);\n\n _this.parser.reset(_this.metadata.numberingPlan);\n }\n });\n this.formatter = new AsYouTypeFormatter({\n state: this.state,\n metadata: this.metadata\n });\n this.parser = new AsYouTypeParser({\n defaultCountry: this.defaultCountry,\n defaultCallingCode: this.defaultCallingCode,\n metadata: this.metadata,\n state: this.state,\n onNationalSignificantNumberChange: function onNationalSignificantNumberChange() {\n _this.determineTheCountryIfNeeded();\n\n _this.formatter.reset(_this.metadata.numberingPlan, _this.state);\n }\n });\n this.state.reset({\n country: this.defaultCountry,\n callingCode: this.defaultCallingCode\n });\n this.formattedOutput = '';\n return this;\n }\n /**\r\n * Returns `true` if the phone number is being input in international format.\r\n * In other words, returns `true` if and only if the parsed phone number starts with a `\"+\"`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isInternational\",\n value: function isInternational() {\n return this.state.international;\n }\n /**\r\n * Returns the \"calling code\" part of the phone number when it's being input\r\n * in an international format.\r\n * If no valid calling code has been entered so far, returns `undefined`.\r\n * @return {string} [callingCode]\r\n */\n\n }, {\n key: \"getCallingCode\",\n value: function getCallingCode() {\n // If the number is being input in national format and some \"default calling code\"\n // has been passed to `AsYouType` constructor, then `this.state.callingCode`\n // is equal to that \"default calling code\".\n //\n // If the number is being input in national format and no \"default calling code\"\n // has been passed to `AsYouType` constructor, then returns `undefined`,\n // even if a \"default country\" has been passed to `AsYouType` constructor.\n //\n if (this.isInternational()) {\n return this.state.callingCode;\n }\n } // A legacy alias.\n\n }, {\n key: \"getCountryCallingCode\",\n value: function getCountryCallingCode() {\n return this.getCallingCode();\n }\n /**\r\n * Returns a two-letter country code of the phone number.\r\n * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n * Returns `undefined` if no phone number has been input yet.\r\n * @return {string} [country]\r\n */\n\n }, {\n key: \"getCountry\",\n value: function getCountry() {\n var digits = this.state.digits; // Return `undefined` if no digits have been input yet.\n\n if (digits) {\n return this._getCountry();\n }\n }\n /**\r\n * Returns a two-letter country code of the phone number.\r\n * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n * @return {string} [country]\r\n */\n\n }, {\n key: \"_getCountry\",\n value: function _getCountry() {\n var country = this.state.country;\n\n return country;\n }\n }, {\n key: \"determineTheCountryIfNeeded\",\n value: function determineTheCountryIfNeeded() {\n // Suppose a user enters a phone number in international format,\n // and there're several countries corresponding to that country calling code,\n // and a country has been derived from the number, and then\n // a user enters one more digit and the number is no longer\n // valid for the derived country, so the country should be re-derived\n // on every new digit in those cases.\n //\n // If the phone number is being input in national format,\n // then it could be a case when `defaultCountry` wasn't specified\n // when creating `AsYouType` instance, and just `defaultCallingCode` was specified,\n // and that \"calling code\" could correspond to a \"non-geographic entity\",\n // or there could be several countries corresponding to that country calling code.\n // In those cases, `this.country` is `undefined` and should be derived\n // from the number. Again, if country calling code is ambiguous, then\n // `this.country` should be re-derived with each new digit.\n //\n if (!this.state.country || this.isCountryCallingCodeAmbiguous()) {\n this.determineTheCountry();\n }\n } // Prepends `+CountryCode ` in case of an international phone number\n\n }, {\n key: \"getFullNumber\",\n value: function getFullNumber(formattedNationalNumber) {\n var _this2 = this;\n\n if (this.isInternational()) {\n var prefix = function prefix(text) {\n return _this2.formatter.getInternationalPrefixBeforeCountryCallingCode(_this2.state, {\n spacing: text ? true : false\n }) + text;\n };\n\n var callingCode = this.state.callingCode;\n\n if (!callingCode) {\n return prefix(\"\".concat(this.state.getDigitsWithoutInternationalPrefix()));\n }\n\n if (!formattedNationalNumber) {\n return prefix(callingCode);\n }\n\n return prefix(\"\".concat(callingCode, \" \").concat(formattedNationalNumber));\n }\n\n return formattedNationalNumber;\n }\n }, {\n key: \"getNonFormattedNationalNumberWithPrefix\",\n value: function getNonFormattedNationalNumberWithPrefix() {\n var _this$state = this.state,\n nationalSignificantNumber = _this$state.nationalSignificantNumber,\n complexPrefixBeforeNationalSignificantNumber = _this$state.complexPrefixBeforeNationalSignificantNumber,\n nationalPrefix = _this$state.nationalPrefix;\n var number = nationalSignificantNumber;\n var prefix = complexPrefixBeforeNationalSignificantNumber || nationalPrefix;\n\n if (prefix) {\n number = prefix + number;\n }\n\n return number;\n }\n }, {\n key: \"getNonFormattedNumber\",\n value: function getNonFormattedNumber() {\n var nationalSignificantNumberMatchesInput = this.state.nationalSignificantNumberMatchesInput;\n return this.getFullNumber(nationalSignificantNumberMatchesInput ? this.getNonFormattedNationalNumberWithPrefix() : this.state.getNationalDigits());\n }\n }, {\n key: \"getNonFormattedTemplate\",\n value: function getNonFormattedTemplate() {\n var number = this.getNonFormattedNumber();\n\n if (number) {\n return number.replace(/[\\+\\d]/g, DIGIT_PLACEHOLDER);\n }\n }\n }, {\n key: \"isCountryCallingCodeAmbiguous\",\n value: function isCountryCallingCodeAmbiguous() {\n var callingCode = this.state.callingCode;\n var countryCodes = this.metadata.getCountryCodesForCallingCode(callingCode);\n return countryCodes && countryCodes.length > 1;\n } // Determines the country of the phone number\n // entered so far based on the country phone code\n // and the national phone number.\n\n }, {\n key: \"determineTheCountry\",\n value: function determineTheCountry() {\n this.state.setCountry(getCountryByCallingCode(this.isInternational() ? this.state.callingCode : this.defaultCallingCode, {\n nationalNumber: this.state.nationalSignificantNumber,\n defaultCountry: this.defaultCountry,\n metadata: this.metadata\n }));\n }\n /**\r\n * Returns a E.164 phone number value for the user's input.\r\n *\r\n * For example, for country `\"US\"` and input `\"(222) 333-4444\"`\r\n * it will return `\"+12223334444\"`.\r\n *\r\n * For international phone number input, it will also auto-correct\r\n * some minor errors such as using a national prefix when writing\r\n * an international phone number. For example, if the user inputs\r\n * `\"+44 0 7400 000000\"` then it will return an auto-corrected\r\n * `\"+447400000000\"` phone number value.\r\n *\r\n * Will return `undefined` if no digits have been input,\r\n * or when inputting a phone number in national format and no\r\n * default country or default \"country calling code\" have been set.\r\n *\r\n * @return {string} [value]\r\n */\n\n }, {\n key: \"getNumberValue\",\n value: function getNumberValue() {\n var _this$state2 = this.state,\n digits = _this$state2.digits,\n callingCode = _this$state2.callingCode,\n country = _this$state2.country,\n nationalSignificantNumber = _this$state2.nationalSignificantNumber; // Will return `undefined` if no digits have been input.\n\n if (!digits) {\n return;\n }\n\n if (this.isInternational()) {\n if (callingCode) {\n return '+' + callingCode + nationalSignificantNumber;\n } else {\n return '+' + digits;\n }\n } else {\n if (country || callingCode) {\n var callingCode_ = country ? this.metadata.countryCallingCode() : callingCode;\n return '+' + callingCode_ + nationalSignificantNumber;\n }\n }\n }\n /**\r\n * Returns an instance of `PhoneNumber` class.\r\n * Will return `undefined` if no national (significant) number\r\n * digits have been entered so far, or if no `defaultCountry` has been\r\n * set and the user enters a phone number not in international format.\r\n */\n\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var _this$state3 = this.state,\n nationalSignificantNumber = _this$state3.nationalSignificantNumber,\n carrierCode = _this$state3.carrierCode,\n callingCode = _this$state3.callingCode; // `this._getCountry()` is basically same as `this.state.country`\n // with the only change that it return `undefined` in case of a\n // \"non-geographic\" numbering plan instead of `\"001\"` \"internal use\" value.\n\n var country = this._getCountry();\n\n if (!nationalSignificantNumber) {\n return;\n } // `state.country` and `state.callingCode` aren't required to be in sync.\n // For example, `country` could be `\"AR\"` and `callingCode` could be `undefined`.\n // So `country` and `callingCode` are totally independent.\n\n\n if (!country && !callingCode) {\n return;\n } // By default, if `defaultCountry` parameter was passed when\n // creating `AsYouType` instance, `state.country` is gonna be\n // that `defaultCountry`, which doesn't entirely conform with\n // `parsePhoneNumber()`'s behavior where it attempts to determine\n // the country more precisely in cases when multiple countries\n // could correspond to the same `countryCallingCode`.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/103#note_1417192969\n //\n // Because `AsYouType.getNumber()` method is supposed to be a 1:1\n // equivalent for `parsePhoneNumber(AsYouType.getNumberValue())`,\n // then it should also behave accordingly in cases of `country` ambiguity.\n // That's how users of this library would expect it to behave anyway.\n //\n\n\n if (country) {\n if (country === this.defaultCountry) {\n // `state.country` and `state.callingCode` aren't required to be in sync.\n // For example, `state.country` could be `\"AR\"` and `state.callingCode` could be `undefined`.\n // So `state.country` and `state.callingCode` are totally independent.\n var metadata = new Metadata(this.metadata.metadata);\n metadata.selectNumberingPlan(country);\n\n var _callingCode = metadata.numberingPlan.callingCode();\n\n var ambiguousCountries = this.metadata.getCountryCodesForCallingCode(_callingCode);\n\n if (ambiguousCountries.length > 1) {\n var exactCountry = getCountryByNationalNumber(nationalSignificantNumber, {\n countries: ambiguousCountries,\n defaultCountry: this.defaultCountry,\n metadata: this.metadata.metadata\n });\n\n if (exactCountry) {\n country = exactCountry;\n }\n }\n }\n }\n\n var phoneNumber = new PhoneNumber(country || callingCode, nationalSignificantNumber, this.metadata.metadata);\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n } // Phone number extensions are not supported by \"As You Type\" formatter.\n\n\n return phoneNumber;\n }\n /**\r\n * Returns `true` if the phone number is \"possible\".\r\n * Is just a shortcut for `PhoneNumber.isPossible()`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n var phoneNumber = this.getNumber();\n\n if (!phoneNumber) {\n return false;\n }\n\n return phoneNumber.isPossible();\n }\n /**\r\n * Returns `true` if the phone number is \"valid\".\r\n * Is just a shortcut for `PhoneNumber.isValid()`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isValid\",\n value: function isValid() {\n var phoneNumber = this.getNumber();\n\n if (!phoneNumber) {\n return false;\n }\n\n return phoneNumber.isValid();\n }\n /**\r\n * @deprecated\r\n * This method is used in `react-phone-number-input/source/input-control.js`\r\n * in versions before `3.0.16`.\r\n */\n\n }, {\n key: \"getNationalNumber\",\n value: function getNationalNumber() {\n return this.state.nationalSignificantNumber;\n }\n /**\r\n * Returns the phone number characters entered by the user.\r\n * @return {string}\r\n */\n\n }, {\n key: \"getChars\",\n value: function getChars() {\n return (this.state.international ? '+' : '') + this.state.digits;\n }\n /**\r\n * Returns the template for the formatted phone number.\r\n * @return {string}\r\n */\n\n }, {\n key: \"getTemplate\",\n value: function getTemplate() {\n return this.formatter.getTemplate(this.state) || this.getNonFormattedTemplate() || '';\n }\n }]);\n\n return AsYouType;\n}();\n\nexport { AsYouType as default };\n//# sourceMappingURL=AsYouType.js.map\n","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// Counts all occurences of a symbol in a string\nfunction count_occurences(symbol, string) {\n var count = 0; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes)\n // but template placeholder characters don't fall into that range\n // so skipping such miscellaneous \"exotic\" characters\n // won't matter here for just counting placeholder character occurrences.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n\n if (character === symbol) {\n count++;\n }\n }\n\n return count;\n}\n\nexport { count_occurences };\n//# sourceMappingURL=helpers.js.map\n","import { count_occurences } from './helpers.js';\nimport closeBraces from './closeBraces.js';\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n// are denoted by 'x'es (e.g. 'x (xxx) xxx-xx-xx').\n//\n// Returns a function which takes `value` characters\n// and returns the `template` filled with those characters.\n// If the `template` can only be partially filled\n// then it is cut off.\n//\n// If `should_close_braces` is `true`,\n// then it will also make sure all dangling braces are closed,\n// e.g. \"8 (8\" -> \"8 (8 )\" (iPhone style phone number input).\n//\n\nfunction template_formatter (template) {\n var placeholder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'x';\n var should_close_braces = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!template) {\n return function (value) {\n return {\n text: value\n };\n };\n }\n\n var characters_in_template = count_occurences(placeholder, template);\n return function (value) {\n if (!value) {\n return {\n text: '',\n template: template\n };\n }\n\n var value_character_index = 0;\n var filled_in_template = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes)\n // but template placeholder characters don't fall into that range\n // and appending UTF-8 characters to a string in parts still works.\n\n for (var _iterator = _createForOfIteratorHelperLoose(template.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n\n if (character !== placeholder) {\n filled_in_template += character;\n continue;\n }\n\n filled_in_template += value[value_character_index];\n value_character_index++; // If the last available value character has been filled in,\n // then return the filled in template\n // (either trim the right part or retain it,\n // if no more character placeholders in there)\n\n if (value_character_index === value.length) {\n // If there are more character placeholders\n // in the right part of the template\n // then simply trim it.\n if (value.length < characters_in_template) {\n break;\n }\n }\n }\n\n if (should_close_braces) {\n filled_in_template = closeBraces(filled_in_template, template);\n }\n\n return {\n text: filled_in_template,\n template: template\n };\n };\n}\n\nexport { template_formatter as default };\n//# sourceMappingURL=templateFormatter.js.map\n","import { count_occurences } from './helpers.js';\n\nfunction closeBraces(retained_template, template) {\n var placeholder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'x';\n var empty_placeholder = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ' ';\n var cut_before = retained_template.length;\n var opening_braces = count_occurences('(', retained_template);\n var closing_braces = count_occurences(')', retained_template);\n var dangling_braces = opening_braces - closing_braces;\n\n while (dangling_braces > 0 && cut_before < template.length) {\n retained_template += template[cut_before].replace(placeholder, empty_placeholder);\n\n if (template[cut_before] === ')') {\n dangling_braces--;\n }\n\n cut_before++;\n }\n\n return retained_template;\n}\n\nexport { closeBraces as default };\n//# sourceMappingURL=closeBraces.js.map\n","function isReadOnly(element) {\n return element.hasAttribute('readonly');\n} // Gets selection bounds\n\nfunction getSelection(element) {\n // If no selection, return nothing\n if (element.selectionStart === element.selectionEnd) {\n return;\n }\n\n return {\n start: element.selectionStart,\n end: element.selectionEnd\n };\n} // Key codes\n\nvar Keys = {\n Backspace: 8,\n Delete: 46\n}; // Finds out the operation to be intercepted and performed\n// based on the key down event `keyCode`.\n\nfunction getOperation(event) {\n switch (event.keyCode) {\n case Keys.Backspace:\n return 'Backspace';\n\n case Keys.Delete:\n return 'Delete';\n }\n} // Gets caret position\n\nfunction getCaretPosition(element) {\n return element.selectionStart;\n} // Sets caret position\n\nfunction setCaretPosition(element, caret_position) {\n // Sanity check\n if (caret_position === undefined) {\n return;\n } // Set caret position.\n // There has been an issue with caret positioning on Android devices.\n // https://github.com/catamphetamine/input-format/issues/2\n // I was revisiting this issue and looked for similar issues in other libraries.\n // For example, there's [`text-mask`](https://github.com/text-mask/text-mask) library.\n // They've had exactly the same issue when the caret seemingly refused to be repositioned programmatically.\n // The symptoms were the same: whenever the caret passed through a non-digit character of a mask (a whitespace, a bracket, a dash, etc), it looked as if it placed itself one character before its correct position.\n // https://github.com/text-mask/text-mask/issues/300\n // They seem to have found a basic fix for it: calling `input.setSelectionRange()` in a timeout rather than instantly for Android devices.\n // https://github.com/text-mask/text-mask/pull/400/files\n // I've implemented the same workaround here.\n\n\n if (isAndroid()) {\n setTimeout(function () {\n return element.setSelectionRange(caret_position, caret_position);\n }, 0);\n } else {\n element.setSelectionRange(caret_position, caret_position);\n }\n}\n\nfunction isAndroid() {\n // `navigator` is not defined when running mocha tests.\n if (typeof navigator !== 'undefined') {\n return ANDROID_USER_AGENT_REG_EXP.test(navigator.userAgent);\n }\n}\n\nvar ANDROID_USER_AGENT_REG_EXP = /Android/i;\n\nexport { Keys, getCaretPosition, getOperation, getSelection, isReadOnly, setCaretPosition };\n//# sourceMappingURL=dom.js.map\n","import edit from './edit.js';\nimport parse from './parse.js';\nimport format from './format.js';\nimport { isReadOnly, getOperation, getSelection, setCaretPosition, getCaretPosition } from './dom.js';\n\nfunction onChange(event, input, _parse, _format, on_change) {\n formatInputText(input, _parse, _format, undefined, on_change);\n} // \"Delete\" and \"Backspace\" keys are special\n// in a way that they're not handled by the regular `onChange()` handler\n// and instead are intercepted and re-applied manually.\n// The reason is that normally hitting \"Backspace\" or \"Delete\"\n// results in erasing a character, but that character might be any character,\n// while it would be a better \"user experience\" if it erased not just any character\n// but the closest \"meaningful\" character.\n// For example, if a template is `(xxx) xxx-xxxx`,\n// and the `` value is `(111) 222-3333`,\n// then, if a user begins erasing the `3333` part via \"Backspace\"\n// and reaches the \"-\" character, then it would just erase the \"-\" character.\n// Nothing wrong with that, but it would be a better \"user experience\"\n// if hitting \"Backspace\" at that position would erase the closest \"meaningful\"\n// character, which would be the rightmost `2`.\n// So, what this `onKeyDown()` handler does is it intercepts\n// \"Backspace\" and \"Delete\" keys and re-applies those operations manually\n// following the logic described above.\n\nfunction onKeyDown(event, input, _parse, _format, on_change) {\n if (isReadOnly(input)) {\n return;\n }\n\n var operation = getOperation(event);\n\n switch (operation) {\n case 'Delete':\n case 'Backspace':\n // Intercept this operation and perform it manually.\n event.preventDefault();\n var selection = getSelection(input); // If a selection is made, just erase the selected text.\n\n if (selection) {\n eraseSelection(input, selection);\n return formatInputText(input, _parse, _format, undefined, on_change);\n } // Else, perform the (character erasing) operation manually.\n\n\n return formatInputText(input, _parse, _format, operation, on_change);\n\n }\n}\n/**\r\n * Erases the selected text inside an ``.\r\n * @param {DOMElement} input\r\n * @param {Selection} selection\r\n */\n\nfunction eraseSelection(input, selection) {\n var text = input.value;\n text = text.slice(0, selection.start) + text.slice(selection.end);\n input.value = text;\n setCaretPosition(input, selection.start);\n}\n/**\r\n * Parses and re-formats `` textual value.\r\n * E.g. when a user enters something into the ``\r\n * that raw input must first be parsed and the re-formatted properly.\r\n * Is called either after some user input (e.g. entered a character, pasted something)\r\n * or after the user performed an `operation` (e.g. \"Backspace\", \"Delete\").\r\n * @param {DOMElement} input\r\n * @param {Function} parse\r\n * @param {Function} format\r\n * @param {string} [operation] - The operation that triggered `` textual value change. E.g. \"Backspace\", \"Delete\".\r\n * @param {Function} onChange\r\n */\n\n\nfunction formatInputText(input, _parse, _format, operation, on_change) {\n // Parse `` textual value.\n // Get the `value` and `caret` position.\n var _parse2 = parse(input.value, getCaretPosition(input), _parse),\n value = _parse2.value,\n caret = _parse2.caret; // If a user performed an operation (\"Backspace\", \"Delete\")\n // then apply that operation and get the new `value` and `caret` position.\n\n\n if (operation) {\n var newValueAndCaret = edit(value, caret, operation);\n value = newValueAndCaret.value;\n caret = newValueAndCaret.caret;\n } // Format the `value`.\n // (and reposition the caret accordingly)\n\n\n var formatted = format(value, caret, _format);\n var text = formatted.text;\n caret = formatted.caret; // Set `` textual value manually\n // to prevent React from resetting the caret position\n // later inside a subsequent `render()`.\n // Doesn't work for custom `inputComponent`s for some reason.\n\n input.value = text; // Position the caret properly.\n\n setCaretPosition(input, caret); // If the `` textual value did change,\n // then the parsed `value` may have changed too.\n\n on_change(value);\n}\n\nexport { onChange, onKeyDown };\n//# sourceMappingURL=inputControl.js.map\n","// Parses the `text`.\n//\n// Returns `{ value, caret }` where `caret` is\n// the caret position inside `value`\n// corresponding to the `caret_position` inside `text`.\n//\n// The `text` is parsed by feeding each character sequentially to\n// `parse_character(character, value, context)` function\n// and appending the result (if it's not `undefined`) to `value`.\n//\n// `context` argument is just a utility empty object that is shared within the bounds\n// of parsing a single input string. The `_parse()` function could use that object\n// to store any kind of \"flags\" in it in order to alter its behavior based when\n// parsing next characters within the same string. Or it could completely ignore it.\n//\n// Example:\n//\n// `text` is `8 (800) 555-35-35`,\n// `caret_position` is `4` (before the first `0`).\n// `parse_character` is `(character, value) =>\n// if (character >= '0' && character <= '9') { return character }`.\n//\n// then `parse()` outputs `{ value: '88005553535', caret: 2 }`.\n//\nfunction parse(text, caret_position, parse_character) {\n var context = {};\n var value = '';\n var focused_input_character_index = 0;\n var index = 0;\n\n while (index < text.length) {\n var character = parse_character(text[index], value, context);\n\n if (character !== undefined) {\n value += character;\n\n if (caret_position !== undefined) {\n if (caret_position === index) {\n focused_input_character_index = value.length - 1;\n } else if (caret_position > index) {\n focused_input_character_index = value.length;\n }\n }\n }\n\n index++;\n } // If caret position wasn't specified\n\n\n if (caret_position === undefined) {\n // Then set caret position to \"after the last input character\"\n focused_input_character_index = value.length;\n }\n\n var result = {\n value: value,\n caret: focused_input_character_index\n };\n return result;\n}\n\nexport { parse as default };\n//# sourceMappingURL=parse.js.map\n","// Edits text `value` (if `operation` is passed) and repositions the `caret` if needed.\n//\n// Example:\n//\n// value - '88005553535'\n// caret - 2 // starting from 0; is positioned before the first zero\n// operation - 'Backspace'\n//\n// Returns\n// {\n// \tvalue: '8005553535'\n// \tcaret: 1\n// }\n//\n// Currently supports just 'Delete' and 'Backspace' operations\n//\nfunction edit(value, caret, operation) {\n switch (operation) {\n case 'Backspace':\n // If there exists the previous character,\n // then erase it and reposition the caret.\n if (caret > 0) {\n // Remove the previous character\n value = value.slice(0, caret - 1) + value.slice(caret); // Position the caret where the previous (erased) character was\n\n caret--;\n }\n\n break;\n\n case 'Delete':\n // Remove current digit (if any)\n value = value.slice(0, caret) + value.slice(caret + 1);\n break;\n }\n\n return {\n value: value,\n caret: caret\n };\n}\n\nexport { edit as default };\n//# sourceMappingURL=edit.js.map\n","import template_formatter from './templateFormatter.js';\n\n//\n// `{ value, caret }` attribute is the result of `parse()` function call.\n//\n// Returns `{ text, caret }` where the new `caret` is the caret position\n// inside `text` text corresponding to the original `caret` position inside `value`.\n//\n// `formatter(value)` is a function returning `{ text, template }`.\n//\n// `text` is the `value` value formatted using `template`.\n// It may either cut off the non-filled right part of the `template`\n// or it may fill the non-filled character placeholders\n// in the right part of the `template` with `spacer`\n// which is a space (' ') character by default.\n//\n// `template` is the template used to format the `value`.\n// It can be either a full-length template or a partial template.\n//\n// `formatter` can also be a string — a `template`\n// where character placeholders are denoted by 'x'es.\n// In this case `formatter` function is automatically created.\n//\n// Example:\n//\n// `value` is '880',\n// `caret` is `2` (before the first `0`)\n//\n// `formatter` is `'880' =>\n// { text: '8 (80 )', template: 'x (xxx) xxx-xx-xx' }`\n//\n// The result is `{ text: '8 (80 )', caret: 4 }`.\n//\n\nfunction format(value, caret, formatter) {\n if (typeof formatter === 'string') {\n formatter = template_formatter(formatter);\n }\n\n var _ref = formatter(value) || {},\n text = _ref.text,\n template = _ref.template;\n\n if (text === undefined) {\n text = value;\n }\n\n if (template) {\n if (caret === undefined) {\n caret = text.length;\n } else {\n var index = 0;\n var found = false;\n var possibly_last_input_character_index = -1;\n\n while (index < text.length && index < template.length) {\n // Character placeholder found\n if (text[index] !== template[index]) {\n if (caret === 0) {\n found = true;\n caret = index;\n break;\n }\n\n possibly_last_input_character_index = index;\n caret--;\n }\n\n index++;\n } // If the caret was positioned after last input character,\n // then the text caret index is just after the last input character.\n\n\n if (!found) {\n caret = possibly_last_input_character_index + 1;\n }\n }\n }\n\n return {\n text: text,\n caret: caret\n };\n}\n\nexport { format as default };\n//# sourceMappingURL=format.js.map\n","import React__default, { useRef, useCallback } from 'react';\nimport PropTypes from '../../../../../prop-types@15.8.1/node_modules/prop-types/index.js';\nimport { onChange, onKeyDown } from '../inputControl.js';\n\nvar _excluded = [\"value\", \"parse\", \"format\", \"inputComponent\", \"onChange\", \"onKeyDown\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n//\n// this.setState({ phone })}\n// \tparse={character => character}\n// \tformat={value => ({ text: value, template: 'xxxxxxxx' })}/>\n//\n\nfunction Input(_ref, ref) {\n var value = _ref.value,\n parse = _ref.parse,\n format = _ref.format,\n InputComponent = _ref.inputComponent,\n onChange$1 = _ref.onChange,\n onKeyDown$1 = _ref.onKeyDown,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var internalRef = useRef();\n var setRef = useCallback(function (instance) {\n internalRef.current = instance;\n\n if (ref) {\n if (typeof ref === 'function') {\n ref(instance);\n } else {\n ref.current = instance;\n }\n }\n }, [ref]);\n\n var _onChange = useCallback(function (event) {\n return onChange(event, internalRef.current, parse, format, onChange$1);\n }, [internalRef, parse, format, onChange$1]);\n\n var _onKeyDown = useCallback(function (event) {\n if (onKeyDown$1) {\n onKeyDown$1(event);\n } // If `onKeyDown()` handler above has called `event.preventDefault()`\n // then ignore this `keydown` event.\n\n\n if (event.defaultPrevented) {\n return;\n }\n\n return onKeyDown(event, internalRef.current, parse, format, onChange$1);\n }, [internalRef, parse, format, onChange$1, onKeyDown$1]);\n\n return /*#__PURE__*/React__default.createElement(InputComponent, _extends({}, rest, {\n ref: setRef,\n value: format(isEmptyValue(value) ? '' : value).text,\n onKeyDown: _onKeyDown,\n onChange: _onChange\n }));\n}\n\nInput = /*#__PURE__*/React__default.forwardRef(Input);\nInput.propTypes = {\n // Parses a single characher of `` text.\n parse: PropTypes.func.isRequired,\n // Formats `value` into `` text.\n format: PropTypes.func.isRequired,\n // Renders `` by default.\n inputComponent: PropTypes.elementType.isRequired,\n // `` `type` attribute.\n type: PropTypes.string.isRequired,\n // Is parsed from text.\n value: PropTypes.string,\n // This handler is called each time `` text is changed.\n onChange: PropTypes.func.isRequired,\n // Passthrough\n onKeyDown: PropTypes.func,\n onCut: PropTypes.func,\n onPaste: PropTypes.func\n};\nInput.defaultProps = {\n // Renders `` by default.\n inputComponent: 'input',\n // `` `type` attribute.\n type: 'text'\n};\n\nfunction isEmptyValue(value) {\n return value === undefined || value === null;\n}\n\nexport { Input as default };\n//# sourceMappingURL=Input.js.map\n","import React__default, { useCallback } from 'react';\nimport PropTypes from '../../../../prop-types@15.8.1/node_modules/prop-types/index.js';\nimport { getInputValuePrefix, removeInputValuePrefix } from './helpers/inputValuePrefix.js';\nimport parsePhoneNumberCharacter_ from './helpers/parsePhoneNumberCharacter.js';\nimport useInputKeyDownHandler from './useInputKeyDownHandler.js';\nimport AsYouType from '../../../../libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/AsYouType.js';\nimport Input from '../../../../input-format@0.3.10/node_modules/input-format/modules/react/Input.js';\n\nvar _excluded = [\"onKeyDown\", \"country\", \"international\", \"withCountryCallingCode\", \"metadata\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction createInput(defaultMetadata) {\n /**\r\n * `InputSmart` is a \"smarter\" implementation of a `Component`\r\n * that can be passed to ``. It parses and formats\r\n * the user's and maintains the caret's position in the process.\r\n * The caret positioning is maintained using `input-format` library.\r\n * Relies on being run in a DOM environment for calling caret positioning functions.\r\n */\n function InputSmart(_ref, ref) {\n var onKeyDown = _ref.onKeyDown,\n country = _ref.country,\n international = _ref.international,\n withCountryCallingCode = _ref.withCountryCallingCode,\n _ref$metadata = _ref.metadata,\n metadata = _ref$metadata === void 0 ? defaultMetadata : _ref$metadata,\n rest = _objectWithoutProperties(_ref, _excluded);\n var format = useCallback(function (value) {\n // \"As you type\" formatter.\n var formatter = new AsYouType(country, metadata);\n var prefix = getInputValuePrefix({\n country: country,\n international: international,\n withCountryCallingCode: withCountryCallingCode,\n metadata: metadata\n });\n // Format the number.\n var text = formatter.input(prefix + value);\n var template = formatter.getTemplate();\n if (prefix) {\n text = removeInputValuePrefix(text, prefix);\n // `AsYouType.getTemplate()` can be `undefined`.\n if (template) {\n template = removeInputValuePrefix(template, prefix);\n }\n }\n return {\n text: text,\n template: template\n };\n }, [country, metadata]);\n var _onKeyDown = useInputKeyDownHandler({\n onKeyDown: onKeyDown,\n international: international\n });\n return /*#__PURE__*/React__default.createElement(Input, _extends({}, rest, {\n ref: ref,\n parse: parsePhoneNumberCharacter_,\n format: format,\n onKeyDown: _onKeyDown\n }));\n }\n InputSmart = /*#__PURE__*/React__default.forwardRef(InputSmart);\n InputSmart.propTypes = {\n /**\r\n * The parsed phone number.\r\n * \"Parsed\" not in a sense of \"E.164\"\r\n * but rather in a sense of \"having only\r\n * digits and possibly a leading plus character\".\r\n * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n */\n value: PropTypes.string.isRequired,\n /**\r\n * A function of `value: string`.\r\n * Updates the `value` property.\r\n */\n onChange: PropTypes.func.isRequired,\n /**\r\n * A function of `event: Event`.\r\n * Handles `keydown` events.\r\n */\n onKeyDown: PropTypes.func,\n /**\r\n * A two-letter country code for formatting `value`\r\n * as a national phone number (e.g. `(800) 555 35 35`).\r\n * E.g. \"US\", \"RU\", etc.\r\n * If no `country` is passed then `value`\r\n * is formatted as an international phone number.\r\n * (e.g. `+7 800 555 35 35`)\r\n * Perhaps the `country` property should have been called `defaultCountry`\r\n * because if `value` is an international number then `country` is ignored.\r\n */\n country: PropTypes.string,\n /**\r\n * If `country` property is passed along with `international={true}` property\r\n * then the phone number will be input in \"international\" format for that `country`\r\n * (without \"country calling code\").\r\n * For example, if `country=\"US\"` property is passed to \"without country select\" input\r\n * then the phone number will be input in the \"national\" format for `US` (`(213) 373-4253`).\r\n * But if both `country=\"US\"` and `international={true}` properties are passed then\r\n * the phone number will be input in the \"international\" format for `US` (`213 373 4253`)\r\n * (without \"country calling code\" `+1`).\r\n */\n international: PropTypes.bool,\n /**\r\n * If `country` and `international` properties are set,\r\n * then by default it won't include \"country calling code\" in the input field.\r\n * To change that, pass `withCountryCallingCode` property,\r\n * and it will include \"country calling code\" in the input field.\r\n */\n withCountryCallingCode: PropTypes.bool,\n /**\r\n * `libphonenumber-js` metadata.\r\n */\n metadata: PropTypes.object\n };\n return InputSmart;\n}\nvar InputSmart = createInput();\n\nexport { createInput, InputSmart as default };\n//# sourceMappingURL=InputSmart.js.map\n","import React__default, { useCallback } from 'react';\nimport PropTypes from '../../../../prop-types@15.8.1/node_modules/prop-types/index.js';\nimport { getInputValuePrefix, removeInputValuePrefix } from './helpers/inputValuePrefix.js';\nimport useInputKeyDownHandler from './useInputKeyDownHandler.js';\nimport parseIncompletePhoneNumber from '../../../../libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js';\nimport formatIncompletePhoneNumber from '../../../../libphonenumber-js@1.11.8/node_modules/libphonenumber-js/es6/formatIncompletePhoneNumber.js';\n\nvar _excluded = [\"value\", \"onChange\", \"onKeyDown\", \"country\", \"international\", \"withCountryCallingCode\", \"metadata\", \"inputComponent\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction createInput(defaultMetadata) {\n /**\r\n * `InputBasic` is the most basic implementation of a `Component`\r\n * that can be passed to ``. It parses and formats\r\n * the user's input but doesn't control the caret in the process:\r\n * when erasing or inserting digits in the middle of a phone number\r\n * the caret usually jumps to the end (this is the expected behavior).\r\n * Why does `InputBasic` exist when there's `InputSmart`?\r\n * One reason is working around the [Samsung Galaxy smart caret positioning bug]\r\n * (https://github.com/catamphetamine/react-phone-number-input/issues/75).\r\n * Another reason is that, unlike `InputSmart`, it doesn't require DOM environment.\r\n */\n function InputBasic(_ref, ref) {\n var value = _ref.value,\n onChange = _ref.onChange,\n onKeyDown = _ref.onKeyDown,\n country = _ref.country,\n international = _ref.international,\n withCountryCallingCode = _ref.withCountryCallingCode,\n _ref$metadata = _ref.metadata,\n metadata = _ref$metadata === void 0 ? defaultMetadata : _ref$metadata,\n _ref$inputComponent = _ref.inputComponent,\n Input = _ref$inputComponent === void 0 ? 'input' : _ref$inputComponent,\n rest = _objectWithoutProperties(_ref, _excluded);\n var prefix = getInputValuePrefix({\n country: country,\n international: international,\n withCountryCallingCode: withCountryCallingCode,\n metadata: metadata\n });\n var _onChange = useCallback(function (event) {\n var newValue = parseIncompletePhoneNumber(event.target.value);\n // By default, if a value is something like `\"(123)\"`\n // then Backspace would only erase the rightmost brace\n // becoming something like `\"(123\"`\n // which would give the same `\"123\"` value\n // which would then be formatted back to `\"(123)\"`\n // and so a user wouldn't be able to erase the phone number.\n //\n // This issue is worked around with this simple hack:\n // when \"old\" and \"new\" parsed values are the same,\n // it checks if the \"new\" formatted value could be obtained\n // from the \"old\" formatted value by erasing some (or no) characters at the right side.\n // If it could then it's likely that the user has hit a Backspace key\n // and what they really intended was to erase a rightmost digit rather than\n // a rightmost punctuation character.\n //\n if (newValue === value) {\n var newValueFormatted = format(prefix, newValue, country, metadata);\n if (newValueFormatted.indexOf(event.target.value) === 0) {\n // Trim the last digit (or plus sign).\n newValue = newValue.slice(0, -1);\n }\n }\n onChange(newValue);\n }, [prefix, value, onChange, country, metadata]);\n var _onKeyDown = useInputKeyDownHandler({\n onKeyDown: onKeyDown,\n international: international\n });\n return /*#__PURE__*/React__default.createElement(Input, _extends({}, rest, {\n ref: ref,\n value: format(prefix, value, country, metadata),\n onChange: _onChange,\n onKeyDown: _onKeyDown\n }));\n }\n InputBasic = /*#__PURE__*/React__default.forwardRef(InputBasic);\n InputBasic.propTypes = {\n /**\r\n * The parsed phone number.\r\n * \"Parsed\" not in a sense of \"E.164\"\r\n * but rather in a sense of \"having only\r\n * digits and possibly a leading plus character\".\r\n * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n */\n value: PropTypes.string.isRequired,\n /**\r\n * A function of `value: string`.\r\n * Updates the `value` property.\r\n */\n onChange: PropTypes.func.isRequired,\n /**\r\n * A function of `event: Event`.\r\n * Handles `keydown` events.\r\n */\n onKeyDown: PropTypes.func,\n /**\r\n * A two-letter country code for formatting `value`\r\n * as a national phone number (e.g. `(800) 555 35 35`).\r\n * E.g. \"US\", \"RU\", etc.\r\n * If no `country` is passed then `value`\r\n * is formatted as an international phone number.\r\n * (e.g. `+7 800 555 35 35`)\r\n * Perhaps the `country` property should have been called `defaultCountry`\r\n * because if `value` is an international number then `country` is ignored.\r\n */\n country: PropTypes.string,\n /**\r\n * If `country` property is passed along with `international={true}` property\r\n * then the phone number will be input in \"international\" format for that `country`\r\n * (without \"country calling code\").\r\n * For example, if `country=\"US\"` property is passed to \"without country select\" input\r\n * then the phone number will be input in the \"national\" format for `US` (`(213) 373-4253`).\r\n * But if both `country=\"US\"` and `international={true}` properties are passed then\r\n * the phone number will be input in the \"international\" format for `US` (`213 373 4253`)\r\n * (without \"country calling code\" `+1`).\r\n */\n international: PropTypes.bool,\n /**\r\n * If `country` and `international` properties are set,\r\n * then by default it won't include \"country calling code\" in the input field.\r\n * To change that, pass `withCountryCallingCode` property,\r\n * and it will include \"country calling code\" in the input field.\r\n */\n withCountryCallingCode: PropTypes.bool,\n /**\r\n * `libphonenumber-js` metadata.\r\n */\n metadata: PropTypes.object,\n /**\r\n * The `` component.\r\n */\n inputComponent: PropTypes.elementType\n };\n return InputBasic;\n}\nvar InputBasic = createInput();\nfunction format(prefix, value, country, metadata) {\n return removeInputValuePrefix(formatIncompletePhoneNumber(prefix + value, country, metadata), prefix);\n}\n\nexport { createInput, InputBasic as default };\n//# sourceMappingURL=InputBasic.js.map\n","import AsYouType from './AsYouType.js';\n\n/**\r\n * Formats a (possibly incomplete) phone number.\r\n * The phone number can be either in E.164 format\r\n * or in a form of national number digits.\r\n * @param {string} value - A possibly incomplete phone number. Either in E.164 format or in a form of national number digits.\r\n * @param {string|object} [optionsOrDefaultCountry] - A two-letter (\"ISO 3166-1 alpha-2\") country code, or an object of shape `{ defaultCountry?: string, defaultCallingCode?: string }`.\r\n * @return {string} Formatted (possibly incomplete) phone number.\r\n */\n\nfunction formatIncompletePhoneNumber(value, optionsOrDefaultCountry, metadata) {\n if (!metadata) {\n metadata = optionsOrDefaultCountry;\n optionsOrDefaultCountry = undefined;\n }\n\n return new AsYouType(optionsOrDefaultCountry, metadata).input(value);\n}\n\nexport { formatIncompletePhoneNumber as default };\n//# sourceMappingURL=formatIncompletePhoneNumber.js.map\n","/**\r\n * Creates Unicode flag from a two-letter ISO country code.\r\n * https://stackoverflow.com/questions/24050671/how-to-put-japan-flag-character-in-a-string\r\n * @param {string} country — A two-letter ISO country code (case-insensitive).\r\n * @return {string}\r\n */\nfunction getCountryFlag(country) {\n return getRegionalIndicatorSymbol(country[0]) + getRegionalIndicatorSymbol(country[1]);\n}\n/**\r\n * Converts a letter to a Regional Indicator Symbol.\r\n * @param {string} letter\r\n * @return {string}\r\n */\n\nfunction getRegionalIndicatorSymbol(letter) {\n return String.fromCodePoint(0x1F1E6 - 65 + letter.toUpperCase().charCodeAt(0));\n}\n\nexport { getCountryFlag as default };\n//# sourceMappingURL=unicode.js.map\n","import React__default, { useMemo, useCallback } from 'react';\nimport PropTypes from '../../../../prop-types@15.8.1/node_modules/prop-types/index.js';\nimport classNames from '../../../../classnames@2.5.1/node_modules/classnames/index.js';\nimport getCountryFlag from '../../../../country-flag-icons@1.5.13/node_modules/country-flag-icons/modules/unicode.js';\n\nvar _excluded = [\"value\", \"onChange\", \"options\", \"disabled\", \"readOnly\"],\n _excluded2 = [\"value\", \"options\", \"className\", \"iconComponent\", \"getIconAspectRatio\", \"arrowComponent\", \"unicodeFlags\"];\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction CountrySelect(_ref) {\n var value = _ref.value,\n onChange = _ref.onChange,\n options = _ref.options,\n disabled = _ref.disabled,\n readOnly = _ref.readOnly,\n rest = _objectWithoutProperties(_ref, _excluded);\n var onChange_ = useCallback(function (event) {\n var value = event.target.value;\n onChange(value === 'ZZ' ? undefined : value);\n }, [onChange]);\n useMemo(function () {\n return getSelectedOption(options, value);\n }, [options, value]);\n\n // \"ZZ\" means \"International\".\n // (HTML requires each `