





'''simple docstring'''


from __future__ import annotations



class 				__UpperCAmelCase	:







		'''simple docstring'''







		def __init__(self    :   Dict   ,   _lowerCAmelCase    :   int   ):
			A					=   vertices
			A					=   [[0] * vertices for _ in range(_lowerCAmelCase   )]







		def 							A  (self    :   str   ,   _lowerCAmelCase    :   list[int]   ):
			print("""Vertex \t Distance from Source"""   )
			for vertex in range(self.vertices   ):
				print(_lowerCAmelCase   ,   """\t\t"""   ,   distances_from_source[vertex]   )







		def 							A  (self    :   Optional[Any]   ,   _lowerCAmelCase    :   list[int]   ,   _lowerCAmelCase    :   list[bool]   ):
			A					=   1e7
			A					=   0

			# Search not nearest vertex not in the shortest path tree
			for vertex in range(self.vertices   ):
				if distances_from_source[vertex] < minimum and visited[vertex] is False:
					A					=   distances_from_source[vertex]
					A					=   vertex
			return min_index







		def 							A  (self    :   int   ,   _lowerCAmelCase    :   int   ):
			A					=   [int(1e7   )] * self.vertices  # distances from the source
			A					=   0
			A					=   [False] * self.vertices

			for _ in range(self.vertices   ):
				A					=   self.minimum_distance(_lowerCAmelCase   ,   _lowerCAmelCase   )
				A					=   True

				# Update dist value of the adjacent vertices
				# of the picked vertex only if the current
				# distance is greater than new distance and
				# the vertex in not in the shortest path tree
				for v in range(self.vertices   ):
					if (
					    self.graph[u][v] > 0
					    and visited[v] is False
					    and distances[v] > distances[u] + self.graph[u][v]
					):
						A					=   distances[u] + self.graph[u][v]

			self.print_solution(_lowerCAmelCase   )


if __name__ == "__main__":
				_lowerCamelCase					:						Tuple					     =							Graph(9)
				_lowerCamelCase					:						Optional[int]					     =							[
				    [0, 4, 0, 0, 0, 0, 0, 8, 0],
				    [4, 0, 8, 0, 0, 0, 0, 11, 0],
				    [0, 8, 0, 7, 0, 4, 0, 0, 2],
				    [0, 0, 7, 0, 9, 14, 0, 0, 0],
				    [0, 0, 0, 9, 0, 10, 0, 0, 0],
				    [0, 0, 4, 14, 10, 0, 2, 0, 0],
				    [0, 0, 0, 0, 0, 2, 0, 1, 6],
				    [8, 11, 0, 0, 0, 0, 1, 0, 7],
				    [0, 0, 2, 0, 0, 0, 6, 7, 0],
				]
				graph.dijkstra(0)








'''simple docstring'''


from typing import TYPE_CHECKING

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


_lowerCamelCase					:						Dict					     =							{
    'configuration_donut_swin': ['DONUT_SWIN_PRETRAINED_CONFIG_ARCHIVE_MAP', 'DonutSwinConfig'],
    'processing_donut': ['DonutProcessor'],
}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_lowerCamelCase					:						List[str]					     =							[
				    'DONUT_SWIN_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'DonutSwinModel',
				    'DonutSwinPreTrainedModel',
				]

try:
				if not is_vision_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_lowerCamelCase					:						Any					     =							['DonutFeatureExtractor']
				_lowerCamelCase					:						Union[str, Any]					     =							['DonutImageProcessor']


if TYPE_CHECKING:
				from .configuration_donut_swin import DONUT_SWIN_PRETRAINED_CONFIG_ARCHIVE_MAP, DonutSwinConfig
				from .processing_donut import DonutProcessor

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_donut_swin import (
								    DONUT_SWIN_PRETRAINED_MODEL_ARCHIVE_LIST,
								    DonutSwinModel,
								    DonutSwinPreTrainedModel,
								)

				try:
								if not is_vision_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .feature_extraction_donut import DonutFeatureExtractor
								from .image_processing_donut import DonutImageProcessor

else:
				import sys

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

