          retval = []
          for faces in detected_faces:
              this_image = []
              for face in faces:
                  face_size = (face.w ** 2 + face.h ** 2) ** 0.5
                  if face_size < self.min_size:
                      logger.debug("Removing detected face: (face_size: %s, min_size: %s",
                                   face_size, self.min_size)
                      continue
                  this_image.append(face)
 
</s> remove             size = ((roi[1][0] - roi[0][0]) ** 2 +  # pylint:disable=unsubscriptable-object
                    (roi[1][1] - roi[0][1]) ** 2) ** 0.5  # pylint:disable=unsubscriptable-object
 </s> add             size = ((roi[1][0] - roi[0][0]) ** 2 + (roi[1][1] - roi[0][1]) ** 2) ** 0.5 </s> remove         self._faces_per_filename = dict()  # Tracking for recompiling face batches
 </s> add         self._faces_per_filename = {}  # Tracking for recompiling face batches </s> remove             y_center = (face.top + face.bottom) / 2.0 - face.h * 0.12
            scale = (face.w + face.h) * self.reference_scale
 </s> add             y_center = (face.top + face.bottom) / 2.0 - face.height * 0.12
            scale = (face.width + face.height) * self.reference_scale </s> remove         center = np.int32((face.aligned.size / 2, face.aligned.size / 2)).reshape(1, 2)
 </s> add         center = np.array((face.aligned.size / 2,
                           face.aligned.size / 2)).astype("int32").reshape(1, 2) </s> remove         reference_groups = dict()
 </s> add         reference_groups = {}
                face_size = (face.width ** 2 + face.height ** 2) ** 0.5
          retval = []
          for faces in detected_faces:
              this_image = []
              for face in faces:
                face_size = (face.width ** 2 + face.height ** 2) ** 0.5
                  if face_size < self.min_size:
                      logger.debug("Removing detected face: (face_size: %s, min_size: %s",
                                   face_size, self.min_size)
                      continue
                  this_image.append(face)
keep keep keep keep 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 
plugins/extract/detect/_base.py