



"""simple docstring"""

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


lowercase__					:						List[Any]												=			logging.get_logger(__name__)

lowercase__					:						str												=			{
    '''tiiuae/falcon-40b''': '''https://huggingface.co/tiiuae/falcon-40b/resolve/main/config.json''',
    '''tiiuae/falcon-7b''': '''https://huggingface.co/tiiuae/falcon-7b/resolve/main/config.json''',
}




class  _UpperCAmelCase (    lowerCAmelCase__):
 _lowerCAmelCase     :    Optional[int]	      =	"""falcon"""
 _lowerCAmelCase     :    List[Any]	      =	["""past_key_values"""]

 def __init__(  self	: Any						,  lowercase_	: Any=65024						,  lowercase_	: Optional[Any]=4544						,  lowercase_	: List[str]=32						,  lowercase_	: List[str]=71						,  lowercase_	: List[str]=1E-5						,  lowercase_	: Union[str, Any]=0.02						,  lowercase_	: int=True						,  lowercase_	: int=0.0						,  lowercase_	: Dict=0.0						,  lowercase_	: List[Any]=None						,  lowercase_	: Optional[Any]=False						,  lowercase_	: List[Any]=False						,  lowercase_	: str=True						,  lowercase_	: Tuple=True						,  lowercase_	: str=False						,  lowercase_	: Optional[int]=11						,  lowercase_	: List[str]=11						,  **lowercase_	: Optional[Any]						,  ):
     snake_case_				:  List[Any]       =			vocab_size
     # Backward compatibility with n_embed kwarg
     snake_case_				:  str       =			kwargs.pop('''n_embed'''						,  lowercase_       )
     snake_case_				:  Dict       =			hidden_size if n_embed is None else n_embed
     snake_case_				:  Any       =			num_hidden_layers
     snake_case_				:  Optional[Any]       =			num_attention_heads
     snake_case_				:  Union[str, Any]       =			layer_norm_epsilon
     snake_case_				:  Any       =			initializer_range
     snake_case_				:  Any       =			use_cache
     snake_case_				:  int       =			hidden_dropout
     snake_case_				:  List[Any]       =			attention_dropout

     snake_case_				:  Optional[Any]       =			bos_token_id
     snake_case_				:  List[Any]       =			eos_token_id
     snake_case_				:  Tuple       =			num_attention_heads if num_kv_heads is None else num_kv_heads
     snake_case_				:  Union[str, Any]       =			alibi
     snake_case_				:  Union[str, Any]       =			new_decoder_architecture
     snake_case_				:  List[Any]       =			multi_query  # Ignored when new_decoder_architecture is True
     snake_case_				:  str       =			parallel_attn
     snake_case_				:  List[Any]       =			bias

     super().__init__(bos_token_id=lowercase_						,  eos_token_id=lowercase_						,  **lowercase_       )

 @property
 def 		_snake_case      (  self	: str       ):
     return self.hidden_size // self.num_attention_heads






 @property
 def 		_snake_case      (  self	: Optional[Any]       ):
     return not self.alibi










"""simple docstring"""

def __lowercase    (							_a					):
    snake_case_				:  Optional[Any]       =			int(_a					)
    if decimal in (0, 1):  # Exit cases for the recursion
        return str(_a					)
    snake_case_,			snake_case_				:  Optional[int]       =			divmod(_a	,    2					)
    return binary_recursive(_a					) + str(_a					)




def __lowercase    (							_a					):
    snake_case_				:  Dict       =			str(_a					).strip()
    if not number:
        raise ValueError('''No input value was provided'''					)
    snake_case_				:  List[str]       =			'''-''' if number.startswith('''-'''					) else ''''''
    snake_case_				:  Optional[Any]       =			number.lstrip('''-'''					)
    if not number.isnumeric():
        raise ValueError('''Input value is not an integer'''					)
    return f"{negative}0b{binary_recursive(int(_a					)					)}"


if __name__ == "__main__":
     from doctest import testmod

     testmod()





