


from __future__ import annotations




def 						__SCREAMING_SNAKE_CASE       (					lowercase_			)		->    list[int]:




						'''simple docstring'''







						__UpperCAmelCase :       int  						=  2
						__UpperCAmelCase :       int  						=  []
						while i * i <= n:
												if n % i:
																		i += 1
												else:
																		n //= i
																		factors.append(lowercase_			)
						if n > 1:
												factors.append(lowercase_			)
						return factors


if __name__ == "__main__":
				import doctest

				doctest.testmod()





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


lowerCAmelCase							=						logging.get_logger(__name__)

lowerCAmelCase							=						{
    """google/realm-cc-news-pretrained-embedder""": (
        """https://huggingface.co/google/realm-cc-news-pretrained-embedder/resolve/main/config.json"""
    ),
    """google/realm-cc-news-pretrained-encoder""": (
        """https://huggingface.co/google/realm-cc-news-pretrained-encoder/resolve/main/config.json"""
    ),
    """google/realm-cc-news-pretrained-scorer""": (
        """https://huggingface.co/google/realm-cc-news-pretrained-scorer/resolve/main/config.json"""
    ),
    """google/realm-cc-news-pretrained-openqa""": (
        """https://huggingface.co/google/realm-cc-news-pretrained-openqa/aresolve/main/config.json"""
    ),
    """google/realm-orqa-nq-openqa""": """https://huggingface.co/google/realm-orqa-nq-openqa/resolve/main/config.json""",
    """google/realm-orqa-nq-reader""": """https://huggingface.co/google/realm-orqa-nq-reader/resolve/main/config.json""",
    """google/realm-orqa-wq-openqa""": """https://huggingface.co/google/realm-orqa-wq-openqa/resolve/main/config.json""",
    """google/realm-orqa-wq-reader""": """https://huggingface.co/google/realm-orqa-wq-reader/resolve/main/config.json""",
    # See all REALM models at https://huggingface.co/models?filter=realm
}




class        lowerCamelCase      (     _UpperCamelCase   ):
	_lowerCAmelCase    :		Tuple        =	'''realm'''


	def __init__(						self							,    lowercase__=3_0_5_2_2							,    lowercase__=7_6_8							,    lowercase__=1_2_8							,    lowercase__=1_2							,    lowercase__=1_2							,    lowercase__=8							,    lowercase__=3_0_7_2							,    lowercase__="gelu_new"							,    lowercase__=0.1							,    lowercase__=0.1							,    lowercase__=5_1_2							,    lowercase__=2							,    lowercase__=0.0_2							,    lowercase__=1e-12							,    lowercase__=2_5_6							,    lowercase__=1_0							,    lowercase__=1e-3							,    lowercase__=5							,    lowercase__=3_2_0							,    lowercase__=1_3_3_5_3_7_1_8							,    lowercase__=5_0_0_0							,    lowercase__=1							,    lowercase__=0							,    lowercase__=2							,    **lowercase__							,    ):
							super().__init__(pad_token_id=lowercase__							,    bos_token_id=lowercase__							,    eos_token_id=lowercase__							,    **lowercase__)

							# Common config
							__UpperCAmelCase :       Optional[Any]  						=  vocab_size
							__UpperCAmelCase :       int  						=  max_position_embeddings
							__UpperCAmelCase :       Tuple  						=  hidden_size
							__UpperCAmelCase :       Optional[Any]  						=  retriever_proj_size
							__UpperCAmelCase :       List[Any]  						=  num_hidden_layers
							__UpperCAmelCase :       Optional[Any]  						=  num_attention_heads
							__UpperCAmelCase :       int  						=  num_candidates
							__UpperCAmelCase :       Dict  						=  intermediate_size
							__UpperCAmelCase :       Optional[Any]  						=  hidden_act
							__UpperCAmelCase :       Tuple  						=  hidden_dropout_prob
							__UpperCAmelCase :       Any  						=  attention_probs_dropout_prob
							__UpperCAmelCase :       Optional[Any]  						=  initializer_range
							__UpperCAmelCase :       List[str]  						=  type_vocab_size
							__UpperCAmelCase :       Any  						=  layer_norm_eps

							# Reader config
							__UpperCAmelCase :       Optional[int]  						=  span_hidden_size
							__UpperCAmelCase :       Dict  						=  max_span_width
							__UpperCAmelCase :       int  						=  reader_layer_norm_eps
							__UpperCAmelCase :       int  						=  reader_beam_size
							__UpperCAmelCase :       Optional[int]  						=  reader_seq_len

							# Retrieval config
							__UpperCAmelCase :       Optional[int]  						=  num_block_records
							__UpperCAmelCase :       Optional[Any]  						=  searcher_beam_size

