
from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
    is_vision_available,
)


lowercase__	:Tuple										=					{
    "configuration_layoutlmv3": [
        "LAYOUTLMV3_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "LayoutLMv3Config",
        "LayoutLMv3OnnxConfig",
    ],
    "processing_layoutlmv3": ["LayoutLMv3Processor"],
    "tokenization_layoutlmv3": ["LayoutLMv3Tokenizer"],
}

try:
							if not is_tokenizers_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase__	:int										=					["LayoutLMv3TokenizerFast"]

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase__	:int										=					[
							    "LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST",
							    "LayoutLMv3ForQuestionAnswering",
							    "LayoutLMv3ForSequenceClassification",
							    "LayoutLMv3ForTokenClassification",
							    "LayoutLMv3Model",
							    "LayoutLMv3PreTrainedModel",
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase__	:List[str]										=					[
							    "TF_LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST",
							    "TFLayoutLMv3ForQuestionAnswering",
							    "TFLayoutLMv3ForSequenceClassification",
							    "TFLayoutLMv3ForTokenClassification",
							    "TFLayoutLMv3Model",
							    "TFLayoutLMv3PreTrainedModel",
							]

try:
							if not is_vision_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase__	:str										=					["LayoutLMv3FeatureExtractor"]
							lowercase__	:Any										=					["LayoutLMv3ImageProcessor"]


if TYPE_CHECKING:
							from .configuration_layoutlmva import (
							    LAYOUTLMV3_PRETRAINED_CONFIG_ARCHIVE_MAP,
							    LayoutLMvaConfig,
							    LayoutLMvaOnnxConfig,
							)
							from .processing_layoutlmva import LayoutLMvaProcessor
							from .tokenization_layoutlmva import LayoutLMvaTokenizer

							try:
														if not is_tokenizers_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .tokenization_layoutlmva_fast import LayoutLMvaTokenizerFast

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_layoutlmva import (
														    LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST,
														    LayoutLMvaForQuestionAnswering,
														    LayoutLMvaForSequenceClassification,
														    LayoutLMvaForTokenClassification,
														    LayoutLMvaModel,
														    LayoutLMvaPreTrainedModel,
														)

							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_layoutlmva import (
														    TF_LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST,
														    TFLayoutLMvaForQuestionAnswering,
														    TFLayoutLMvaForSequenceClassification,
														    TFLayoutLMvaForTokenClassification,
														    TFLayoutLMvaModel,
														    TFLayoutLMvaPreTrainedModel,
														)

							try:
														if not is_vision_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .feature_extraction_layoutlmva import LayoutLMvaFeatureExtractor
														from .image_processing_layoutlmva import LayoutLMvaImageProcessor

else:
							import sys

							lowercase__	:int										=					_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)






from __future__ import annotations

from decimal import Decimal
from math import *  # noqa: F403

from sympy import diff



def  UpperCamelCase					(							lowerCAmelCase__				,    lowerCAmelCase__				,    lowerCAmelCase__ = 10**-10	):
					'''simple docstring'''
					lowercase					=		a
					while True:
										lowercase					=		Decimal(lowerCAmelCase__	) - (
										    Decimal(eval(lowerCAmelCase__	)	) / Decimal(eval(str(diff(lowerCAmelCase__	)	)	)	)  # noqa: S307
										)
										# This number dictates the accuracy of the answer
										if abs(eval(lowerCAmelCase__	)	) < precision:  # noqa: S307
															return float(lowerCAmelCase__	)


# Let's Execute
if __name__ == "__main__":
							# Find root of trigonometric function
							# Find value of pi
							print(F'The root of sin(x) = 0 is {newton_raphson("sin(x)", 2)}')
							# Find root of polynomial
							print(F'The root of x**2 - 5*x + 2 = 0 is {newton_raphson("x**2 - 5*x + 2", 0.4)}')
							# Find Square Root of 5
							print(F'The root of log(x) - 1 = 0 is {newton_raphson("log(x) - 1", 2)}')
							# Exponential Roots
							print(F'The root of exp(x) - 1 = 0 is {newton_raphson("exp(x) - 1", 0)}')




