





from ...configuration_utils import PretrainedConfig
from ...utils import logging


__UpperCAmelCase						=      logging.get_logger(__name__)

__UpperCAmelCase						=      {
    'MCG-NJU/videomae-base': 'https://huggingface.co/MCG-NJU/videomae-base/resolve/main/config.json',
}

class 		__a							(	A__      ):
       __snake_case						:   Optional[Any]      =		"""videomae"""



       def __init__(     self	:   Dict					,			UpperCAmelCase	:   Union[str, Any]=2_24					,			UpperCAmelCase	:   Any=16					,			UpperCAmelCase	:   Tuple=3					,			UpperCAmelCase	:   Dict=16					,			UpperCAmelCase	:   int=2					,			UpperCAmelCase	:   Tuple=7_68					,			UpperCAmelCase	:   List[Any]=12					,			UpperCAmelCase	:   Optional[int]=12					,			UpperCAmelCase	:   Optional[Any]=30_72					,			UpperCAmelCase	:   str="gelu"					,			UpperCAmelCase	:   Any=0.0					,			UpperCAmelCase	:   Dict=0.0					,			UpperCAmelCase	:   int=0.02					,			UpperCAmelCase	:   Optional[Any]=1e-1_2					,			UpperCAmelCase	:   Optional[Any]=True					,			UpperCAmelCase	:   Optional[Any]=True					,			UpperCAmelCase	:   Tuple=6					,			UpperCAmelCase	:   List[str]=3_84					,			UpperCAmelCase	:   int=4					,			UpperCAmelCase	:   Optional[int]=15_36					,			UpperCAmelCase	:   Union[str, Any]=True					,			**UpperCAmelCase	:   Tuple					,			):
           super().__init__(**_lowerCAmelCase			)

           lowerCAmelCase_					:	Union[str, Any]						=   image_size
           lowerCAmelCase_					:	Optional[Any]						=   patch_size
           lowerCAmelCase_					:	int						=   num_channels
           lowerCAmelCase_					:	Any						=   num_frames
           lowerCAmelCase_					:	int						=   tubelet_size

           lowerCAmelCase_					:	Dict						=   hidden_size
           lowerCAmelCase_					:	Tuple						=   num_hidden_layers
           lowerCAmelCase_					:	List[str]						=   num_attention_heads
           lowerCAmelCase_					:	str						=   intermediate_size
           lowerCAmelCase_					:	Optional[Any]						=   hidden_act
           lowerCAmelCase_					:	Any						=   hidden_dropout_prob
           lowerCAmelCase_					:	Any						=   attention_probs_dropout_prob
           lowerCAmelCase_					:	str						=   initializer_range
           lowerCAmelCase_					:	Tuple						=   layer_norm_eps
           lowerCAmelCase_					:	List[Any]						=   qkv_bias
           lowerCAmelCase_					:	Optional[int]						=   use_mean_pooling

           lowerCAmelCase_					:	List[Any]						=   decoder_num_attention_heads
           lowerCAmelCase_					:	Optional[Any]						=   decoder_hidden_size
           lowerCAmelCase_					:	Optional[int]						=   decoder_num_hidden_layers
           lowerCAmelCase_					:	Optional[Any]						=   decoder_intermediate_size
           lowerCAmelCase_					:	Optional[Any]						=   norm_pix_loss











import math
def 			__UpperCamelCase				(			lowercase__	:       int		)	->      list:
    '''simple docstring'''





    if n <= 0:
        raise ValueError("""Only positive integers have prime factors"""		)
    lowerCAmelCase_					:	str						=   []
    while n % 2 == 0:
        pf.append(2		)
        lowerCAmelCase_					:	str						=   int(n / 2		)
    for i in range(3		,    int(math.sqrt(lowercase__		)		) + 1		,    2		):
        while n % i == 0:
            pf.append(lowercase__		)
            lowerCAmelCase_					:	List[Any]						=   int(n / i		)
    if n > 2:
        pf.append(lowercase__		)
    return pf
def 			__UpperCamelCase				(			lowercase__	:       int		)	->      int:
    '''simple docstring'''





    if n <= 0:
        raise ValueError("""Only positive numbers are accepted"""		)
    lowerCAmelCase_					:	Union[str, Any]						=   1
    lowerCAmelCase_					:	str						=   1
    while n % 2 == 0:
        temp += 1
        lowerCAmelCase_					:	Optional[Any]						=   int(n / 2		)
    div *= temp
    for i in range(3		,    int(math.sqrt(lowercase__		)		) + 1		,    2		):
        lowerCAmelCase_					:	Tuple						=   1
        while n % i == 0:
            temp += 1
            lowerCAmelCase_					:	Any						=   int(n / i		)
        div *= temp
    if n > 1:
        div *= 2
    return div
def 			__UpperCamelCase				(			lowercase__	:       int		)	->      int:
    '''simple docstring'''





    if n <= 0:
        raise ValueError("""Only positive numbers are accepted"""		)
    lowerCAmelCase_					:	Tuple						=   1
    lowerCAmelCase_					:	str						=   1
    while n % 2 == 0:
        temp += 1
        lowerCAmelCase_					:	Optional[int]						=   int(n / 2		)
    if temp > 1:
        s *= (2**temp - 1) / (2 - 1)
    for i in range(3		,    int(math.sqrt(lowercase__		)		) + 1		,    2		):
        lowerCAmelCase_					:	int						=   1
        while n % i == 0:
            temp += 1
            lowerCAmelCase_					:	Any						=   int(n / i		)
        if temp > 1:
            s *= (i**temp - 1) / (i - 1)
    return int(lowercase__		)
def 			__UpperCamelCase				(			lowercase__	:       int		)	->      int:
    '''simple docstring'''





    lowerCAmelCase_					:	str						=   n
    for x in set(prime_factors(lowercase__		)		):
        s *= (x - 1) / x
    return int(lowercase__		)


if __name__ == "__main__":
  import doctest

  doctest.testmod()


