

def       __snake_case						( __UpperCamelCase	: list[list[int]]				,__UpperCamelCase	: int				,__UpperCamelCase	: int				,__UpperCamelCase	: set    ):



      """simple docstring"""

      A_  ,     A_						  =				len(__UpperCamelCase    ), len(grid[0]    )
      if (
          min(__UpperCamelCase				,__UpperCamelCase    ) < 0
          or row == row_length
          or col == col_length
          or (row, col) in visit
          or grid[row][col] == 1
      ):
            return 0
      if row == row_length - 1 and col == col_length - 1:
            return 1

      visit.add((row, col)    )

      A_						  =				0
      count += depth_first_search(__UpperCamelCase				,row + 1				,__UpperCamelCase				,__UpperCamelCase    )
      count += depth_first_search(__UpperCamelCase				,row - 1				,__UpperCamelCase				,__UpperCamelCase    )
      count += depth_first_search(__UpperCamelCase				,__UpperCamelCase				,col + 1				,__UpperCamelCase    )
      count += depth_first_search(__UpperCamelCase				,__UpperCamelCase				,col - 1				,__UpperCamelCase    )

      visit.remove((row, col)    )
      return count


if __name__ == "__main__":
      import doctest

      doctest.testmod()



'''simple docstring'''



from .dependency_versions_table import deps
from .utils.versions import require_version, require_version_core


# define which module versions we always want to check at run time
# (usually the ones defined in `install_requires` in setup.py)
#
# order specific notes:
# - tqdm must be checked before tokenizers

A__						:   Dict				=    [
    """python""",
    """tqdm""",
    """regex""",
    """requests""",
    """packaging""",
    """filelock""",
    """numpy""",
    """tokenizers""",
    """huggingface-hub""",
    """safetensors""",
    """accelerate""",
    """pyyaml""",
]

for pkg in pkgs_to_check_at_runtime:
      if pkg in deps:
            if pkg == "tokenizers":
                  # must be loaded here, or else tqdm check may fail
                  from .utils import is_tokenizers_available

                  if not is_tokenizers_available():
                        continue  # not required, check version only if installed
            elif pkg == "accelerate":
                  # must be loaded here, or else tqdm check may fail
                  from .utils import is_accelerate_available

                  # Maybe switch to is_torch_available in the future here so that Accelerate is hard dep of
                  # Transformers with PyTorch
                  if not is_accelerate_available():
                        continue  # not required, check version only if installed

            require_version_core(deps[pkg])
      else:
            raise ValueError(f'''can\'t find {pkg} in {deps.keys()}, check dependency_versions_table.py''')



def      UpperCAmelCase__   (      UpperCAmelCase_       :							List[Any] ,       UpperCAmelCase_       :							List[Any]=None				)	->						List[Any]:
     require_version(deps[pkg] ,       UpperCAmelCase_				)






