





def 							SCREAMING_SNAKE_CASE__  (      __a				,	__a = False				):

	if not isinstance(__a				,	__a				):
		snake_case_						:     str     =		f"""Expected string as input, found {type(__a				)}"""
		raise ValueError(__a				)
	if not isinstance(__a				,	__a				):
		snake_case_						:     int     =		f"""Expected boolean as use_pascal parameter, found {type(__a				)}"""
		raise ValueError(__a				)

	snake_case_						:     Union[str, Any]     =		input_str.split('_'				)

	snake_case_						:     int     =		0 if use_pascal else 1

	snake_case_						:     List[Any]     =		words[start_index:]

	snake_case_						:     str     =		[word[0].upper() + word[1:] for word in words_to_capitalize]

	snake_case_						:     Optional[Any]     =		'' if use_pascal else words[0]

	return "".join([initial_word, *capitalized_words]				)


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

						testmod()








def 							SCREAMING_SNAKE_CASE__  (      __a				,	__a = False				):

	if not isinstance(__a				,	__a				):
		snake_case_						:     str     =		f"""Expected string as input, found {type(__a				)}"""
		raise ValueError(__a				)
	if not isinstance(__a				,	__a				):
		snake_case_						:     int     =		f"""Expected boolean as use_pascal parameter, found {type(__a				)}"""
		raise ValueError(__a				)

	snake_case_						:     Union[str, Any]     =		input_str.split('_'				)

	snake_case_						:     int     =		0 if use_pascal else 1

	snake_case_						:     List[Any]     =		words[start_index:]

	snake_case_						:     str     =		[word[0].upper() + word[1:] for word in words_to_capitalize]

	snake_case_						:     Optional[Any]     =		'' if use_pascal else words[0]

	return "".join([initial_word, *capitalized_words]				)


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

						testmod()

