





from __future__ import annotations







def       UpperCAmelCase							(     _lowerCamelCase      :  Any			,   _lowerCamelCase      :  Any			,   _lowerCamelCase      :  int			,   _lowerCamelCase      :  Union[str, Any]     ):  # noqa: E741





						'''simple docstring'''


						while r - l > 1:
												SCREAMING_SNAKE_CASE__     :				Any   =					(l + r) // 2
												if v[m] >= key:
																		SCREAMING_SNAKE_CASE__     :				Optional[int]   =					m
												else:
																		SCREAMING_SNAKE_CASE__     :				Union[str, Any]   =					m  # noqa: E741
						return r







def       UpperCAmelCase							(     _lowerCamelCase      :  list[int]     ):





						'''simple docstring'''


						if len(_lowerCamelCase     ) == 0:
												return 0

						SCREAMING_SNAKE_CASE__     :				Dict   =					[0] * len(_lowerCamelCase     )
						SCREAMING_SNAKE_CASE__     :				str   =					1

						SCREAMING_SNAKE_CASE__     :				int   =					v[0]

						for i in range(1			,   len(_lowerCamelCase     )     ):
												if v[i] < tail[0]:
																		SCREAMING_SNAKE_CASE__     :				List[Any]   =					v[i]
												elif v[i] > tail[length - 1]:
																		SCREAMING_SNAKE_CASE__     :				Union[str, Any]   =					v[i]
																		length += 1
												else:
																		SCREAMING_SNAKE_CASE__     :				str   =					v[i]

						return length


if __name__ == "__main__":
				import doctest

				doctest.testmod()






import sys

from .dependency_versions_table import deps
from .utils.versions import require_version, require_version_core


# define which module versions we always want to check at run time
# (usually the ones defined in `install_requires` in setup.py)
#
# order specific notes:
# - tqdm must be checked before tokenizers

__lowercase       :List[Any]       =  "python tqdm regex requests packaging filelock numpy tokenizers".split()
if sys.version_info < (3, 7):
				pkgs_to_check_at_runtime.append("dataclasses")
if sys.version_info < (3, 8):
				pkgs_to_check_at_runtime.append("importlib_metadata")

for pkg in pkgs_to_check_at_runtime:
				if pkg in deps:
								if pkg == "tokenizers":
												# must be loaded here, or else tqdm check may fail
												from .utils import is_tokenizers_available

												if not is_tokenizers_available():
																continue  # not required, check version only if installed

								require_version_core(deps[pkg])
				else:
								raise ValueError(f"can't find {pkg} in {deps.keys()}, check dependency_versions_table.py")







def       UpperCAmelCase							(     _lowerCamelCase      :  Optional[Any]			,   _lowerCamelCase      :  Optional[Any]=None     ):





						'''simple docstring'''


						require_version(deps[pkg]			,   _lowerCamelCase     )