




lowercase_			:       Optional[int]						       =				[
    [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0],
    [0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0],
    [0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0],
]


def 							__SCREAMING_SNAKE_CASE						(    snake_case_			,					snake_case_			,					snake_case_			,					snake_case_		):

						'''simple docstring'''


						return 0 <= row < rows and 0 <= col < cols


def 							__SCREAMING_SNAKE_CASE						(    snake_case_			,					snake_case_			,					snake_case_			,					snake_case_		):

						'''simple docstring'''


						_UpperCAmelCase									=  len(snake_case_		)
						_UpperCAmelCase									=  len(mat[0]		)
						if is_safe(snake_case_			,					snake_case_			,					snake_case_			,					snake_case_		) and (row, col) not in seen and mat[row][col] == 1:
												seen.add((row, col)		)
												return (
												    1
												    + depth_first_search(row + 1			,					snake_case_			,					snake_case_			,					snake_case_		)
												    + depth_first_search(row - 1			,					snake_case_			,					snake_case_			,					snake_case_		)
												    + depth_first_search(snake_case_			,					col + 1			,					snake_case_			,					snake_case_		)
												    + depth_first_search(snake_case_			,					col - 1			,					snake_case_			,					snake_case_		)
												)
						else:
												return 0


def 							__SCREAMING_SNAKE_CASE						(    snake_case_		):

						'''simple docstring'''


						_UpperCAmelCase									=  set()

						_UpperCAmelCase									=  0
						for row, line in enumerate(snake_case_		):
												for col, item in enumerate(snake_case_		):
																		if item == 1 and (row, col) not in seen:
																								# Maximizing the area
																								_UpperCAmelCase									=  max(snake_case_			,					depth_first_search(snake_case_			,					snake_case_			,					snake_case_			,					snake_case_		)		)
						return max_area


if __name__ == "__main__":
				import doctest

				print(find_max_area(matrix))  # Output -> 6
				doctest.testmod()










import os
import shutil
import unittest
from unittest.mock import patch

from transformers.testing_utils import CaptureStd, is_pt_tf_cross_test, require_torch






class 					__lowerCAmelCase				( unittest.TestCase				):







			@patch("sys.argv"					,					["fakeprogrampath", "env"]   )
			def UpperCamelCase    ( self					:    List[str]   ):




									"""simple docstring"""


									import transformers.commands.transformers_cli

									with CaptureStd() as cs:
															transformers.commands.transformers_cli.main()
									self.assertIn("Python version"					,					cs.out   )
									self.assertIn("Platform"					,					cs.out   )
									self.assertIn("Using distributed or parallel set-up in script?"					,					cs.out   )







			@is_pt_tf_cross_test
			@patch(
			    "sys.argv"					,					["fakeprogrampath", "pt-to-tf", "--model-name", "hf-internal-testing/tiny-random-gptj", "--no-pr"]   )
			def UpperCamelCase    ( self					:    Optional[Any]   ):




									"""simple docstring"""


									import transformers.commands.transformers_cli

									shutil.rmtree("/tmp/hf-internal-testing/tiny-random-gptj"					,					ignore_errors=snake_case__   )  # cleans potential past runs
									transformers.commands.transformers_cli.main()

									# The original repo has no TF weights -- if they exist, they were created by the CLI
									self.assertTrue(os.path.exists("/tmp/hf-internal-testing/tiny-random-gptj/tf_model.h5"   )   )







			@require_torch
			@patch("sys.argv"					,					["fakeprogrampath", "download", "hf-internal-testing/tiny-random-gptj", "--cache-dir", "/tmp"]   )
			def UpperCamelCase    ( self					:    Any   ):




									"""simple docstring"""


									import transformers.commands.transformers_cli

									# # remove any previously downloaded model to start clean
									shutil.rmtree("/tmp/models--hf-internal-testing--tiny-random-gptj"					,					ignore_errors=snake_case__   )

									# run the command
									transformers.commands.transformers_cli.main()

									# check if the model files are downloaded correctly on /tmp/models--hf-internal-testing--tiny-random-gptj
									self.assertTrue(os.path.exists("/tmp/models--hf-internal-testing--tiny-random-gptj/blobs"   )   )
									self.assertTrue(os.path.exists("/tmp/models--hf-internal-testing--tiny-random-gptj/refs"   )   )
									self.assertTrue(os.path.exists("/tmp/models--hf-internal-testing--tiny-random-gptj/snapshots"   )   )







			@require_torch
			@patch(
			    "sys.argv"					,					[
			        "fakeprogrampath",
			        "download",
			        "hf-internal-testing/test_dynamic_model_with_tokenizer",
			        "--trust-remote-code",
			        "--cache-dir",
			        "/tmp",
			    ]					,					)
			def UpperCamelCase    ( self					:    int   ):




									"""simple docstring"""


									import transformers.commands.transformers_cli

									# # remove any previously downloaded model to start clean
									shutil.rmtree("/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer"					,					ignore_errors=snake_case__   )

									# run the command
									transformers.commands.transformers_cli.main()

									# check if the model files are downloaded correctly on /tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer
									self.assertTrue(os.path.exists("/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer/blobs"   )   )
									self.assertTrue(os.path.exists("/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer/refs"   )   )
									self.assertTrue(
									    os.path.exists("/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer/snapshots"   )   )




