




class 		UpperCAmelCase   :







						'''simple docstring'''





						def __init__(						self							:     int       ,	__lowercase							:     list						):






							"""simple docstring"""






							snake_case_		    =     set_counts
							snake_case_		    =     max(UpperCAmelCase_						)
							snake_case_		    =     len(UpperCAmelCase_						)
							snake_case_		    =     [1] * num_sets
							snake_case_		    =     list(range(UpperCAmelCase_						)						)






						def        snake_case__						(						self							:     Optional[Any]       ,	__lowercase							:     int       ,	__lowercase							:     int						):






							"""simple docstring"""






							snake_case_		    =     self.get_parent(UpperCAmelCase_						)
							snake_case_		    =     self.get_parent(UpperCAmelCase_						)

							if src_parent == dst_parent:
								return False

							if self.ranks[dst_parent] >= self.ranks[src_parent]:
								self.set_counts[dst_parent] += self.set_counts[src_parent]
								snake_case_		    =     0
								snake_case_		    =     dst_parent
								if self.ranks[dst_parent] == self.ranks[src_parent]:
									self.ranks[dst_parent] += 1
								snake_case_		    =     self.set_counts[dst_parent]
							else:
								self.set_counts[src_parent] += self.set_counts[dst_parent]
								snake_case_		    =     0
								snake_case_		    =     src_parent
								snake_case_		    =     self.set_counts[src_parent]

							snake_case_		    =     max(self.max_set       ,	UpperCAmelCase_						)
							return True






						def        snake_case__						(						self							:     str       ,	__lowercase							:     int						):






							"""simple docstring"""






							if self.parents[disj_set] == disj_set:
								return disj_set
							snake_case_		    =     self.get_parent(self.parents[disj_set]						)
							return self.parents[disj_set]


from collections import OrderedDict
from typing import Mapping

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


__snake_case								=  logging.get_logger(__name__)

__snake_case								=  {
    """facebook/xmod-base""": """https://huggingface.co/facebook/xmod-base/resolve/main/config.json""",
    """facebook/xmod-large-prenorm""": """https://huggingface.co/facebook/xmod-large-prenorm/resolve/main/config.json""",
    """facebook/xmod-base-13-125k""": """https://huggingface.co/facebook/xmod-base-13-125k/resolve/main/config.json""",
    """facebook/xmod-base-30-125k""": """https://huggingface.co/facebook/xmod-base-30-125k/resolve/main/config.json""",
    """facebook/xmod-base-30-195k""": """https://huggingface.co/facebook/xmod-base-30-195k/resolve/main/config.json""",
    """facebook/xmod-base-60-125k""": """https://huggingface.co/facebook/xmod-base-60-125k/resolve/main/config.json""",
    """facebook/xmod-base-60-265k""": """https://huggingface.co/facebook/xmod-base-60-265k/resolve/main/config.json""",
    """facebook/xmod-base-75-125k""": """https://huggingface.co/facebook/xmod-base-75-125k/resolve/main/config.json""",
    """facebook/xmod-base-75-269k""": """https://huggingface.co/facebook/xmod-base-75-269k/resolve/main/config.json""",
}




class 						lowercase__  (						_UpperCAmelCase  ):
	A__    :   int				       ="""xmod"""
	def __init__(			self							:   Optional[Any]       ,   UpperCAmelCase_							:   Optional[int]=30522       ,   UpperCAmelCase_							:   Union[str, Any]=768       ,   UpperCAmelCase_							:   List[str]=12       ,   UpperCAmelCase_							:   List[str]=12       ,   UpperCAmelCase_							:   List[str]=3072       ,   UpperCAmelCase_							:   Dict="gelu"       ,   UpperCAmelCase_							:   str=0.1       ,   UpperCAmelCase_							:   Dict=0.1       ,   UpperCAmelCase_							:   Optional[Any]=512       ,   UpperCAmelCase_							:   Any=2       ,   UpperCAmelCase_							:   Optional[Any]=0.02       ,   UpperCAmelCase_							:   Optional[Any]=1e-1_2       ,   UpperCAmelCase_							:   Any=1       ,   UpperCAmelCase_							:   Dict=0       ,   UpperCAmelCase_							:   Optional[int]=2       ,   UpperCAmelCase_							:   Tuple="absolute"       ,   UpperCAmelCase_							:   Union[str, Any]=True       ,   UpperCAmelCase_							:   Dict=None       ,   UpperCAmelCase_							:   Union[str, Any]=False       ,   UpperCAmelCase_							:   int=2       ,   UpperCAmelCase_							:   int=False       ,   UpperCAmelCase_							:   Optional[int]=True       ,   UpperCAmelCase_							:   List[Any]=True       ,   UpperCAmelCase_							:   Union[str, Any]=("en_XX",)       ,   UpperCAmelCase_							:   int=None       ,   **UpperCAmelCase_							:   str       ,   ):
						super().__init__(pad_token_id=UpperCAmelCase_       ,   bos_token_id=UpperCAmelCase_       ,   eos_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__													= hidden_act
						SCREAMING_SNAKE_CASE__													= intermediate_size
						SCREAMING_SNAKE_CASE__													= hidden_dropout_prob
						SCREAMING_SNAKE_CASE__													= attention_probs_dropout_prob
						SCREAMING_SNAKE_CASE__													= max_position_embeddings
						SCREAMING_SNAKE_CASE__													= type_vocab_size
						SCREAMING_SNAKE_CASE__													= initializer_range
						SCREAMING_SNAKE_CASE__													= layer_norm_eps
						SCREAMING_SNAKE_CASE__													= position_embedding_type
						SCREAMING_SNAKE_CASE__													= use_cache
						SCREAMING_SNAKE_CASE__													= classifier_dropout
						SCREAMING_SNAKE_CASE__													= pre_norm
						SCREAMING_SNAKE_CASE__													= adapter_reduction_factor
						SCREAMING_SNAKE_CASE__													= adapter_layer_norm
						SCREAMING_SNAKE_CASE__													= adapter_reuse_layer_norm
						SCREAMING_SNAKE_CASE__													= ln_before_adapter
						SCREAMING_SNAKE_CASE__													= list(UpperCAmelCase_							)
						SCREAMING_SNAKE_CASE__													= default_language





class 						lowercase__  (						_UpperCAmelCase  ):
	@property
	def      A_				(			self							:   List[Any]							):
						if self.task == "multiple-choice":
											SCREAMING_SNAKE_CASE__													= {0: 'batch', 1: 'choice', 2: 'sequence'}
						else:
											SCREAMING_SNAKE_CASE__													= {0: 'batch', 1: 'sequence'}
						return OrderedDict(
						    [
						        ('input_ids', dynamic_axis),
						        ('attention_mask', dynamic_axis),
						    ]							)





