'''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 __lowerCAmelCase			(							)     ->   Optional[int]:
    print('''Welcome!'''    )
    yield
    print('''Bye!'''    )






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




class    a__				(       unittest.TestCase			):






     def        SCREAMING_SNAKE_CASE__       (			self		:		Dict   ):





         """simple docstring"""



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




class    a__				(       unittest.TestCase			):






     @unittest.mock.patch('''sys.stdout'''  ,    new_callable=io.StringIO   )
     def        SCREAMING_SNAKE_CASE__       (			self		:		Union[str, Any]  ,    a		:		List[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        SCREAMING_SNAKE_CASE__       (			self		:		Any  ,    a		:		Any   ):





         """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        SCREAMING_SNAKE_CASE__       (			self		:		str  ,    a		:		Optional[int]   ):





         """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        SCREAMING_SNAKE_CASE__       (			self		:		Union[str, Any]   ):





         """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    a__				(       UpperCAmelCase__			):
              pass
         self.assertEqual(find_labels(a   )  ,    ['''labels''']   )






     @require_tf
     def        SCREAMING_SNAKE_CASE__       (			self		:		List[Any]   ):





         """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    a__				(       UpperCAmelCase__			):
              pass
         self.assertEqual(find_labels(a   )  ,    ['''labels''']   )






     @require_flax
     def        SCREAMING_SNAKE_CASE__       (			self		:		Tuple   ):





         """simple docstring"""



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




         class    a__				(       UpperCAmelCase__			):
              pass
         self.assertEqual(find_labels(a   )  ,    []   )

'''simple docstring'''




def __lowerCAmelCase			(							UpperCamelCase__    )     ->   str:
    return "".join(chr(ord(UpperCamelCase__    ) - 32    ) if '''a''' <= char <= '''z''' else char for char in word    )


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

  testmod()
