          self.landmarks_xy = landmarks_xy
          self.thumbnail = None
          self.mask = dict() if mask is None else mask
  
          self.aligned = None
          logger.trace("Initialized %s", self.__class__.__name__)
  
      @property
      def left(self):
          """int: Left point (in pixels) of face detection bounding box within the parent image """
          return self.x
 
</s> remove     def left(self):
        """int: Left point (in pixels) of face detection bounding box within the parent image """
        return self.x
 </s> add     def aligned(self) -> AlignedFace:
        """ The aligned face connected to this detected face. """
        assert self._aligned is not None
        return self._aligned </s> remove     def top(self):
        """int: Top point (in pixels) of face detection bounding box within the parent image """
        return self.y
 </s> add     def landmarks_xy(self) -> np.ndarray:
        """ The aligned face connected to this detected face. """
        assert self._landmarks_xy is not None
        return self._landmarks_xy </s> remove         return self.x + self.w
 </s> add         assert self.left is not None and self.width is not None
        return self.left + self.width </s> remove         self.x = x  # pylint:disable=invalid-name
        self.w = w  # pylint:disable=invalid-name
        self.y = y  # pylint:disable=invalid-name
        self.h = h  # pylint:disable=invalid-name
        self.landmarks_xy = landmarks_xy
        self.thumbnail = None
        self.mask = dict() if mask is None else mask
 </s> add         self.left = left
        self.width = width
        self.top = top
        self.height = height
        self._landmarks_xy = landmarks_xy
        self.thumbnail: Optional[np.ndarray] = None
        self.mask = {} if mask is None else mask </s> remove     def right(self):
 </s> add     def right(self) -> int:
        self._aligned: Optional[AlignedFace] = None
        logger.trace("Initialized %s", self.__class__.__name__)  # type: ignore
          self.landmarks_xy = landmarks_xy
          self.thumbnail = None
          self.mask = dict() if mask is None else mask
  
        self._aligned: Optional[AlignedFace] = None
        logger.trace("Initialized %s", self.__class__.__name__)  # type: ignore
        self._aligned: Optional[AlignedFace] = None
        logger.trace("Initialized %s", self.__class__.__name__)  # type: ignore
  
      @property
      def left(self):
          """int: Left point (in pixels) of face detection bounding box within the parent image """
          return self.x
keep keep keep keep replace replace keep keep keep keep keep
 lib.align updates:
  - alignments.py
    - Add typed dicts for imported alignments
    - Explicitly check for presence of thumb value in alignments dict
    - linting
  - detected_face.py
    - Typing
    - Linting
    - Legacy support for pre-aligned face
    - Update dependencies to new property names 
lib/align/detected_face.py