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


SCREAMING_SNAKE_CASE__     :    Dict      							=					logging.get_logger(__name__)

SCREAMING_SNAKE_CASE__     :    List[str]      							=					{
    "openbmb/cpm-ant-10b": "https://huggingface.co/openbmb/cpm-ant-10b/blob/main/config.json"
    # See all CPMAnt models at https://huggingface.co/models?filter=cpmant
}

class      lowerCAmelCase__  (			__lowercase    ):
		a__ :		int   						=	"""cpmant"""






		def __init__(	self	:							str							,    SCREAMING_SNAKE_CASE__	:							int = 3_07_20							,    SCREAMING_SNAKE_CASE__	:							int = 40_96							,    SCREAMING_SNAKE_CASE__	:							int = 32							,    SCREAMING_SNAKE_CASE__	:							int = 1_28							,    SCREAMING_SNAKE_CASE__	:							int = 1_02_40							,    SCREAMING_SNAKE_CASE__	:							int = 48							,    SCREAMING_SNAKE_CASE__	:							int = 0.0							,    SCREAMING_SNAKE_CASE__	:							int = 5_12							,    SCREAMING_SNAKE_CASE__	:							int = 20_48							,    SCREAMING_SNAKE_CASE__	:							int = 1e-6							,    SCREAMING_SNAKE_CASE__	:							float = 1.0							,    SCREAMING_SNAKE_CASE__	:							int = 32							,    SCREAMING_SNAKE_CASE__	:							int = 32							,    SCREAMING_SNAKE_CASE__	:							int = 32							,    SCREAMING_SNAKE_CASE__	:							bool = True							,    **SCREAMING_SNAKE_CASE__	:							int							,    )  ->							Optional[Any]:
						super().__init__(**SCREAMING_SNAKE_CASE__						)
						__lowerCamelCase					      =			prompt_types
						__lowerCamelCase					      =			prompt_length
						__lowerCamelCase					      =			segment_types
						__lowerCamelCase					      =			hidden_size
						__lowerCamelCase					      =			num_attention_heads
						__lowerCamelCase					      =			dim_head
						__lowerCamelCase					      =			dim_ff
						__lowerCamelCase					      =			num_hidden_layers
						__lowerCamelCase					      =			position_bias_num_buckets
						__lowerCamelCase					      =			position_bias_max_distance
						__lowerCamelCase					      =			dropout_p
						__lowerCamelCase					      =			eps
						__lowerCamelCase					      =			use_cache
						__lowerCamelCase					      =			vocab_size
						__lowerCamelCase					      =			init_std





def 				__magic_name__				(     __lowerCAmelCase			:		list	,						__lowerCAmelCase			:		int	,						__lowerCAmelCase			:		int	,						__lowerCAmelCase			:		int							)    ->     int:
				__lowerCamelCase					      =			int((lower_bound + upper_bound) // 2							)
				if array[r] == value:
								return r
				if lower_bound >= upper_bound:
								return -1
				if array[r] < value:
								return binary_search(__lowerCAmelCase	,						r + 1	,						__lowerCAmelCase	,						__lowerCAmelCase							)
				else:
								return binary_search(__lowerCAmelCase	,						__lowerCAmelCase	,						r - 1	,						__lowerCAmelCase							)




def 				__magic_name__				(     __lowerCAmelCase			:		int	,						__lowerCAmelCase			:		list							)    ->     list:
				__lowerCamelCase					      =			0
				if matrix[index][0] == value:
								return [index, 0]
				while index < len(__lowerCAmelCase							) and matrix[index][0] < value:
								__lowerCamelCase					      =			binary_search(matrix[index]	,						0	,						len(matrix[index]							) - 1	,						__lowerCAmelCase							)
								if r != -1:
												return [index, r]
								index += 1
				return [-1, -1]


if __name__ == "__main__":
					import doctest

					doctest.testmod()



