
from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_tokenizers_available,
    is_torch_available,
)


_A							=       {
    'configuration_open_llama': ['OPEN_LLAMA_PRETRAINED_CONFIG_ARCHIVE_MAP', 'OpenLlamaConfig'],
}

try:
      if not is_sentencepiece_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      _A							=       ['LlamaTokenizer']

try:
      if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      _A							=       ['LlamaTokenizerFast']

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      _A							=       [
          'OpenLlamaForCausalLM',
          'OpenLlamaModel',
          'OpenLlamaPreTrainedModel',
          'OpenLlamaForSequenceClassification',
      ]


if TYPE_CHECKING:
      from .configuration_open_llama import OPEN_LLAMA_PRETRAINED_CONFIG_ARCHIVE_MAP, OpenLlamaConfig

      try:
            if not is_sentencepiece_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from transformers import LlamaTokenizer

      try:
            if not is_tokenizers_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from transformers import LlamaTokenizerFast

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_open_llama import (
                OpenLlamaForCausalLM,
                OpenLlamaForSequenceClassification,
                OpenLlamaModel,
                OpenLlamaPreTrainedModel,
            )


else:
      import sys

      _A							=       _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)








def  _UpperCAmelCase  (				SCREAMING_SNAKE_CASE__  ):


						'''simple docstring'''




						lowerCAmelCase	:   List[str]					     =					str(SCREAMING_SNAKE_CASE__  ).strip()
						if not bin_string:
												raise ValueError("""Empty string was passed to the function"""  )
						lowerCAmelCase	:   Optional[int]					     =					bin_string[0] == """-"""
						if is_negative:
												lowerCAmelCase	:   Tuple					     =					bin_string[1:]
						if not all(char in """01""" for char in bin_string  ):
												raise ValueError("""Non-binary value was passed to the function"""  )
						lowerCAmelCase	:   Union[str, Any]					     =					0
						for char in bin_string:
												lowerCAmelCase	:   int					     =					2 * decimal_number + int(SCREAMING_SNAKE_CASE__  )
						return -decimal_number if is_negative else decimal_number


if __name__ == "__main__":
		from doctest import testmod

		testmod()

