

from __future__ import annotations

from numpy import array, cos, cross, floataa, radians, sin
from numpy.typing import NDArray






def        SCREAMING_SNAKE_CASE__	(  lowerCamelCase__     ,			lowerCamelCase__     ,			lowerCamelCase__ = False      )  ->					list[float]:
	if radian_mode:
		return [magnitude * cos(lowerCamelCase__      ), magnitude * sin(lowerCamelCase__      )]
	return [magnitude * cos(radians(lowerCamelCase__      )      ), magnitude * sin(radians(lowerCamelCase__      )      )]






def        SCREAMING_SNAKE_CASE__	(  lowerCamelCase__     ,			lowerCamelCase__     ,			lowerCamelCase__ = 1_0**-1      )  ->					bool:
	__lowerCamelCase    :    NDArray[floataa] 	=			cross(lowerCamelCase__     ,			lowerCamelCase__      )
	__lowerCamelCase    :    float 	=			sum(lowerCamelCase__      )
	return abs(lowerCamelCase__      ) < eps


if __name__ == "__main__":
					# Test to check if it works
					a		=array(
					    [
					        polar_force(7_18.4, 180 - 30),
					        polar_force(8_79.54, 45),
					        polar_force(100, -90),
					    ]
					)

					a		=array([[0, 0], [0, 0], [0, 0]])

					assert in_static_equilibrium(forces, location)

					# Problem 1 in image_data/2D_problems.jpg
					a		=array(
					    [
					        polar_force(30 * 9.81, 15),
					        polar_force(215, 180 - 45),
					        polar_force(264, 90 - 30),
					    ]
					)

					a		=array([[0, 0], [0, 0], [0, 0]])

					assert in_static_equilibrium(forces, location)

					# Problem in image_data/2D_problems_1.jpg
					a		=array([[0, -2000], [0, -1200], [0, 15600], [0, -12400]])

					a		=array([[0, 0], [6, 0], [10, 0], [12, 0]])

					assert in_static_equilibrium(forces, location)

					import doctest

					doctest.testmod()







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


a		=logging.get_logger(__name__)

a		={
    """sayakpaul/vit-msn-base""": """https://huggingface.co/sayakpaul/vit-msn-base/resolve/main/config.json""",
    # See all ViT MSN models at https://huggingface.co/models?filter=vit_msn
}






class 	A_		(	SCREAMING_SNAKE_CASE    ):
							_UpperCAmelCase   :  str										=				'''vit_msn'''
							def __init__(		self		:      Any       ,SCREAMING_SNAKE_CASE__		:      int=7_6_8       ,SCREAMING_SNAKE_CASE__		:      Optional[int]=1_2       ,SCREAMING_SNAKE_CASE__		:      Optional[Any]=1_2       ,SCREAMING_SNAKE_CASE__		:      Tuple=3_0_7_2       ,SCREAMING_SNAKE_CASE__		:      str="gelu"       ,SCREAMING_SNAKE_CASE__		:      Any=0.0       ,SCREAMING_SNAKE_CASE__		:      str=0.0       ,SCREAMING_SNAKE_CASE__		:      Any=0.02       ,SCREAMING_SNAKE_CASE__		:      int=1E-06       ,SCREAMING_SNAKE_CASE__		:      Optional[int]=2_2_4       ,SCREAMING_SNAKE_CASE__		:      Dict=1_6       ,SCREAMING_SNAKE_CASE__		:      int=3       ,SCREAMING_SNAKE_CASE__		:      List[str]=True       ,**SCREAMING_SNAKE_CASE__		:      str       ,):
								super().__init__(**SCREAMING_SNAKE_CASE__)

								__lowerCamelCase    :    List[Any] 	=			hidden_size
								__lowerCamelCase    :    Tuple 	=			num_hidden_layers
								__lowerCamelCase    :    Union[str, Any] 	=			num_attention_heads
								__lowerCamelCase    :    Dict 	=			intermediate_size
								__lowerCamelCase    :    List[Any] 	=			hidden_act
								__lowerCamelCase    :    Optional[Any] 	=			hidden_dropout_prob
								__lowerCamelCase    :    str 	=			attention_probs_dropout_prob
								__lowerCamelCase    :    List[str] 	=			initializer_range
								__lowerCamelCase    :    Optional[int] 	=			layer_norm_eps
								__lowerCamelCase    :    Tuple 	=			image_size
								__lowerCamelCase    :    Union[str, Any] 	=			patch_size
								__lowerCamelCase    :    Optional[Any] 	=			num_channels
								__lowerCamelCase    :    List[str] 	=			qkv_bias




