'''simple docstring'''




from ...configuration_utils import PretrainedConfig
from ...utils import logging
from ...utils.backbone_utils import BackboneConfigMixin, get_aligned_output_features_output_indices


_a   :	List[str] =   logging.get_logger(__name__)

_a   :	Dict =   {
    "microsoft/focalnet-tiny": "https://huggingface.co/microsoft/focalnet-tiny/resolve/main/config.json",
}






class 		__A       (UpperCamelCase__ ,					UpperCamelCase__   ):
       snake_case       :Any				    =					"focalnet"






       def __init__(      self				,     UpperCamelCase_=2_24				,     UpperCamelCase_=4				,     UpperCamelCase_=3				,     UpperCamelCase_=96				,     UpperCamelCase_=False				,     UpperCamelCase_=[1_92, 3_84, 7_68, 7_68]				,     UpperCamelCase_=[2, 2, 6, 2]				,     UpperCamelCase_=[2, 2, 2, 2]				,     UpperCamelCase_=[3, 3, 3, 3]				,     UpperCamelCase_="gelu"				,     UpperCamelCase_=4.0				,     UpperCamelCase_=0.0				,     UpperCamelCase_=0.1				,     UpperCamelCase_=False				,     UpperCamelCase_=1E-4				,     UpperCamelCase_=False				,     UpperCamelCase_=False				,     UpperCamelCase_=False				,     UpperCamelCase_=0.0_2				,     UpperCamelCase_=1E-5				,     UpperCamelCase_=32				,     UpperCamelCase_=None				,     UpperCamelCase_=None				,     **UpperCamelCase_				,     ):
              super().__init__(**__A      )

              __UpperCAmelCase  :				Dict       				=		image_size
              __UpperCAmelCase  :				int       				=		patch_size
              __UpperCAmelCase  :				str       				=		num_channels
              __UpperCAmelCase  :				Dict       				=		embed_dim
              __UpperCAmelCase  :				Union[str, Any]       				=		use_conv_embed
              __UpperCAmelCase  :				List[str]       				=		hidden_sizes
              __UpperCAmelCase  :				Any       				=		depths
              __UpperCAmelCase  :				List[Any]       				=		focal_levels
              __UpperCAmelCase  :				Dict       				=		focal_windows
              __UpperCAmelCase  :				Optional[Any]       				=		hidden_act
              __UpperCAmelCase  :				List[str]       				=		mlp_ratio
              __UpperCAmelCase  :				Optional[Any]       				=		hidden_dropout_prob
              __UpperCAmelCase  :				Union[str, Any]       				=		drop_path_rate
              __UpperCAmelCase  :				str       				=		use_layerscale
              __UpperCAmelCase  :				Optional[Any]       				=		layerscale_value
              __UpperCAmelCase  :				Any       				=		use_post_layernorm
              __UpperCAmelCase  :				Dict       				=		use_post_layernorm_in_modulation
              __UpperCAmelCase  :				Dict       				=		normalize_modulator
              __UpperCAmelCase  :				int       				=		initializer_range
              __UpperCAmelCase  :				Optional[Any]       				=		layer_norm_eps
              __UpperCAmelCase  :				List[Any]       				=		encoder_stride
              __UpperCAmelCase  :				Any       				=		["stem"] + [f"""stage{idx}""" for idx in range(1				,     len(self.depths      ) + 1      )]
              __UpperCAmelCase				, __UpperCAmelCase  :				Tuple       				=		get_aligned_output_features_output_indices(
                  out_features=__A				,     out_indices=__A				,     stage_names=self.stage_names      )







'''simple docstring'''




from maths.is_square_free import is_square_free
from maths.prime_factors import prime_factors

def _lowercase	(      lowerCamelCase__						)					->       int:





       """simple docstring"""


       __UpperCAmelCase  :				Any       				=		prime_factors(lowerCamelCase__						)
       if is_square_free(lowerCamelCase__						):
              return -1 if len(lowerCamelCase__						) % 2 else 1
       return 0


if __name__ == "__main__":
   import doctest

   doctest.testmod()






