

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


__A			:					Tuple						=			logging.get_logger(__name__)

__A			:					int						=			{
    'google/bit-50': 'https://huggingface.co/google/bit-50/resolve/main/config.json',
}





class 			_SCREAMING_SNAKE_CASE (   __snake_case					,       __snake_case		):







   '''simple docstring'''




   lowerCamelCase__				=      "bit"
   lowerCamelCase__				=      ["preactivation", "bottleneck"]
   lowerCamelCase__				=      ["SAME", "VALID"]





   def __init__(       self					:			List[str]     , __lowerCamelCase					:			Any=3     , __lowerCamelCase					:			Optional[Any]=64     , __lowerCamelCase					:			str=[256, 512, 1024, 2048]     , __lowerCamelCase					:			str=[3, 4, 6, 3]     , __lowerCamelCase					:			int="preactivation"     , __lowerCamelCase					:			Optional[int]="relu"     , __lowerCamelCase					:			int=None     , __lowerCamelCase					:			List[Any]=32     , __lowerCamelCase					:			Dict=0.0     , __lowerCamelCase					:			Optional[int]=False     , __lowerCamelCase					:			Optional[int]=32     , __lowerCamelCase					:			Optional[Any]=1     , __lowerCamelCase					:			Union[str, Any]=None     , __lowerCamelCase					:			Optional[Any]=None     , **__lowerCamelCase					:			Optional[int]     , ):
       super().__init__(**__lowerCamelCase			)
       if layer_type not in self.layer_types:
           raise ValueError(f"layer_type={layer_type} is not one of {','.join(self.layer_types			)}"			)
       if global_padding is not None:
           if global_padding.upper() in self.supported_padding:
               SCREAMING_SNAKE_CASE										=   global_padding.upper()
           else:
               raise ValueError(f"Padding strategy {global_padding} not supported"			)
       SCREAMING_SNAKE_CASE										=   num_channels
       SCREAMING_SNAKE_CASE										=   embedding_size
       SCREAMING_SNAKE_CASE										=   hidden_sizes
       SCREAMING_SNAKE_CASE										=   depths
       SCREAMING_SNAKE_CASE										=   layer_type
       SCREAMING_SNAKE_CASE										=   hidden_act
       SCREAMING_SNAKE_CASE										=   global_padding
       SCREAMING_SNAKE_CASE										=   num_groups
       SCREAMING_SNAKE_CASE										=   drop_path_rate
       SCREAMING_SNAKE_CASE										=   embedding_dynamic_padding
       SCREAMING_SNAKE_CASE										=   output_stride
       SCREAMING_SNAKE_CASE										=   width_factor

       SCREAMING_SNAKE_CASE										=   ["stem"] + [f"stage{idx}" for idx in range(1     , len(__lowerCamelCase			) + 1			)]
       SCREAMING_SNAKE_CASE							,	SCREAMING_SNAKE_CASE										=   get_aligned_output_features_output_indices(
           out_features=__lowerCamelCase     , out_indices=__lowerCamelCase     , stage_names=self.stage_names			)


def 	__a     (      A__			:  int       ):
    if not isinstance(A__			,  A__       ):
        raise ValueError("Input must be an integer"       )
    if input_num <= 0:
        raise ValueError("Input must be positive"       )
    return sum(
        divisor for divisor in range(1			,  input_num // 2 + 1       ) if input_num % divisor == 0       )


if __name__ == "__main__":
    import doctest

    doctest.testmod()