          if found != 3:  # Full version could not be determined
              return
          self.cudnn_version = ".".join([str(major), str(minor), str(patchlevel)])
  
      def _get_checkfiles_linux(self):
          """ Return the the files to check for cuDNN locations for Linux by querying
          the dynamic link loader.
  
          Returns
          -------
 
</s> remove     def _cuda_check_linux(self):
 </s> add     def _cuda_check_linux(self) -> None: </s> remove     def _get_checkfiles_windows(self):
 </s> add     def _get_checkfiles_windows(self) -> List[str]: </s> remove     def __init__(self):
        self.cuda_path = None
        self.cuda_version = None
        self.cudnn_version = None
 </s> add     def __init__(self) -> None:
        self.cuda_path: Optional[str] = None
        self.cuda_version: Optional[str] = None
        self.cudnn_version: Optional[str] = None </s> remove     def _cuda_check(self):
 </s> add     def _cuda_check(self) -> None: </s> remove     def _cuda_check_windows(self):
 </s> add     def _cuda_check_windows(self) -> None:
    def _get_checkfiles_linux(self) -> List[str]:
          if found != 3:  # Full version could not be determined
              return
          self.cudnn_version = ".".join([str(major), str(minor), str(patchlevel)])
  
    def _get_checkfiles_linux(self) -> List[str]:
          """ Return the the files to check for cuDNN locations for Linux by querying
          the dynamic link loader.
  
          Returns
          -------
keep keep keep keep replace keep keep keep keep keep
 pin protobuf

Setup: automatically detect for apple-silicon 
setup.py