


'''simple docstring'''
from ...configuration_utils import PretrainedConfig
from ...utils import logging
from ...utils.backbone_utils import BackboneConfigMixin, get_aligned_output_features_output_indices


lowerCAmelCase						=					logging.get_logger(__name__)

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






class        lowerCAmelCase_  (     UpperCAmelCase      ,							UpperCAmelCase	):
       __UpperCAmelCase					='focalnet'






       def __init__( self			,     _UpperCamelCase=224			,     _UpperCamelCase=4			,     _UpperCamelCase=3			,     _UpperCamelCase=96			,     _UpperCamelCase=False			,     _UpperCamelCase=[192, 384, 768, 768]			,     _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.02			,     _UpperCamelCase=1e-5			,     _UpperCamelCase=32			,     _UpperCamelCase=None			,     _UpperCamelCase=None			,     **_UpperCamelCase			,     )->      str:
            super().__init__(**_UpperCamelCase   )

            _A				=							image_size
            _A				=							patch_size
            _A				=							num_channels
            _A				=							embed_dim
            _A				=							use_conv_embed
            _A				=							hidden_sizes
            _A				=							depths
            _A				=							focal_levels
            _A				=							focal_windows
            _A				=							hidden_act
            _A				=							mlp_ratio
            _A				=							hidden_dropout_prob
            _A				=							drop_path_rate
            _A				=							use_layerscale
            _A				=							layerscale_value
            _A				=							use_post_layernorm
            _A				=							use_post_layernorm_in_modulation
            _A				=							normalize_modulator
            _A				=							initializer_range
            _A				=							layer_norm_eps
            _A				=							encoder_stride
            _A				=							['stem'] + [F'stage{idx}' for idx in range(1			,     len(self.depths   ) + 1   )]
            _A		,				_A				=							get_aligned_output_features_output_indices(
                out_features=_UpperCamelCase			,     out_indices=_UpperCamelCase			,     stage_names=self.stage_names   )









'''simple docstring'''
def 					lowerCamelCase_ ( __UpperCamelCase					:       int		)					->	bool:







     """simple docstring"""
     return str(__UpperCamelCase		) == str(__UpperCamelCase		)[::-1]

def 					lowerCamelCase_ ( __UpperCamelCase					:       int		)					->	int:







     """simple docstring"""
     return int(__UpperCamelCase		) + int(str(__UpperCamelCase		)[::-1]		)

def 					lowerCamelCase_ ( __UpperCamelCase					:       int = 1_0_0_0_0		)					->	int:







     """simple docstring"""
     _A				=							[]
     for num in range(1							,    __UpperCamelCase		):
          _A				=							0
          _A				=							num
          while iterations < 5_0:
               _A				=							sum_reverse(__UpperCamelCase		)
               iterations += 1
               if is_palindrome(__UpperCamelCase		):
                    break
          else:
               lychrel_nums.append(__UpperCamelCase		)
     return len(__UpperCamelCase		)


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





