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


SCREAMING_SNAKE_CASE__		:					Any					   =					logging.get_logger(__name__)

SCREAMING_SNAKE_CASE__		:					List[Any]					   =					{
    "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       snake_case					(      _UpperCamelCase						):
  lowercase_			=     'falcon'
  lowercase_			=     ['past_key_values']




  def __init__(      self     :	List[Any]     , a_     :	int=6_5024     , a_     :	int=4544     , a_     :	List[Any]=32     , a_     :	str=71     , a_     :	Optional[Any]=1e-5     , a_     :	List[Any]=0.02     , a_     :	Any=True     , a_     :	Optional[int]=0.0     , a_     :	str=0.0     , a_     :	Optional[int]=None     , a_     :	Optional[int]=False     , a_     :	int=False     , a_     :	Union[str, Any]=True     , a_     :	List[Any]=True     , a_     :	str=False     , a_     :	Union[str, Any]=11     , a_     :	Optional[Any]=11     , **a_     :	Union[str, Any]     , )->       str:




       """simple docstring"""
       SCREAMING_SNAKE_CASE__				:				str			=		vocab_size
       # Backward compatibility with n_embed kwarg
       SCREAMING_SNAKE_CASE__				:				Dict			=		kwargs.pop('n_embed'     , a_				)
       SCREAMING_SNAKE_CASE__				:				List[str]			=		hidden_size if n_embed is None else n_embed
       SCREAMING_SNAKE_CASE__				:				List[str]			=		num_hidden_layers
       SCREAMING_SNAKE_CASE__				:				Optional[int]			=		num_attention_heads
       SCREAMING_SNAKE_CASE__				:				int			=		layer_norm_epsilon
       SCREAMING_SNAKE_CASE__				:				Optional[Any]			=		initializer_range
       SCREAMING_SNAKE_CASE__				:				Optional[Any]			=		use_cache
       SCREAMING_SNAKE_CASE__				:				Union[str, Any]			=		hidden_dropout
       SCREAMING_SNAKE_CASE__				:				str			=		attention_dropout

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

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




  @property
  def 	__lowercase(      self     :	Any				)->       Any:




       """simple docstring"""
       return self.hidden_size // self.num_attention_heads




  @property
  def 	__lowercase(      self     :	Union[str, Any]				)->       Optional[Any]:




       """simple docstring"""
       return not self.alibi




import requests

SCREAMING_SNAKE_CASE__		:					int						=					"https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey="







def     _a				(      lowercase__  :			str ):







     '''simple docstring'''


     SCREAMING_SNAKE_CASE__				:				Optional[Any]			=		requests.get(_NEWS_API + bbc_news_api_key ).json()
     # each article in the list is a dict
     for i, article in enumerate(bbc_news_page['articles']     ,  1 ):
          print(f'''{i}.) {article['title']}''' )


if __name__ == "__main__":
      fetch_bbc_news(bbc_news_api_key="<Your BBC News API key goes here>")



