




"""simple docstring"""






import os
import sys
import unittest


lowercase__     						=						os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
sys.path.append(os.path.join(git_repo_path, """utils"""))

import check_dummies  # noqa: E402
from check_dummies import create_dummy_files, create_dummy_object, find_backend, read_init  # noqa: E402


# Align TRANSFORMERS_PATH in check_dummies with the current path
lowercase__     						=						os.path.join(git_repo_path, """src""", """diffusers""")






class lowerCAmelCase__	(     unittest.TestCase						):






			'''simple docstring'''



			def 					A_    (  self  ):
							_lowerCamelCase     :			str    =    find_backend('    if not is_torch_available():'  )
							self.assertEqual(lowerCAmelCase_  ,      'torch'  )

							# backend_with_underscore = find_backend("    if not is_tensorflow_text_available():")
							# self.assertEqual(backend_with_underscore, "tensorflow_text")

							_lowerCamelCase     :			Optional[int]    =    find_backend('    if not (is_torch_available() and is_transformers_available()):'  )
							self.assertEqual(lowerCAmelCase_  ,      'torch_and_transformers'  )

							# double_backend_with_underscore = find_backend(
							#    "    if not (is_sentencepiece_available() and is_tensorflow_text_available()):"
							# )
							# self.assertEqual(double_backend_with_underscore, "sentencepiece_and_tensorflow_text")

							_lowerCamelCase     :			Any    =    find_backend(
							    '    if not (is_torch_available() and is_transformers_available() and is_onnx_available()):'  )
							self.assertEqual(lowerCAmelCase_  ,      'torch_and_transformers_and_onnx'  )
			def 					A_    (  self  ):
							_lowerCamelCase     :			List[str]    =    read_init()
							# We don't assert on the exact list of keys to allow for smooth grow of backend-specific objects
							self.assertIn('torch'  ,      lowerCAmelCase_  )
							self.assertIn('torch_and_transformers'  ,      lowerCAmelCase_  )
							self.assertIn('flax_and_transformers'  ,      lowerCAmelCase_  )
							self.assertIn('torch_and_transformers_and_onnx'  ,      lowerCAmelCase_  )

							# Likewise, we can't assert on the exact content of a key
							self.assertIn('UNet2DModel'  ,      objects['torch']  )
							self.assertIn('FlaxUNet2DConditionModel'  ,      objects['flax']  )
							self.assertIn('StableDiffusionPipeline'  ,      objects['torch_and_transformers']  )
							self.assertIn('FlaxStableDiffusionPipeline'  ,      objects['flax_and_transformers']  )
							self.assertIn('LMSDiscreteScheduler'  ,      objects['torch_and_scipy']  )
							self.assertIn('OnnxStableDiffusionPipeline'  ,      objects['torch_and_transformers_and_onnx']  )
			def 					A_    (  self  ):
							_lowerCamelCase     :			int    =    create_dummy_object('CONSTANT'  ,      '\'torch\''  )
							self.assertEqual(lowerCAmelCase_  ,      '\nCONSTANT = None\n'  )

							_lowerCamelCase     :			List[Any]    =    create_dummy_object('function'  ,      '\'torch\''  )
							self.assertEqual(
							    lowerCAmelCase_  ,      '\ndef function(*args, **kwargs):\n    requires_backends(function, \'torch\')\n'  )

							_lowerCamelCase     :			Dict    =    '\nclass FakeClass(metaclass=DummyObject):\n    _backends = \'torch\'\n\n    def __init__(self, *args, **kwargs):\n        requires_backends(self, \'torch\')\n\n    @classmethod\n    def from_config(cls, *args, **kwargs):\n        requires_backends(cls, \'torch\')\n\n    @classmethod\n    def from_pretrained(cls, *args, **kwargs):\n        requires_backends(cls, \'torch\')\n'
							_lowerCamelCase     :			Any    =    create_dummy_object('FakeClass'  ,      '\'torch\''  )
							self.assertEqual(lowerCAmelCase_  ,      lowerCAmelCase_  )






			def 					A_    (  self  ):
							_lowerCamelCase     :			Tuple    =    '# This file is autogenerated by the command `make fix-copies`, do not edit.\nfrom ..utils import DummyObject, requires_backends\n\n\nCONSTANT = None\n\n\ndef function(*args, **kwargs):\n    requires_backends(function, [\"torch\"])\n\n\nclass FakeClass(metaclass=DummyObject):\n    _backends = [\"torch\"]\n\n    def __init__(self, *args, **kwargs):\n        requires_backends(self, [\"torch\"])\n\n    @classmethod\n    def from_config(cls, *args, **kwargs):\n        requires_backends(cls, [\"torch\"])\n\n    @classmethod\n    def from_pretrained(cls, *args, **kwargs):\n        requires_backends(cls, [\"torch\"])\n'
							_lowerCamelCase     :			Optional[int]    =    create_dummy_files({'torch': ['CONSTANT', 'function', 'FakeClass']}  )
							self.assertEqual(dummy_files['torch']  ,      lowerCAmelCase_  )
from math import isqrt






def  snake_case  (       snake_case__			:int)						->   bool:
       return all(number % divisor != 0 for divisor in range(2   ,	isqrt(snake_case__) + 1))






def  snake_case  (       snake_case__			:int = 10**6)						->   int:
       _A        =  0
       _A        =  1
       _A        =  7
       while prime_candidate < max_prime:
              primes_count += is_prime(snake_case__)

              cube_index += 1
              prime_candidate += 6 * cube_index

       return primes_count


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




