




import random
import unittest

import torch

from diffusers import IFImgaImgSuperResolutionPipeline
from diffusers.utils import floats_tensor
from diffusers.utils.import_utils import is_xformers_available
from diffusers.utils.testing_utils import skip_mps, torch_device

from ..pipeline_params import TEXT_GUIDED_IMAGE_VARIATION_BATCH_PARAMS, TEXT_GUIDED_IMAGE_VARIATION_PARAMS
from ..test_pipelines_common import PipelineTesterMixin
from . import IFPipelineTesterMixin

@skip_mps
class 		__lowerCAmelCase	(	__magic_name__      ,       __magic_name__      ,       unittest.TestCase ):
							UpperCamelCase__					     =  IFImgaImgSuperResolutionPipeline
							UpperCamelCase__					     =  TEXT_GUIDED_IMAGE_VARIATION_PARAMS - {'''width''', '''height'''}
							UpperCamelCase__					     =  TEXT_GUIDED_IMAGE_VARIATION_BATCH_PARAMS.union({'''original_image'''} )
							UpperCamelCase__					     =  PipelineTesterMixin.required_optional_params - {'''latents'''}
							def       lowerCamelCase__							(						self						:Dict				):







								'''simple docstring'''







								return self._get_superresolution_dummy_components()
							def       lowerCamelCase__							(						self						:List[Any]		,      __magic_name__						:Optional[Any]		,      __magic_name__						:Optional[Any]=0				):







								'''simple docstring'''







								if str(__magic_name__				).startswith("""mps"""				):
									a										=							torch.manual_seed(__magic_name__				)
								else:
									a										=							torch.Generator(device=__magic_name__				).manual_seed(__magic_name__				)

								a										=							floats_tensor((1, 3, 32, 32)		,      rng=random.Random(__magic_name__				)				).to(__magic_name__				)
								a										=							floats_tensor((1, 3, 16, 16)		,      rng=random.Random(__magic_name__				)				).to(__magic_name__				)

								a										=							{
								    """prompt""": """A painting of a squirrel eating a burger""",
								    """image""": image,
								    """original_image""": original_image,
								    """generator""": generator,
								    """num_inference_steps""": 2,
								    """output_type""": """numpy""",
								}

								return inputs
							@unittest.skipIf(
							    torch_device != """cuda""" or not is_xformers_available()		,      reason="""XFormers attention is only available with CUDA and `xformers` installed"""		,      )
							def       lowerCamelCase__							(						self						:Optional[Any]				):







								'''simple docstring'''







								self._test_xformers_attention_forwardGenerator_pass(expected_max_diff=1E-3				)
							def       lowerCamelCase__							(						self						:List[str]				):







								'''simple docstring'''







								self._test_save_load_optional_components()
							@unittest.skipIf(torch_device != """cuda"""		,      reason="""float16 requires CUDA"""				)
							def       lowerCamelCase__							(						self						:Tuple				):







								'''simple docstring'''







								super().test_save_load_floataa(expected_max_diff=1E-1				)
							def       lowerCamelCase__							(						self						:Any				):







								'''simple docstring'''







								self._test_attention_slicing_forward_pass(expected_max_diff=1E-2				)
							def       lowerCamelCase__							(						self						:Dict				):







								'''simple docstring'''







								self._test_save_load_local()





							def       lowerCamelCase__							(						self						:Tuple				):







								'''simple docstring'''







								self._test_inference_batch_single_identical(
								    expected_max_diff=1E-2		,      )







def 		__A		(	__lowerCamelCase    )      ->       int:
	a										=							0
	while num > 0:
		digit_sum += num % 10
		num //= 10
	return digit_sum





def 		__A		(	__lowerCamelCase = 100    )      ->       int:
	a										=							1
	a										=							2

	for i in range(2							,			max_n + 1    ):
		a										=							pre_numerator
		a										=							2 * i // 3 if i % 3 == 0 else 1
		a										=							cur_numerator
		a										=							e_cont * pre_numerator + temp

	return sum_digits(__lowerCamelCase    )


if __name__ == "__main__":
		print(F'{solution() = }')

