




from __future__ import annotations

from enum import Enum






class 					__lowerCAmelCase				( UpperCAmelCase__				):
			snake_case_   :				Any				  =  24
			snake_case_   :				str				  =  21
			snake_case_   :				int				  =  18
			snake_case_   :				Tuple				  =  15
			snake_case_   :				Optional[Any]				  =  12
			snake_case_   :				Tuple				  =  9
			snake_case_   :				Dict				  =  6
			snake_case_   :				Any				  =  3
			snake_case_   :				Tuple				  =  2
			snake_case_   :				Tuple				  =  1
			snake_case_   :				str				  =  -1
			snake_case_   :				List[Any]				  =  -2
			snake_case_   :				Tuple				  =  -3
			snake_case_   :				Union[str, Any]				  =  -6
			snake_case_   :				Any				  =  -9
			snake_case_   :				List[str]				  =  -12
			snake_case_   :				Union[str, Any]				  =  -15
			snake_case_   :				str				  =  -18
			snake_case_   :				Optional[Any]				  =  -21
			snake_case_   :				Dict				  =  -24






class 					__lowerCAmelCase				( UpperCAmelCase__				):
			snake_case_   :				List[Any]				  =  8
			snake_case_   :				int				  =  7
			snake_case_   :				Union[str, Any]				  =  6
			snake_case_   :				Tuple				  =  5
			snake_case_   :				List[Any]				  =  4
			snake_case_   :				List[str]				  =  3
			snake_case_   :				str				  =  2
			snake_case_   :				List[str]				  =  1




def 							__SCREAMING_SNAKE_CASE						(    snake_case_			,					snake_case_			,					snake_case_			,					):

						'''simple docstring'''


						if isinstance(snake_case_			,					snake_case_		):
												_UpperCAmelCase									=  SIUnit[known_prefix.lower()]
						if isinstance(snake_case_			,					snake_case_		):
												_UpperCAmelCase									=  SIUnit[unknown_prefix.lower()]
						_UpperCAmelCase									=  known_amount * (
						    10 ** (known_prefix.value - unknown_prefix.value)
						)
						return unknown_amount


def 							__SCREAMING_SNAKE_CASE						(    snake_case_			,					snake_case_			,					snake_case_			,					):

						'''simple docstring'''


						if isinstance(snake_case_			,					snake_case_		):
												_UpperCAmelCase									=  BinaryUnit[known_prefix.lower()]
						if isinstance(snake_case_			,					snake_case_		):
												_UpperCAmelCase									=  BinaryUnit[unknown_prefix.lower()]
						_UpperCAmelCase									=  known_amount * (
						    2 ** ((known_prefix.value - unknown_prefix.value) * 10)
						)
						return unknown_amount


if __name__ == "__main__":
				import doctest

				doctest.testmod()










from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


lowercase_			:       List[str]						       =				{
    'configuration_rwkv': ['RWKV_PRETRAINED_CONFIG_ARCHIVE_MAP', 'RwkvConfig', 'RwkvOnnxConfig'],
}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowercase_			:       Any						       =				[
				    'RWKV_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'RwkvForCausalLM',
				    'RwkvModel',
				    'RwkvPreTrainedModel',
				]


if TYPE_CHECKING:
				from .configuration_rwkv import RWKV_PRETRAINED_CONFIG_ARCHIVE_MAP, RwkvConfig, RwkvOnnxConfig

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_rwkv import (
								    RWKV_PRETRAINED_MODEL_ARCHIVE_LIST,
								    RwkvForCausalLM,
								    RwkvModel,
								    RwkvPreTrainedModel,
								)
else:
				import sys

				lowercase_			:       Union[str, Any]						       =				_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)




