





import unittest

import numpy as np

from diffusers import LMSDiscreteScheduler, OnnxStableDiffusionInpaintPipeline
from diffusers.utils.testing_utils import (
    is_onnx_available,
    load_image,
    nightly,
    require_onnxruntime,
    require_torch_gpu,
)

from ..test_pipelines_onnx_common import OnnxPipelineTesterMixin


if is_onnx_available():
      import onnxruntime as ort

class 		UpperCamelCase__ (      lowerCAmelCase_							,      unittest.TestCase   ):



     '''simple docstring'''

     pass

@nightly
@require_onnxruntime
@require_torch_gpu
class 		UpperCamelCase__ (      unittest.TestCase   ):



     '''simple docstring'''

     @property
     def 				SCREAMING_SNAKE_CASE__  (							self						:    Dict       )     ->		Optional[int]:




           '''simple docstring'''


           return (
               "CUDAExecutionProvider",
               {
                   "gpu_mem_limit": "15000000000",  # 15GB
                   "arena_extend_strategy": "kSameAsRequested",
               },
           )






     @property
     def 				SCREAMING_SNAKE_CASE__  (							self						:    int       )     ->		Optional[int]:




           '''simple docstring'''


           SCREAMING_SNAKE_CASE		=						ort.SessionOptions()
           SCREAMING_SNAKE_CASE		=						False
           return options






     def 				SCREAMING_SNAKE_CASE__  (							self						:    Union[str, Any]       )     ->		Optional[int]:




           '''simple docstring'''


           SCREAMING_SNAKE_CASE		=						load_image(
               """https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main"""
               """/in_paint/overture-creations-5sI6fQgYIuo.png"""       )
           SCREAMING_SNAKE_CASE		=						load_image(
               """https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main"""
               """/in_paint/overture-creations-5sI6fQgYIuo_mask.png"""       )
           SCREAMING_SNAKE_CASE		=						OnnxStableDiffusionInpaintPipeline.from_pretrained(
               """runwayml/stable-diffusion-inpainting"""						,revision="""onnx"""						,safety_checker=lowerCamelCase__						,feature_extractor=lowerCamelCase__						,provider=self.gpu_provider						,sess_options=self.gpu_options						,)
           pipe.set_progress_bar_config(disable=lowerCamelCase__       )

           SCREAMING_SNAKE_CASE		=						"""A red cat sitting on a park bench"""

           SCREAMING_SNAKE_CASE		=						np.random.RandomState(0       )
           SCREAMING_SNAKE_CASE		=						pipe(
               prompt=lowerCamelCase__						,image=lowerCamelCase__						,mask_image=lowerCamelCase__						,guidance_scale=7.5						,num_inference_steps=10						,generator=lowerCamelCase__						,output_type="""np"""						,)
           SCREAMING_SNAKE_CASE		=						output.images
           SCREAMING_SNAKE_CASE		=						images[0, 255:258, 255:258, -1]

           assert images.shape == (1, 512, 512, 3)
           SCREAMING_SNAKE_CASE		=						np.array([0.2514, 0.3007, 0.3517, 0.1790, 0.2382, 0.3167, 0.1944, 0.2273, 0.2464]       )

           assert np.abs(image_slice.flatten() - expected_slice       ).max() < 1e-3






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




           '''simple docstring'''


           SCREAMING_SNAKE_CASE		=						load_image(
               """https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main"""
               """/in_paint/overture-creations-5sI6fQgYIuo.png"""       )
           SCREAMING_SNAKE_CASE		=						load_image(
               """https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main"""
               """/in_paint/overture-creations-5sI6fQgYIuo_mask.png"""       )
           SCREAMING_SNAKE_CASE		=						LMSDiscreteScheduler.from_pretrained(
               """runwayml/stable-diffusion-inpainting"""						,subfolder="""scheduler"""						,revision="""onnx"""       )
           SCREAMING_SNAKE_CASE		=						OnnxStableDiffusionInpaintPipeline.from_pretrained(
               """runwayml/stable-diffusion-inpainting"""						,revision="""onnx"""						,scheduler=lowerCamelCase__						,safety_checker=lowerCamelCase__						,feature_extractor=lowerCamelCase__						,provider=self.gpu_provider						,sess_options=self.gpu_options						,)
           pipe.set_progress_bar_config(disable=lowerCamelCase__       )

           SCREAMING_SNAKE_CASE		=						"""A red cat sitting on a park bench"""

           SCREAMING_SNAKE_CASE		=						np.random.RandomState(0       )
           SCREAMING_SNAKE_CASE		=						pipe(
               prompt=lowerCamelCase__						,image=lowerCamelCase__						,mask_image=lowerCamelCase__						,guidance_scale=7.5						,num_inference_steps=20						,generator=lowerCamelCase__						,output_type="""np"""						,)
           SCREAMING_SNAKE_CASE		=						output.images
           SCREAMING_SNAKE_CASE		=						images[0, 255:258, 255:258, -1]

           assert images.shape == (1, 512, 512, 3)
           SCREAMING_SNAKE_CASE		=						np.array([0.0086, 0.0077, 0.0083, 0.0093, 0.0107, 0.0139, 0.0094, 0.0097, 0.0125]       )

           assert np.abs(image_slice.flatten() - expected_slice       ).max() < 1e-3









from collections import defaultdict
from math import gcd



def    __lowercase   (      _SCREAMING_SNAKE_CASE = 1_50_00_00	) ->   int:


      '''simple docstring'''


      SCREAMING_SNAKE_CASE		=						defaultdict(_SCREAMING_SNAKE_CASE	)
      SCREAMING_SNAKE_CASE		=						2
      while 2 * euclid_m * (euclid_m + 1) <= limit:
            for euclid_n in range((euclid_m % 2) + 1 ,						_SCREAMING_SNAKE_CASE ,						2	):
                  if gcd(_SCREAMING_SNAKE_CASE ,						_SCREAMING_SNAKE_CASE	) > 1:
                        continue
                  SCREAMING_SNAKE_CASE		=						2 * euclid_m * (euclid_m + euclid_n)
                  for perimeter in range(_SCREAMING_SNAKE_CASE ,						limit + 1 ,						_SCREAMING_SNAKE_CASE	):
                        frequencies[perimeter] += 1
            euclid_m += 1
      return sum(1 for frequency in frequencies.values() if frequency == 1	)


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


