
import functools






def 		_UpperCAmelCase   (	UpperCamelCase:     str			,							UpperCamelCase:     str  ):






	"""simple docstring"""


	__lowerCAmelCase         =							len(UpperCamelCase  )
	__lowerCAmelCase         =							len(UpperCamelCase  )

	@functools.cache
	def min_distance(UpperCamelCase:     int			,							UpperCamelCase:     int  ) -> int:
		# if first word index is overflow - delete all from the second word
		if indexa >= len_worda:
			return len_worda - indexa
		# if second word index is overflow - delete all from the first word
		if indexa >= len_worda:
			return len_worda - indexa
		__lowerCAmelCase         =							int(worda[indexa] != worda[indexa]  )  # current letters not identical
		return min(
		    1 + min_distance(indexa + 1			,							UpperCamelCase  )			,							1 + min_distance(UpperCamelCase			,							indexa + 1  )			,							diff + min_distance(indexa + 1			,							indexa + 1  )			,							)

	return min_distance(0			,							0  )


if __name__ == "__main__":
					import doctest

					doctest.testmod()








import unittest

import numpy as np
import torch

from diffusers import VersatileDiffusionImageVariationPipeline
from diffusers.utils.testing_utils import load_image, require_torch_gpu, slow, torch_device


UpperCamelCase_   	=	False

class       a		(   unittest.TestCase					):
							pass

@slow
@require_torch_gpu
class       a		(   unittest.TestCase					):







							def       UpperCAmelCase__					(						self  :  Dict ):
								"""simple docstring"""







								__lowerCAmelCase         =							VersatileDiffusionImageVariationPipeline.from_pretrained("shi-labs/versatile-diffusion" )
								pipe.to(snake_case__ )
								pipe.set_progress_bar_config(disable=snake_case__ )

								__lowerCAmelCase         =							load_image(
								    "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/versatile_diffusion/benz.jpg" )
								__lowerCAmelCase         =							torch.manual_seed(0 )
								__lowerCAmelCase         =							pipe(
								    image=snake_case__      ,				generator=snake_case__      ,				guidance_scale=7.5      ,				num_inference_steps=50      ,				output_type="numpy"      ,				).images

								__lowerCAmelCase         =							image[0, 253:256, 253:256, -1]

								assert image.shape == (1, 512, 512, 3)
								__lowerCAmelCase         =							np.array([0.0_4_4_1, 0.0_4_6_9, 0.0_5_0_7, 0.0_5_7_5, 0.0_6_3_2, 0.0_6_5_0, 0.0_8_6_5, 0.0_9_0_9, 0.0_9_4_5] )

								assert np.abs(image_slice.flatten() - expected_slice ).max() < 1E-2






