


'''simple docstring'''
import contextlib
import importlib
import io
import unittest

import transformers

# Try to import everything from transformers to ensure every object can be loaded.
from transformers import *  # noqa F406
from transformers.testing_utils import DUMMY_UNKNOWN_IDENTIFIER, require_flax, require_tf, require_torch
from transformers.utils import ContextManagers, find_labels, is_flax_available, is_tf_available, is_torch_available


if is_torch_available():
  from transformers import BertForPreTraining, BertForQuestionAnswering, BertForSequenceClassification

if is_tf_available():
  from transformers import TFBertForPreTraining, TFBertForQuestionAnswering, TFBertForSequenceClassification

if is_flax_available():
  from transformers import FlaxBertForPreTraining, FlaxBertForQuestionAnswering, FlaxBertForSequenceClassification


UpperCamelCase__    					=      DUMMY_UNKNOWN_IDENTIFIER
# An actual model hosted on huggingface.co

UpperCamelCase__    					=      '''main'''
# Default branch name
UpperCamelCase__    					=      '''f2c752cfc5c0ab6f4bdec59acea69eefbee381c2'''
# One particular commit (not the top of `main`)
UpperCamelCase__    					=      '''aaaaaaa'''
# This commit does not exist, so we should 404.

UpperCamelCase__    					=      '''d9e9f15bc825e4b2c9249e9578f884bbcb5e3684'''
# Sha-1 of config.json on the top of `main`, for checking purposes
UpperCamelCase__    					=      '''4b243c475af8d0a7754e87d7d096c92e5199ec2fe168a2ee7998e3b8e9bcb1d3'''





@contextlib.contextmanager
def 					a__       (					)    ->	Optional[int]:
    print('''Welcome!'''						)
    yield
    print('''Bye!'''						)





@contextlib.contextmanager
def 					a__       (					)    ->	str:
    print('''Bonjour!'''						)
    yield
    print('''Au revoir!'''						)




class 			lowerCamelCase_   (	unittest.TestCase      ):






      def lowercase_							(					self				:    Tuple ):


          '''simple docstring'''


          assert transformers.__spec__ is not None
          assert importlib.util.find_spec('''transformers''' ) is not None




class 			lowerCamelCase_   (	unittest.TestCase      ):






      @unittest.mock.patch('''sys.stdout'''						,						new_callable=io.StringIO )
      def lowercase_							(					self				:    Optional[int]						,						_A				:    Optional[Any] ):


          '''simple docstring'''


          with ContextManagers([] ):
              print('''Transformers are awesome!''' )
          # The print statement adds a new line at the end of the output
          self.assertEqual(mock_stdout.getvalue()						,						'''Transformers are awesome!\n''' )






      @unittest.mock.patch('''sys.stdout'''						,						new_callable=io.StringIO )
      def lowercase_							(					self				:    Dict						,						_A				:    Dict ):


          '''simple docstring'''


          with ContextManagers([context_en()] ):
              print('''Transformers are awesome!''' )
          # The output should be wrapped with an English welcome and goodbye
          self.assertEqual(mock_stdout.getvalue()						,						'''Welcome!\nTransformers are awesome!\nBye!\n''' )






      @unittest.mock.patch('''sys.stdout'''						,						new_callable=io.StringIO )
      def lowercase_							(					self				:    str						,						_A				:    str ):


          '''simple docstring'''


          with ContextManagers([context_fr(), context_en()] ):
              print('''Transformers are awesome!''' )
          # The output should be wrapped with an English and French welcome and goodbye
          self.assertEqual(mock_stdout.getvalue()						,						'''Bonjour!\nWelcome!\nTransformers are awesome!\nBye!\nAu revoir!\n''' )






      @require_torch
      def lowercase_							(					self				:    Tuple ):


          '''simple docstring'''


          self.assertEqual(find_labels(_A )						,						['''labels'''] )
          self.assertEqual(find_labels(_A )						,						['''labels''', '''next_sentence_label'''] )
          self.assertEqual(find_labels(_A )						,						['''start_positions''', '''end_positions'''] )




          class 			lowerCamelCase_   (	__a      ):
                pass

          self.assertEqual(find_labels(_A )						,						['''labels'''] )






      @require_tf
      def lowercase_							(					self				:    str ):


          '''simple docstring'''


          self.assertEqual(find_labels(_A )						,						['''labels'''] )
          self.assertEqual(find_labels(_A )						,						['''labels''', '''next_sentence_label'''] )
          self.assertEqual(find_labels(_A )						,						['''start_positions''', '''end_positions'''] )




          class 			lowerCamelCase_   (	__a      ):
                pass

          self.assertEqual(find_labels(_A )						,						['''labels'''] )






      @require_flax
      def lowercase_							(					self				:    Any ):


          '''simple docstring'''


          self.assertEqual(find_labels(_A )						,						[] )
          self.assertEqual(find_labels(_A )						,						[] )
          self.assertEqual(find_labels(_A )						,						[] )




          class 			lowerCamelCase_   (	__a      ):
                pass

          self.assertEqual(find_labels(_A )						,						[] )




'''simple docstring'''
from typing import TYPE_CHECKING

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


UpperCamelCase__    					=      {
    '''configuration_rembert''': ['''REMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''RemBertConfig''', '''RemBertOnnxConfig''']
}

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

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

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  UpperCamelCase__    					=      [
      '''REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
      '''RemBertForCausalLM''',
      '''RemBertForMaskedLM''',
      '''RemBertForMultipleChoice''',
      '''RemBertForQuestionAnswering''',
      '''RemBertForSequenceClassification''',
      '''RemBertForTokenClassification''',
      '''RemBertLayer''',
      '''RemBertModel''',
      '''RemBertPreTrainedModel''',
      '''load_tf_weights_in_rembert''',
  ]


try:
  if not is_tf_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  UpperCamelCase__    					=      [
      '''TF_REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
      '''TFRemBertForCausalLM''',
      '''TFRemBertForMaskedLM''',
      '''TFRemBertForMultipleChoice''',
      '''TFRemBertForQuestionAnswering''',
      '''TFRemBertForSequenceClassification''',
      '''TFRemBertForTokenClassification''',
      '''TFRemBertLayer''',
      '''TFRemBertModel''',
      '''TFRemBertPreTrainedModel''',
  ]


if TYPE_CHECKING:
  from .configuration_rembert import REMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, RemBertConfig, RemBertOnnxConfig

  try:
    if not is_sentencepiece_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .tokenization_rembert import RemBertTokenizer

  try:
    if not is_tokenizers_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .tokenization_rembert_fast import RemBertTokenizerFast

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_rembert import (
        REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        RemBertForCausalLM,
        RemBertForMaskedLM,
        RemBertForMultipleChoice,
        RemBertForQuestionAnswering,
        RemBertForSequenceClassification,
        RemBertForTokenClassification,
        RemBertLayer,
        RemBertModel,
        RemBertPreTrainedModel,
        load_tf_weights_in_rembert,
    )

  try:
    if not is_tf_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_tf_rembert import (
        TF_REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFRemBertForCausalLM,
        TFRemBertForMaskedLM,
        TFRemBertForMultipleChoice,
        TFRemBertForQuestionAnswering,
        TFRemBertForSequenceClassification,
        TFRemBertForTokenClassification,
        TFRemBertLayer,
        TFRemBertModel,
        TFRemBertPreTrainedModel,
    )


else:
  import sys

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