





import importlib
import os
from dataclasses import dataclass
from enum import Enum
from typing import Any, Dict, Optional, Union

import torch

from ..utils import BaseOutput


UpperCamelCase__											= "scheduler_config.json"

class        __SCREAMING_SNAKE_CASE					(     _a       ):
							snake_case     :      Optional[int]						     =       1
							snake_case     :      List[Any]						     =       2
							snake_case     :      Any						     =       3
							snake_case     :      List[str]						     =       4
							snake_case     :      Dict						     =       5
							snake_case     :      int						     =       6
							snake_case     :      Optional[int]						     =       7
							snake_case     :      Tuple						     =       8
							snake_case     :      List[str]						     =       9
							snake_case     :      Union[str, Any]						     =       10
							snake_case     :      Tuple						     =       11
							snake_case     :      Tuple						     =       12
							snake_case     :      Optional[int]						     =       13
							snake_case     :      Optional[int]						     =       14






@dataclass
class        __SCREAMING_SNAKE_CASE					(     _a       ):
							snake_case     :      torch.FloatTensor






class        __SCREAMING_SNAKE_CASE					:
							snake_case     :      Optional[Any]						     =       SCHEDULER_CONFIG_NAME
							snake_case     :      Any						     =       []
							snake_case     :      List[str]						     =       True






							@classmethod
							def 				_lowerCamelCase		(						cls  , __lowerCAmelCase = None  , __lowerCAmelCase = None  , __lowerCAmelCase=False  , **__lowerCAmelCase  , ):
														UpperCamelCase__     ,     UpperCamelCase__     ,     UpperCamelCase__				     =			cls.load_config(
														    pretrained_model_name_or_path=__lowerCAmelCase  , subfolder=__lowerCAmelCase  , return_unused_kwargs=__lowerCAmelCase  , return_commit_hash=__lowerCAmelCase  , **__lowerCAmelCase  , )
														return cls.from_config(__lowerCAmelCase  , return_unused_kwargs=__lowerCAmelCase  , **__lowerCAmelCase  )






							def 				_lowerCamelCase		(						self  , __lowerCAmelCase  , __lowerCAmelCase = False  , **__lowerCAmelCase  ):
														self.save_config(save_directory=__lowerCAmelCase  , push_to_hub=__lowerCAmelCase  , **__lowerCAmelCase  )






							@property
							def 				_lowerCamelCase		(						self  ):
														return self._get_compatibles()







							@classmethod
							def 				_lowerCamelCase		(						cls  ):
														UpperCamelCase__				     =			list(set([cls.__name__] + cls._compatibles  )  )
														UpperCamelCase__				     =			importlib.import_module(__name__.split("""."""  )[0]  )
														UpperCamelCase__				     =			[
														    getattr(__lowerCAmelCase  , __lowerCAmelCase  ) for c in compatible_classes_str if hasattr(__lowerCAmelCase  , __lowerCAmelCase  )
														]
														return compatible_classes











def     _UpperCamelCase     (a__   :int       ):






							"""simple docstring"""





							if divisor % 5 == 0 or divisor % 2 == 0:
														return 0
							UpperCamelCase__				     =			1
							UpperCamelCase__				     =			1
							while repunit:
														UpperCamelCase__				     =			(10 * repunit + 1) % divisor
														repunit_index += 1
							return repunit_index





def     _UpperCamelCase     (a__   :int = 100_0000       ):






							"""simple docstring"""





							UpperCamelCase__				     =			limit - 1
							if divisor % 2 == 0:
														divisor += 1
							while least_divisible_repunit(a__       ) <= limit:
														divisor += 2
							return divisor


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




