'''simple docstring'''




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


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

_lowercase		:				Optional[int]	       =		{
    'uclanlp/visualbert-vqa': 'https://huggingface.co/uclanlp/visualbert-vqa/resolve/main/config.json',
    'uclanlp/visualbert-vqa-pre': 'https://huggingface.co/uclanlp/visualbert-vqa-pre/resolve/main/config.json',
    'uclanlp/visualbert-vqa-coco-pre': (
        'https://huggingface.co/uclanlp/visualbert-vqa-coco-pre/resolve/main/config.json'
    ),
    'uclanlp/visualbert-vcr': 'https://huggingface.co/uclanlp/visualbert-vcr/resolve/main/config.json',
    'uclanlp/visualbert-vcr-pre': 'https://huggingface.co/uclanlp/visualbert-vcr-pre/resolve/main/config.json',
    'uclanlp/visualbert-vcr-coco-pre': (
        'https://huggingface.co/uclanlp/visualbert-vcr-coco-pre/resolve/main/config.json'
    ),
    'uclanlp/visualbert-nlvr2': 'https://huggingface.co/uclanlp/visualbert-nlvr2/resolve/main/config.json',
    'uclanlp/visualbert-nlvr2-pre': 'https://huggingface.co/uclanlp/visualbert-nlvr2-pre/resolve/main/config.json',
    'uclanlp/visualbert-nlvr2-coco-pre': (
        'https://huggingface.co/uclanlp/visualbert-nlvr2-coco-pre/resolve/main/config.json'
    )
    # See all VisualBERT models at https://huggingface.co/models?filter=visual_bert
}





class 					__magic_name__		(					UpperCamelCase_):
   UpperCamelCase__       = '''visual_bert'''







   def __init__(			self       :						str       ,    lowercase_       :						int=30522       ,    lowercase_       :						List[str]=768       ,    lowercase_       :						Union[str, Any]=512       ,    lowercase_       :						List[Any]=12       ,    lowercase_       :						str=12       ,    lowercase_       :						List[str]=3072       ,    lowercase_       :						Any="gelu"       ,    lowercase_       :						Tuple=0.1       ,    lowercase_       :						Tuple=0.1       ,    lowercase_       :						Tuple=512       ,    lowercase_       :						int=2       ,    lowercase_       :						str=0.02       ,    lowercase_       :						Tuple=1E-12       ,    lowercase_       :						Optional[Any]=False       ,    lowercase_       :						Union[str, Any]=True       ,    lowercase_       :						Any=1       ,    lowercase_       :						List[str]=0       ,    lowercase_       :						Dict=2       ,    **lowercase_       :						Optional[Any]       ,    ):
          super().__init__(pad_token_id=lowercase_       ,    bos_token_id=lowercase_       ,    eos_token_id=lowercase_       ,    **lowercase_					)

          lowercase_      :    Optional[int]       		= vocab_size
          lowercase_      :    Optional[Any]       		= max_position_embeddings
          lowercase_      :    Optional[Any]       		= hidden_size
          lowercase_      :    str       		= visual_embedding_dim
          lowercase_      :    Optional[int]       		= num_hidden_layers
          lowercase_      :    Dict       		= num_attention_heads
          lowercase_      :    List[Any]       		= intermediate_size
          lowercase_      :    Tuple       		= hidden_act
          lowercase_      :    Optional[Any]       		= hidden_dropout_prob
          lowercase_      :    Tuple       		= attention_probs_dropout_prob
          lowercase_      :    Optional[Any]       		= initializer_range
          lowercase_      :    str       		= type_vocab_size
          lowercase_      :    Union[str, Any]       		= layer_norm_eps
          lowercase_      :    Union[str, Any]       		= bypass_transformer
          lowercase_      :    Optional[Any]       		= special_visual_initialize






'''simple docstring'''




from __future__ import annotations




def 							lowerCamelCase			(   UpperCAmelCase__ :      list   ,   UpperCAmelCase__ :      int | None = None   ,   UpperCAmelCase__ :      int | None = None				)    ->   None:
							if start is None:
														lowercase_      :    Any       		= 0

							if end is None:
														lowercase_      :    List[Any]       		= len(UpperCAmelCase__				) - 1

							if start >= end:
														return

							lowercase_      :    Optional[int]       		= (start + end) // 2

							slowsort(UpperCAmelCase__   ,   UpperCAmelCase__   ,   UpperCAmelCase__				)
							slowsort(UpperCAmelCase__   ,   mid + 1   ,   UpperCAmelCase__				)

							if sequence[end] < sequence[mid]:
														lowercase_		,		lowercase_      :    Dict       		= sequence[mid], sequence[end]

							slowsort(UpperCAmelCase__   ,   UpperCAmelCase__   ,   end - 1				)


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

						testmod()





