
'''simple docstring'''






def 		A_       (	_lowerCAmelCase   :    str							):



      """simple docstring"""




      return credit_card_number.startswith(("34", "35", "37", "4", "5", "6")							)







def 		A_       (	_lowerCAmelCase   :    str							):



      """simple docstring"""




      _lowerCamelCase				:   Optional[Any]								=   credit_card_number
      _lowerCamelCase				:   Optional[Any]								=   0
      _lowerCamelCase				:   Optional[Any]								=   len(_lowerCAmelCase							) - 2
      for i in range(_lowerCAmelCase				,	-1				,	-2							):
            #  double the value of every second digit
            _lowerCamelCase				:   str								=   int(cc_number[i]							)
            digit *= 2
            # If doubling of a number results in a two digit number
            # i.e greater than 9(e.g., 6 × 2 = 12),
            # then add the digits of the product (e.g., 12: 1 + 2 = 3, 15: 1 + 5 = 6),
            # to get a single digit number.
            if digit > 9:
                  digit %= 10
                  digit += 1
            _lowerCamelCase				:   Optional[int]								=   cc_number[:i] + str(_lowerCAmelCase							) + cc_number[i + 1 :]
            total += digit

      # Sum up the remaining digits
      for i in range(len(_lowerCAmelCase							) - 1				,	-1				,	-2							):
            total += int(cc_number[i]							)

      return total % 10 == 0







def 		A_       (	_lowerCAmelCase   :    str							):



      """simple docstring"""




      _lowerCamelCase				:   Any								=   F'{credit_card_number} is an invalid credit card number because'
      if not credit_card_number.isdigit():
            print(F'{error_message} it has nonnumerical characters.'							)
            return False

      if not 13 <= len(_lowerCAmelCase							) <= 16:
            print(F'{error_message} of its length.'							)
            return False

      if not validate_initial_digits(_lowerCAmelCase							):
            print(F'{error_message} of its first two digits.'							)
            return False

      if not luhn_validation(_lowerCAmelCase							):
            print(F'{error_message} it fails the Luhn check.'							)
            return False

      print(F'{credit_card_number} is a valid credit card number.'							)
      return True


if __name__ == "__main__":
 import doctest

 doctest.testmod()
 validate_credit_card_number('4111111111111111')
 validate_credit_card_number('32323')

'''simple docstring'''






from typing import TYPE_CHECKING

from ...utils import _LazyModule


UpperCAmelCase_       :   Tuple   =       {'tokenization_wav2vec2_phoneme': ['Wav2Vec2PhonemeCTCTokenizer']}


if TYPE_CHECKING:
 from .tokenization_wavaveca_phoneme import WavaVecaPhonemeCTCTokenizer
else:
 import sys

 UpperCAmelCase_       :   Tuple   =       _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)