code: def find_all(self, board: Union[chess.Board, int], *, minimum_weight: int = 1, exclude_moves: Container[chess.Move] = ()) -> Iterator[Entry]:
          
          try:
              key = int(board)  # type: ignore
              context = None  # type: Optional[chess.Board]
          except (TypeError, ValueError):
              context = typing.cast(chess.Board, board)
              key = zobrist_hash(context)
  
          i = self.bisect_key_left(key)
          size = len(self)
  
          while i < size:
              entry = self[i]
              i += 1
  
              if entry.key != key:
                  break
  
              if entry.weight < minimum_weight:
                  continue
  
              if context:
                  move = context._from_chess960(context.chess960, entry.move.from_square, entry.move.to_square, entry.move.promotion, entry.move.drop)
                  entry = Entry(entry.key, entry.raw_move, entry.weight, entry.learn, move)
  
              if exclude_moves and entry.move in exclude_moves:
                  continue
  
              if context and not context.is_legal(entry.move):
                  continue
  
              yield entry
docs: Seeks a specific position and yields corresponding entries.