





'''simple docstring'''






import unittest

from transformers.testing_utils import require_bsa
from transformers.utils import is_bsa_available

from ...test_feature_extraction_common import FeatureExtractionSavingTestMixin


if is_bsa_available():
					from transformers import MarkupLMFeatureExtractor
class 		lowerCamelCase  (      unittest.TestCase       ):



					def __init__(   self		,      a_	):
							lowerCAmelCase     :    Dict						=   parent





					def   _lowerCamelCase    (   self	):
							return {}






def      __A						(							):
		lowerCAmelCase     :    Any						=   "<HTML>\n\n    <HEAD>\n    <TITLE>sample document</TITLE>\n    </HEAD>\n\n    <BODY BGCOLOR=\"FFFFFF\">\n    <HR>\n    <a href=\"http://google.com\">Goog</a>\n    <H1>This is one header</H1>\n    <H2>This is a another Header</H2>\n    <P>Travel from\n        <P>\n        <B>SFO to JFK</B>\n        <BR>\n        <B><I>on May 2, 2015 at 2:00 pm. For details go to confirm.com </I></B>\n        <HR>\n        <div style=\"color:#0000FF\">\n            <h3>Traveler <b> name </b> is\n            <p> John Doe </p>\n        </div>"

		lowerCAmelCase     :    Tuple						=   "\n    <!DOCTYPE html>\n    <html>\n    <body>\n\n    <h1>My First Heading</h1>\n    <p>My first paragraph.</p>\n\n    </body>\n    </html>\n    "

		return [html_string_a, html_string_a]

@require_bsa
class 		lowerCamelCase  (      __lowerCamelCase      ,   unittest.TestCase       ):
					snake_case_      =   MarkupLMFeatureExtractor if is_bsa_available() else None



					def   _lowerCamelCase    (   self	):
							lowerCAmelCase     :    List[str]						=   MarkupLMFeatureExtractionTester(self	)



					@property
					def   _lowerCamelCase    (   self	):
							return self.feature_extract_tester.prepare_feat_extract_dict()





					def   _lowerCamelCase    (   self	):
							# Initialize feature_extractor
							lowerCAmelCase     :    Dict						=   self.feature_extraction_class()

							# Test not batched input
							lowerCAmelCase     :    List[Any]						=   get_html_strings()[0]
							lowerCAmelCase     :    Union[str, Any]						=   feature_extractor(SCREAMING_SNAKE_CASE_	)

							# fmt: off
							lowerCAmelCase     :    Union[str, Any]						=   [["sample document", "Goog", "This is one header", "This is a another Header", "Travel from", "SFO to JFK", "on May 2, 2015 at 2:00 pm. For details go to confirm.com", "Traveler", "name", "is", "John Doe"]]
							lowerCAmelCase     :    Optional[Any]						=   [["/html/head/title", "/html/body/a", "/html/body/h1", "/html/body/h2", "/html/body/p", "/html/body/p/p/b[1]", "/html/body/p/p/b[2]/i", "/html/body/p/p/div/h3", "/html/body/p/p/div/h3/b", "/html/body/p/p/div/h3", "/html/body/p/p/div/h3/p"]]
							# fmt: on

							self.assertEqual(encoding.nodes		,      SCREAMING_SNAKE_CASE_	)
							self.assertEqual(encoding.xpaths		,      SCREAMING_SNAKE_CASE_	)

							# Test batched
							lowerCAmelCase     :    Dict						=   get_html_strings()
							lowerCAmelCase     :    Any						=   feature_extractor(SCREAMING_SNAKE_CASE_	)

							# fmt: off
							lowerCAmelCase     :    Any						=   expected_nodes + [["My First Heading", "My first paragraph."]]
							lowerCAmelCase     :    Union[str, Any]						=   expected_xpaths + [["/html/body/h1", "/html/body/p"]]

							self.assertEqual(len(encoding.nodes	)		,      2	)
							self.assertEqual(len(encoding.xpaths	)		,      2	)

							self.assertEqual(encoding.nodes		,      SCREAMING_SNAKE_CASE_	)
							self.assertEqual(encoding.xpaths		,      SCREAMING_SNAKE_CASE_	)










'''simple docstring'''






from ...utils import (
    OptionalDependencyNotAvailable,
    is_torch_available,
    is_transformers_available,
    is_transformers_version,
)


try:
					if not (is_transformers_available() and is_torch_available()):
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					from ...utils.dummy_torch_and_transformers_objects import KandinskyPipeline, KandinskyPriorPipeline
else:
					from .pipeline_kandinsky import KandinskyPipeline
					from .pipeline_kandinsky_imgaimg import KandinskyImgaImgPipeline
					from .pipeline_kandinsky_inpaint import KandinskyInpaintPipeline
					from .pipeline_kandinsky_prior import KandinskyPriorPipeline, KandinskyPriorPipelineOutput
					from .text_encoder import MultilingualCLIP



