





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_flax_available, is_torch_available


__A							:       Tuple         =  {'''configuration_speech_encoder_decoder''': ['''SpeechEncoderDecoderConfig''']}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__A							:       Optional[int]         =  ['''SpeechEncoderDecoderModel''']

try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__A							:       Union[str, Any]         =  ['''FlaxSpeechEncoderDecoderModel''']

if TYPE_CHECKING:
				from .configuration_speech_encoder_decoder import SpeechEncoderDecoderConfig

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_speech_encoder_decoder import SpeechEncoderDecoderModel

				try:
								if not is_flax_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_flax_speech_encoder_decoder import FlaxSpeechEncoderDecoderModel

else:
				import sys

				__A							:       Optional[Any]         =  _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)




import re






def _lowerCamelCase  (		snake_case  ):

							if len(re.findall('[ATCG]'     , snake_case  )  ) != len(snake_case  ):
														raise ValueError('Invalid Strand'  )

							return dna.translate(dna.maketrans('ATCG'     , 'TAGC'  )  )


if __name__ == "__main__":
				import doctest

				doctest.testmod()






