





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__(						)			->     Tuple:
  print("Welcome!"					)
  yield
  print("Bye!"					)







@contextlib.contextmanager
def    lowerCAmelCase__(						)			->     Dict:
  print("Bonjour!"					)
  yield
  print("Au revoir!"					)




class 					_lowerCamelCase			(     unittest.TestCase     ):



      """simple docstring"""






      def     UpperCAmelCase		(			self )							-> Union[str, Any]:






        '''simple docstring'''






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




class 					_lowerCamelCase			(     unittest.TestCase     ):



      """simple docstring"""






      @unittest.mock.patch("sys.stdout"					,    new_callable=io.StringIO )
      def     UpperCAmelCase		(			self					,    UpperCAmelCase )							-> int:






        '''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     UpperCAmelCase		(			self					,    UpperCAmelCase )							-> 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     UpperCAmelCase		(			self					,    UpperCAmelCase )							-> 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     UpperCAmelCase		(			self )							-> Optional[int]:






        '''simple docstring'''






        self.assertEqual(find_labels(lowerCAmelCase_ )					,    ["labels"] )
        self.assertEqual(find_labels(lowerCAmelCase_ )					,    ["labels", "next_sentence_label"] )
        self.assertEqual(find_labels(lowerCAmelCase_ )					,    ["start_positions", "end_positions"] )




        class 					_lowerCamelCase			(     _a     ):



              """simple docstring"""






              pass




        self.assertEqual(find_labels(lowerCAmelCase_ )					,    ["labels"] )







      @require_tf
      def     UpperCAmelCase		(			self )							-> Optional[Any]:






        '''simple docstring'''






        self.assertEqual(find_labels(lowerCAmelCase_ )					,    ["labels"] )
        self.assertEqual(find_labels(lowerCAmelCase_ )					,    ["labels", "next_sentence_label"] )
        self.assertEqual(find_labels(lowerCAmelCase_ )					,    ["start_positions", "end_positions"] )




        class 					_lowerCamelCase			(     _a     ):



              """simple docstring"""






              pass




        self.assertEqual(find_labels(lowerCAmelCase_ )					,    ["labels"] )







      @require_flax
      def     UpperCAmelCase		(			self )							-> Dict:






        '''simple docstring'''






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




        class 					_lowerCamelCase			(     _a     ):



              """simple docstring"""






              pass




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







'''simple docstring'''


import qiskit
def 						snake_case_       (UpperCamelCase			:    int					,		UpperCamelCase			:    int ):





							'''simple docstring'''


							_a      	=							qiskit.Aer.get_backend('''aer_simulator''' )

							_a      	=							qiskit.QuantumCircuit(4					,		2 )
							# encode inputs in qubits 0 and 1
							if bita == 1:
														qc_ha.x(0 )
							if bita == 1:
														qc_ha.x(1 )
							qc_ha.barrier()

							# use cnots to write XOR of the inputs on qubit2
							qc_ha.cx(0					,		2 )
							qc_ha.cx(1					,		2 )

							# use ccx / toffoli gate to write AND of the inputs on qubit3
							qc_ha.ccx(0					,		1					,		3 )
							qc_ha.barrier()

							# extract outputs
							qc_ha.measure(2					,		0 )  # extract XOR value
							qc_ha.measure(3					,		1 )  # extract AND value

							# Execute the circuit on the qasm simulator
							_a      	=							qiskit.execute(UpperCamelCase					,		UpperCamelCase					,		shots=1000 )

							# Return the histogram data of the results of the experiment
							return job.result().get_counts(UpperCamelCase )


if __name__ == "__main__":
				_snake_case : Tuple  				=						half_adder(1, 1)
				print(F'''Half Adder Output Qubit Counts: {counts}''')

