

"""simple docstring"""




from ..utils import DummyObject, requires_backends





class     __UpperCamelCase				(     metaclass=_A		):
		SCREAMING_SNAKE_CASE              =					["torch", "transformers", "invisible_watermark"]


		def __init__(self				:	List[str]  ,  *__SCREAMING_SNAKE_CASE				:	int  ,  **__SCREAMING_SNAKE_CASE				:	Tuple):
							requires_backends(self  ,  ["torch", "transformers", "invisible_watermark"])


		@classmethod
		def       SCREAMING_SNAKE_CASE__     (cls				:	Dict  ,  *__SCREAMING_SNAKE_CASE				:	Dict  ,  **__SCREAMING_SNAKE_CASE				:	str):
							requires_backends(cls  ,  ["torch", "transformers", "invisible_watermark"])


		@classmethod
		def       SCREAMING_SNAKE_CASE__     (cls				:	str  ,  *__SCREAMING_SNAKE_CASE				:	Optional[Any]  ,  **__SCREAMING_SNAKE_CASE				:	str):
							requires_backends(cls  ,  ["torch", "transformers", "invisible_watermark"])





class     __UpperCamelCase				(     metaclass=_A		):
		SCREAMING_SNAKE_CASE              =					["torch", "transformers", "invisible_watermark"]


		def __init__(self				:	List[str]  ,  *__SCREAMING_SNAKE_CASE				:	List[Any]  ,  **__SCREAMING_SNAKE_CASE				:	Dict):
							requires_backends(self  ,  ["torch", "transformers", "invisible_watermark"])


		@classmethod
		def       SCREAMING_SNAKE_CASE__     (cls				:	Tuple  ,  *__SCREAMING_SNAKE_CASE				:	Optional[int]  ,  **__SCREAMING_SNAKE_CASE				:	Union[str, Any]):
							requires_backends(cls  ,  ["torch", "transformers", "invisible_watermark"])


		@classmethod
		def       SCREAMING_SNAKE_CASE__     (cls				:	Optional[Any]  ,  *__SCREAMING_SNAKE_CASE				:	int  ,  **__SCREAMING_SNAKE_CASE				:	Any):
							requires_backends(cls  ,  ["torch", "transformers", "invisible_watermark"])








"""simple docstring"""




import os

from ...utils import logging
from .utils import DataProcessor, InputExample


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





class     __UpperCamelCase				(     _A		):


		def __init__(self				:	Dict  ,  __SCREAMING_SNAKE_CASE				:	int  ,  __SCREAMING_SNAKE_CASE				:	Any=None):
							A    =      language
							A    =      train_language


		def       SCREAMING_SNAKE_CASE__     (self				:	Tuple  ,  __SCREAMING_SNAKE_CASE				:	Tuple):
							A    =      self.language if self.train_language is None else self.train_language
							A    =      self._read_tsv(os.path.join(__SCREAMING_SNAKE_CASE  ,  F"""XNLI-MT-1.0/multinli/multinli.train.{lg}.tsv"""))
							A    =      []
							for i, line in enumerate(__SCREAMING_SNAKE_CASE):
												if i == 0:
																	continue
												A    =      F"""train-{i}"""
												A    =      line[0]
												A    =      line[1]
												A    =      "contradiction" if line[2] == "contradictory" else line[2]
												if not isinstance(__SCREAMING_SNAKE_CASE  ,  __SCREAMING_SNAKE_CASE):
																	raise ValueError(F"""Training input {text_a} is not a string""")
												if not isinstance(__SCREAMING_SNAKE_CASE  ,  __SCREAMING_SNAKE_CASE):
																	raise ValueError(F"""Training input {text_b} is not a string""")
												if not isinstance(__SCREAMING_SNAKE_CASE  ,  __SCREAMING_SNAKE_CASE):
																	raise ValueError(F"""Training label {label} is not a string""")
												examples.append(InputExample(guid=__SCREAMING_SNAKE_CASE  ,  text_a=__SCREAMING_SNAKE_CASE  ,  text_b=__SCREAMING_SNAKE_CASE  ,  label=__SCREAMING_SNAKE_CASE))
							return examples


		def       SCREAMING_SNAKE_CASE__     (self				:	List[str]  ,  __SCREAMING_SNAKE_CASE				:	Tuple):
							A    =      self._read_tsv(os.path.join(__SCREAMING_SNAKE_CASE  ,  "XNLI-1.0/xnli.test.tsv"))
							A    =      []
							for i, line in enumerate(__SCREAMING_SNAKE_CASE):
												if i == 0:
																	continue
												A    =      line[0]
												if language != self.language:
																	continue
												A    =      F"""test-{i}"""
												A    =      line[6]
												A    =      line[7]
												A    =      line[1]
												if not isinstance(__SCREAMING_SNAKE_CASE  ,  __SCREAMING_SNAKE_CASE):
																	raise ValueError(F"""Training input {text_a} is not a string""")
												if not isinstance(__SCREAMING_SNAKE_CASE  ,  __SCREAMING_SNAKE_CASE):
																	raise ValueError(F"""Training input {text_b} is not a string""")
												if not isinstance(__SCREAMING_SNAKE_CASE  ,  __SCREAMING_SNAKE_CASE):
																	raise ValueError(F"""Training label {label} is not a string""")
												examples.append(InputExample(guid=__SCREAMING_SNAKE_CASE  ,  text_a=__SCREAMING_SNAKE_CASE  ,  text_b=__SCREAMING_SNAKE_CASE  ,  label=__SCREAMING_SNAKE_CASE))
							return examples


		def       SCREAMING_SNAKE_CASE__     (self				:	str):
							return ["contradiction", "entailment", "neutral"]

__A  :					Optional[int]												=	{
    'xnli': XnliProcessor,
}

__A  :					Union[str, Any]												=	{
    'xnli': 'classification',
}

__A  :					Tuple												=	{
    'xnli': 3,
}





