class 						lowercase    :




							def __init__(						self   :					Dict      )					->				Optional[Any]:



												'''simple docstring'''

												SCREAMING_SNAKE_CASE    			=       {}




							def 	__snake_case(						self   :					str      )					->				None:



												'''simple docstring'''

												print(self.vertex      )
												for i in self.vertex:
																	print(_UpperCamelCase	,							" -> "	,							" -> ".join([str(_UpperCamelCase      ) for j in self.vertex[i]]      )      )




							def 	__snake_case(						self   :					List[str]	,							_UpperCamelCase   :					int	,							_UpperCamelCase   :					int      )					->				None:



												'''simple docstring'''

												if from_vertex in self.vertex:
																	self.vertex[from_vertex].append(_UpperCamelCase      )
												else:
																	# else make a new vertex
																	SCREAMING_SNAKE_CASE    			=       [to_vertex]




							def 	__snake_case(						self   :					Dict      )					->				None:



												'''simple docstring'''

												SCREAMING_SNAKE_CASE    			=       [False] * len(self.vertex      )

												# call the recursive helper function
												for i in range(len(self.vertex      )      ):
																	if not visited[i]:
																						self.dfs_recursive(_UpperCamelCase	,							_UpperCamelCase      )





							def 	__snake_case(						self   :					List[Any]	,							_UpperCamelCase   :					int	,							_UpperCamelCase   :					list      )					->				None:



												'''simple docstring'''

												SCREAMING_SNAKE_CASE    			=       True

												print(_UpperCamelCase	,							end=" "      )

												# Recur for all the vertices that are adjacent to this node
												for i in self.vertex:
																	if not visited[i]:
																						self.dfs_recursive(_UpperCamelCase	,							_UpperCamelCase      )


if __name__ == "__main__":
							_lowerCamelCase					:   Tuple							=		Graph()
							g.add_edge(0, 1)
							g.add_edge(0, 2)
							g.add_edge(1, 2)
							g.add_edge(2, 0)
							g.add_edge(2, 3)
							g.add_edge(3, 3)

							g.print_graph()
							print('''DFS:''')
							g.dfs()

							# OUTPUT:
							# 0  ->  1 -> 2
							# 1  ->  2
							# 2  ->  0 -> 3
							# 3  ->  3
							# DFS:
							#  0 1 2 3





from __future__ import annotations

from typing import Dict

from ...configuration_utils import PretrainedConfig


_lowerCamelCase					:   Tuple							=		{
    '''susnato/ernie-m-base_pytorch''': '''https://huggingface.co/susnato/ernie-m-base_pytorch/blob/main/config.json''',
    '''susnato/ernie-m-large_pytorch''': '''https://huggingface.co/susnato/ernie-m-large_pytorch/blob/main/config.json''',
}


class 						lowercase    (     a     ):
							lowercase__						:       Optional[Any]								=							"""ernie_m"""
							lowercase__						:       Dict[str, str]								=							{"dropout": "classifier_dropout", "num_classes": "num_labels"}




							def __init__(						self   :					Optional[int]	,							_UpperCamelCase   :					int = 250_002	,							_UpperCamelCase   :					int = 768	,							_UpperCamelCase   :					int = 12	,							_UpperCamelCase   :					int = 12	,							_UpperCamelCase   :					int = 3_072	,							_UpperCamelCase   :					str = "gelu"	,							_UpperCamelCase   :					float = 0.1	,							_UpperCamelCase   :					float = 0.1	,							_UpperCamelCase   :					int = 514	,							_UpperCamelCase   :					float = 0.0_2	,							_UpperCamelCase   :					int = 1	,							_UpperCamelCase   :					float = 1e-05	,							_UpperCamelCase   :					int=None	,							_UpperCamelCase   :					int=False	,							_UpperCamelCase   :					int=0.0	,							**_UpperCamelCase   :					Union[str, Any]	,							)					->				Optional[Any]:



												'''simple docstring'''

												super().__init__(pad_token_id=_UpperCamelCase	,							**_UpperCamelCase      )
												SCREAMING_SNAKE_CASE    			=       vocab_size
												SCREAMING_SNAKE_CASE    			=       hidden_size
												SCREAMING_SNAKE_CASE    			=       num_hidden_layers
												SCREAMING_SNAKE_CASE    			=       num_attention_heads
												SCREAMING_SNAKE_CASE    			=       intermediate_size
												SCREAMING_SNAKE_CASE    			=       hidden_act
												SCREAMING_SNAKE_CASE    			=       hidden_dropout_prob
												SCREAMING_SNAKE_CASE    			=       attention_probs_dropout_prob
												SCREAMING_SNAKE_CASE    			=       max_position_embeddings
												SCREAMING_SNAKE_CASE    			=       initializer_range
												SCREAMING_SNAKE_CASE    			=       layer_norm_eps
												SCREAMING_SNAKE_CASE    			=       classifier_dropout
												SCREAMING_SNAKE_CASE    			=       is_decoder
												SCREAMING_SNAKE_CASE    			=       act_dropout




