



from typing import Literal

_lowerCamelCase         =	"""ABCDEFGHIJKLMNOPQRSTUVWXYZ"""






def 						_lowerCAmelCase    (					__lowerCamelCase :  str		,						__lowerCamelCase :  str		,						__lowerCamelCase :  Literal["encrypt", "decrypt"]  ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE							:     List[Any]							=						LETTERS if mode == "decrypt" else key
 __SCREAMING_SNAKE_CASE							:     int							=						key if mode == "decrypt" else LETTERS
 __SCREAMING_SNAKE_CASE							:     int							=						""
 # loop through each symbol in the message
 for symbol in message:
  if symbol.upper() in chars_a:
   # encrypt/decrypt the symbol
   __SCREAMING_SNAKE_CASE							:     List[Any]							=						chars_a.find(symbol.upper()  )
   if symbol.isupper():
    translated += chars_b[sym_index].upper()
   else:
    translated += chars_b[sym_index].lower()
  else:
   # symbol is not in LETTERS, just add it
   translated += symbol
 return translated






def 						_lowerCAmelCase    (					__lowerCamelCase :  str		,						__lowerCamelCase :  str  ):



 """simple docstring"""





 return translate_message(__lowerCamelCase		,						__lowerCamelCase		,						"encrypt"  )






def 						_lowerCAmelCase    (					__lowerCamelCase :  str		,						__lowerCamelCase :  str  ):



 """simple docstring"""





 return translate_message(__lowerCamelCase		,						__lowerCamelCase		,						"decrypt"  )






def 						_lowerCAmelCase    (					):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE							:     Any							=						"Hello World"
 __SCREAMING_SNAKE_CASE							:     List[Any]							=						"QWERTYUIOPASDFGHJKLZXCVBNM"
 __SCREAMING_SNAKE_CASE							:     Dict							=						"decrypt"  # set to 'encrypt' or 'decrypt'

 if mode == "encrypt":
  __SCREAMING_SNAKE_CASE							:     Optional[Any]							=						encrypt_message(__lowerCamelCase		,						__lowerCamelCase  )
 elif mode == "decrypt":
  __SCREAMING_SNAKE_CASE							:     Tuple							=						decrypt_message(__lowerCamelCase		,						__lowerCamelCase  )
 print(F"""Using the key {key}, the {mode}ed message is: {translated}"""  )


if __name__ == "__main__":
      import doctest

      doctest.testmod()
      main()











"""simple docstring"""
import importlib
import sys
from argparse import REMAINDER, ArgumentParser
from pathlib import Path

import torch_xla.distributed.xla_multiprocessing as xmp
def   A_    (     ):







						'''simple docstring'''


						snake_case_					:str		=     ArgumentParser(
						    description=(
						        """PyTorch TPU distributed training launch helper utility that will spawn up multiple distributed processes"""
						    )      )

						# Optional arguments for the launch helper
						parser.add_argument("""--num_cores""",   type=_lowercase,   default=1,   help="""Number of TPU cores to use (1 or 8)."""      )

						# positional
						parser.add_argument(
						    """training_script""",   type=_lowercase,   help=(
						        """The full path to the single TPU training """
						        """program/script to be launched in parallel, """
						        """followed by all the arguments for the """
						        """training script"""
						    ),   )

						# rest from the training program
						parser.add_argument("""training_script_args""",   nargs=_lowercase      )

						return parser.parse_args()
def   A_    (     ):







						'''simple docstring'''


						snake_case_					:Any		=     parse_args()

						# Import training_script as a module.
						snake_case_					:str		=     Path(args.training_script      )
						sys.path.append(str(script_fpath.parent.resolve()      )      )
						snake_case_					:Dict		=     script_fpath.stem
						snake_case_					:int		=     importlib.import_module(_lowercase      )

						# Patch sys.argv
						snake_case_					:Optional[Any]		=     [args.training_script] + args.training_script_args + ["""--tpu_num_cores""", str(args.num_cores      )]

						xmp.spawn(mod._mp_fn,   args=(),   nprocs=args.num_cores      )


if __name__ == "__main__":
						main()
