





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


_lowerCamelCase       =	{
    'configuration_realm': ['REALM_PRETRAINED_CONFIG_ARCHIVE_MAP', 'RealmConfig'],
    'tokenization_realm': ['RealmTokenizer'],
}

try:
	if not is_tokenizers_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	_lowerCamelCase       =	['RealmTokenizerFast']

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	_lowerCamelCase       =	[
	    'REALM_PRETRAINED_MODEL_ARCHIVE_LIST',
	    'RealmEmbedder',
	    'RealmForOpenQA',
	    'RealmKnowledgeAugEncoder',
	    'RealmPreTrainedModel',
	    'RealmReader',
	    'RealmScorer',
	    'load_tf_weights_in_realm',
	]
	_lowerCamelCase       =	['RealmRetriever']


if TYPE_CHECKING:
	from .configuration_realm import REALM_PRETRAINED_CONFIG_ARCHIVE_MAP, RealmConfig
	from .tokenization_realm import RealmTokenizer

	try:
		if not is_tokenizers_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .tokenization_realm import RealmTokenizerFast

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_realm import (
		    REALM_PRETRAINED_MODEL_ARCHIVE_LIST,
		    RealmEmbedder,
		    RealmForOpenQA,
		    RealmKnowledgeAugEncoder,
		    RealmPreTrainedModel,
		    RealmReader,
		    RealmScorer,
		    load_tf_weights_in_realm,
		)
		from .retrieval_realm import RealmRetriever


else:
	import sys

	_lowerCamelCase       =	_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)






def  SCREAMING_SNAKE_CASE__							(				UpperCamelCase__:							str			):
		SCREAMING_SNAKE_CASE__								=					SCREAMING_SNAKE_CASE__								=					0
		for letter in data:
				SCREAMING_SNAKE_CASE__								=					(hash_ << 4) + ord(UpperCamelCase__			)
				SCREAMING_SNAKE_CASE__								=					hash_ & 0XF_0_0_0_0_0_0_0
				if x != 0:
						hash_ ^= x >> 24
				hash_ &= ~x
		return hash_


if __name__ == "__main__":
	import doctest

	doctest.testmod()