



'''simple docstring'''



import inspect
import os
import unittest

import torch

import accelerate
from accelerate import debug_launcher
from accelerate.test_utils import (
    execute_subprocess_async,
    require_cpu,
    require_huggingface_suite,
    require_multi_gpu,
    require_single_gpu,
)
from accelerate.utils import patch_environment






@require_huggingface_suite
class 					UpperCAmelCase__	(		unittest.TestCase ):



					def        UpperCAmelCase_ (    self     )     ->			Optional[int]:
						__lowerCAmelCase												=  inspect.getfile(accelerate.test_utils     )
						__lowerCAmelCase												=  os.path.sep.join(
						    mod_file.split(os.path.sep     )[:-1] + ["scripts", "external_deps", "test_metrics.py"]     )

						from accelerate.test_utils.scripts.external_deps import test_metrics  # noqa: F401

						__lowerCAmelCase												=  test_metrics



					@require_cpu
					def        UpperCAmelCase_ (    self     )     ->			str:
						debug_launcher(self.test_metrics.main			,				num_processes=1     )



					@require_cpu
					def        UpperCAmelCase_ (    self     )     ->			Tuple:
						debug_launcher(self.test_metrics.main     )



					@require_single_gpu
					def        UpperCAmelCase_ (    self     )     ->			Optional[int]:
						self.test_metrics.main()



					@require_multi_gpu
					def        UpperCAmelCase_ (    self     )     ->			Optional[Any]:
						print(F'''Found {torch.cuda.device_count()} devices.'''     )
						__lowerCAmelCase												=  ["torchrun", F'''--nproc_per_node={torch.cuda.device_count()}''', self.test_file_path]
						with patch_environment(omp_num_threads=1     ):
							execute_subprocess_async(UpperCamelCase			,				env=os.environ.copy()     )




'''simple docstring'''



import re



def   __lowerCAmelCase					(							lowerCamelCase   :						str					):






	'''simple docstring'''




	__lowerCAmelCase												=  re.compile(
	    r"^(?:0|94|\+94|0{2}94)" r"7(0|1|2|4|5|6|7|8)" r"(-| |)" r"\d{7}$"					)

	return bool(re.search(lowerCamelCase				,		lowerCamelCase					)					)


if __name__ == "__main__":
	lowerCAmelCase	:		Optional[Any]				=   '''0094702343221'''

	print(is_sri_lankan_phone_number(phone))