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


A__           =							logging.get_logger(__name__)

A__           =							{"""openai-gpt""": """https://huggingface.co/openai-gpt/resolve/main/config.json"""}
class   _lowerCAmelCase		(     __SCREAMING_SNAKE_CASE				):
							_UpperCAmelCase						    =     'openai-gpt'
							_UpperCAmelCase						    =     {
							    'max_position_embeddings': 'n_positions',
							    'hidden_size': 'n_embd',
							    'num_attention_heads': 'n_head',
							    'num_hidden_layers': 'n_layer',
							}







							def __init__(				self     :    Dict	,					__snake_case     :    str=40478	,					__snake_case     :    Any=512	,					__snake_case     :    Tuple=768	,					__snake_case     :    Any=12	,					__snake_case     :    Tuple=12	,					__snake_case     :    Union[str, Any]="gelu"	,					__snake_case     :    Dict=0.1	,					__snake_case     :    Tuple=0.1	,					__snake_case     :    Union[str, Any]=0.1	,					__snake_case     :    Union[str, Any]=1e-5	,					__snake_case     :    str=0.0_2	,					__snake_case     :    Optional[int]="cls_index"	,					__snake_case     :    int=True	,					__snake_case     :    List[Any]=None	,					__snake_case     :    int=True	,					__snake_case     :    Any=0.1	,					**__snake_case     :    Any	,					):
										lowerCamelCase						:List[str]						  =     vocab_size
										lowerCamelCase						:str						  =     n_positions
										lowerCamelCase						:Any						  =     n_embd
										lowerCamelCase						:str						  =     n_layer
										lowerCamelCase						:Optional[Any]						  =     n_head
										lowerCamelCase						:Tuple						  =     afn
										lowerCamelCase						:int						  =     resid_pdrop
										lowerCamelCase						:Optional[Any]						  =     embd_pdrop
										lowerCamelCase						:Any						  =     attn_pdrop
										lowerCamelCase						:Optional[Any]						  =     layer_norm_epsilon
										lowerCamelCase						:str						  =     initializer_range
										lowerCamelCase						:str						  =     summary_type
										lowerCamelCase						:int						  =     summary_use_proj
										lowerCamelCase						:int						  =     summary_activation
										lowerCamelCase						:Optional[Any]						  =     summary_first_dropout
										lowerCamelCase						:int						  =     summary_proj_to_labels
										super().__init__(**__snake_case		)




from maths.prime_factors import prime_factors





def  _lowerCamelCase					(   a_				: int):
			if not isinstance(a_						,			a_):
						lowerCamelCase						:Tuple						  =     F"Input value of [number={number}] must be an integer"
						raise TypeError(a_)
			if number < 1:
						raise ValueError('''Input must be a positive integer''')
			return -1 if len(prime_factors(a_)) % 2 else 1


if __name__ == "__main__":
			import doctest

			doctest.testmod()



