

from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_keras_nlp_available,
    is_tensorflow_text_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


lowerCamelCase									= {
    '''configuration_gpt2''': ['''GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''GPT2Config''', '''GPT2OnnxConfig'''],
    '''tokenization_gpt2''': ['''GPT2Tokenizer'''],
}

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

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCamelCase									= [
           '''GPT2_PRETRAINED_MODEL_ARCHIVE_LIST''',
           '''GPT2DoubleHeadsModel''',
           '''GPT2ForQuestionAnswering''',
           '''GPT2ForSequenceClassification''',
           '''GPT2ForTokenClassification''',
           '''GPT2LMHeadModel''',
           '''GPT2Model''',
           '''GPT2PreTrainedModel''',
           '''load_tf_weights_in_gpt2''',
       ]

try:
       if not is_tf_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCamelCase									= [
           '''TF_GPT2_PRETRAINED_MODEL_ARCHIVE_LIST''',
           '''TFGPT2DoubleHeadsModel''',
           '''TFGPT2ForSequenceClassification''',
           '''TFGPT2LMHeadModel''',
           '''TFGPT2MainLayer''',
           '''TFGPT2Model''',
           '''TFGPT2PreTrainedModel''',
       ]

try:
       if not is_keras_nlp_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCamelCase									= ['''TFGPT2Tokenizer''']

try:
       if not is_flax_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCamelCase									= ['''FlaxGPT2LMHeadModel''', '''FlaxGPT2Model''', '''FlaxGPT2PreTrainedModel''']

if TYPE_CHECKING:
       from .configuration_gpta import GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP, GPTaConfig, GPTaOnnxConfig
       from .tokenization_gpta import GPTaTokenizer

       try:
              if not is_tokenizers_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_gpta_fast import GPTaTokenizerFast

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_gpta import (
                  GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
                  GPTaDoubleHeadsModel,
                  GPTaForQuestionAnswering,
                  GPTaForSequenceClassification,
                  GPTaForTokenClassification,
                  GPTaLMHeadModel,
                  GPTaModel,
                  GPTaPreTrainedModel,
                  load_tf_weights_in_gpta,
              )

       try:
              if not is_tf_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_tf_gpta import (
                  TF_GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
                  TFGPTaDoubleHeadsModel,
                  TFGPTaForSequenceClassification,
                  TFGPTaLMHeadModel,
                  TFGPTaMainLayer,
                  TFGPTaModel,
                  TFGPTaPreTrainedModel,
              )

       try:
              if not is_keras_nlp_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_gpta_tf import TFGPTaTokenizer

       try:
              if not is_flax_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_flax_gpta import FlaxGPTaLMHeadModel, FlaxGPTaModel, FlaxGPTaPreTrainedModel

else:
       import sys

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



from typing import TYPE_CHECKING

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


lowerCamelCase									= {
    '''configuration_flaubert''': ['''FLAUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''FlaubertConfig''', '''FlaubertOnnxConfig'''],
    '''tokenization_flaubert''': ['''FlaubertTokenizer'''],
}

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCamelCase									= [
           '''FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
           '''FlaubertForMultipleChoice''',
           '''FlaubertForQuestionAnswering''',
           '''FlaubertForQuestionAnsweringSimple''',
           '''FlaubertForSequenceClassification''',
           '''FlaubertForTokenClassification''',
           '''FlaubertModel''',
           '''FlaubertWithLMHeadModel''',
           '''FlaubertPreTrainedModel''',
       ]

try:
       if not is_tf_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowerCamelCase									= [
           '''TF_FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
           '''TFFlaubertForMultipleChoice''',
           '''TFFlaubertForQuestionAnsweringSimple''',
           '''TFFlaubertForSequenceClassification''',
           '''TFFlaubertForTokenClassification''',
           '''TFFlaubertModel''',
           '''TFFlaubertPreTrainedModel''',
           '''TFFlaubertWithLMHeadModel''',
       ]


if TYPE_CHECKING:
       from .configuration_flaubert import FLAUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, FlaubertConfig, FlaubertOnnxConfig
       from .tokenization_flaubert import FlaubertTokenizer

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_flaubert import (
                  FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  FlaubertForMultipleChoice,
                  FlaubertForQuestionAnswering,
                  FlaubertForQuestionAnsweringSimple,
                  FlaubertForSequenceClassification,
                  FlaubertForTokenClassification,
                  FlaubertModel,
                  FlaubertPreTrainedModel,
                  FlaubertWithLMHeadModel,
              )

       try:
              if not is_tf_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_tf_flaubert import (
                  TF_FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  TFFlaubertForMultipleChoice,
                  TFFlaubertForQuestionAnsweringSimple,
                  TFFlaubertForSequenceClassification,
                  TFFlaubertForTokenClassification,
                  TFFlaubertModel,
                  TFFlaubertPreTrainedModel,
                  TFFlaubertWithLMHeadModel,
              )

else:
       import sys

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