
import argparse
import os


lowercase__				:				List[Any]						=      {
    "pytorch": {
        "1.13": {
            "torch": "1.13.1",
            "torchvision": "0.14.1",
            "torchaudio": "0.13.1",
            "python": 3.9,
            "cuda": "cu116",
            "install": (
                "python3 -m pip install --no-cache-dir -U torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1"
                " --extra-index-url https://download.pytorch.org/whl/cu116"
            ),
            "base_image": "nvidia/cuda:11.6.2-cudnn8-devel-ubuntu20.04",
        },
        "1.12": {
            "torch": "1.12.1",
            "torchvision": "0.13.1",
            "torchaudio": "0.12.1",
            "python": 3.9,
            "cuda": "cu113",
            "install": (
                "python3 -m pip install --no-cache-dir -U torch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1"
                " --extra-index-url https://download.pytorch.org/whl/cu113"
            ),
            "base_image": "nvidia/cuda:11.2.2-cudnn8-devel-ubuntu20.04",
        },
        "1.11": {
            "torch": "1.11.0",
            "torchvision": "0.12.0",
            "torchaudio": "0.11.0",
            "python": 3.9,
            "cuda": "cu113",
            "install": (
                "python3 -m pip install --no-cache-dir -U torch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0"
                " --extra-index-url https://download.pytorch.org/whl/cu113"
            ),
            "base_image": "nvidia/cuda:11.2.2-cudnn8-devel-ubuntu20.04",
        },
        "1.10": {
            "torch": "1.10.2",
            "torchvision": "0.11.3",
            "torchaudio": "0.10.2",
            "python": 3.9,
            "cuda": "cu113",
            "install": (
                "python3 -m pip install --no-cache-dir -U torch==1.10.2 torchvision==0.11.3 torchaudio==0.10.2"
                " --extra-index-url https://download.pytorch.org/whl/cu113"
            ),
            "base_image": "nvidia/cuda:11.2.2-cudnn8-devel-ubuntu20.04",
        },
        # torchaudio < 0.10 has no CUDA-enabled binary distributions
        "1.9": {
            "torch": "1.9.1",
            "torchvision": "0.10.1",
            "torchaudio": "0.9.1",
            "python": 3.9,
            "cuda": "cu111",
            "install": (
                "python3 -m pip install --no-cache-dir -U torch==1.9.1 torchvision==0.10.1 torchaudio==0.9.1"
                " --extra-index-url https://download.pytorch.org/whl/cu111"
            ),
            "base_image": "nvidia/cuda:11.2.2-cudnn8-devel-ubuntu20.04",
        },
    },
    "tensorflow": {
        "2.11": {
            "tensorflow": "2.11.1",
            "install": "python3 -m pip install --no-cache-dir -U tensorflow==2.11.1",
            "base_image": "nvidia/cuda:11.2.2-cudnn8-devel-ubuntu20.04",
        },
        "2.10": {
            "tensorflow": "2.10.1",
            "install": "python3 -m pip install --no-cache-dir -U tensorflow==2.10.1",
            "base_image": "nvidia/cuda:11.2.2-cudnn8-devel-ubuntu20.04",
        },
        "2.9": {
            "tensorflow": "2.9.3",
            "install": "python3 -m pip install --no-cache-dir -U tensorflow==2.9.3",
            "base_image": "nvidia/cuda:11.2.2-cudnn8-devel-ubuntu20.04",
        },
        "2.8": {
            "tensorflow": "2.8.2",
            "install": "python3 -m pip install --no-cache-dir -U tensorflow==2.8.2",
            "base_image": "nvidia/cuda:11.2.2-cudnn8-devel-ubuntu20.04",
        },
        "2.7": {
            "tensorflow": "2.7.3",
            "install": "python3 -m pip install --no-cache-dir -U tensorflow==2.7.3",
            "base_image": "nvidia/cuda:11.2.2-cudnn8-devel-ubuntu20.04",
        },
        "2.6": {
            "tensorflow": "2.6.5",
            "install": "python3 -m pip install --no-cache-dir -U tensorflow==2.6.5",
            "base_image": "nvidia/cuda:11.2.2-cudnn8-devel-ubuntu20.04",
        },
        "2.5": {
            "tensorflow": "2.5.3",
            "install": "python3 -m pip install --no-cache-dir -U tensorflow==2.5.3",
            "base_image": "nvidia/cuda:11.2.2-cudnn8-devel-ubuntu20.04",
        },
    },
}


if __name__ == "__main__":
				lowercase__				:				Tuple						=      argparse.ArgumentParser("Choose the framework and version to install")
				parser.add_argument(
				    "--framework", help="The framework to install. Should be `torch` or `tensorflow`", type=str, required=True
				)
				parser.add_argument("--version", help="The version of the framework to install.", type=str, required=True)
				lowercase__				:				int						=      parser.parse_args()

				lowercase__				:				Optional[Any]						=      past_versions_testing[args.framework][args.version]

				os.system(F"echo \"export INSTALL_CMD=\'{info['install']}\'\" >> ~/.profile")
				print(F"echo \"export INSTALL_CMD=\'{info['install']}\'\" >> ~/.profile")

				lowercase__				:				List[Any]						=      ""
				if args.framework == "pytorch":
								lowercase__				:				str						=      info["cuda"]
				os.system(F"echo \"export CUDA='{cuda}'\" >> ~/.profile")
				print(F"echo \"export CUDA='{cuda}'\" >> ~/.profile")






def 					SCREAMING_SNAKE_CASE  (   __UpperCamelCase			:    Dict				,    __UpperCamelCase			:    Dict							)			->							List[Any]:

				"""simple docstring"""







				if len(str(__UpperCamelCase							)							) == 1 or len(str(__UpperCamelCase							)							) == 1:
								return a * b

				A__	:						List[str]								=				max(len(str(__UpperCamelCase							)							)				,    len(str(__UpperCamelCase							)							)							)
				A__	:						Any								=				ma // 2

				A__							,				A__	:						Union[str, Any]								=				divmod(__UpperCamelCase				,    10**ma							)
				A__							,				A__	:						Tuple								=				divmod(__UpperCamelCase				,    10**ma							)

				A__	:						Optional[int]								=				karatsuba(__UpperCamelCase				,    __UpperCamelCase							)
				A__	:						Tuple								=				karatsuba((aa + aa)				,    (ba + ba)							)
				A__	:						Optional[int]								=				karatsuba(__UpperCamelCase				,    __UpperCamelCase							)

				return (z * 10 ** (2 * ma)) + ((y - z - x) * 10 ** (ma)) + (x)

def 					SCREAMING_SNAKE_CASE  (   )			->							Dict:

				"""simple docstring"""







				print(karatsuba(1_54_63				,    2_34_89							)							)


if __name__ == "__main__":
					main()