                  continue
              anchor = [-1, -1]
              if idx > 0:
                  pos = 1 if idx % 2 == 0 else 0
                  val = max(kernel.shape) - 1 if idx < 3 else 0
                  anchor[pos] = val
              func = cv2.erode if ratio > 0 else cv2.dilate
              eroded.append(func(mask, kernel, iterations=1, anchor=anchor))
  
          mask = np.min(np.array(eroded), axis=0) if len(eroded) > 1 else eroded[0]
 
</s> remove         return mask
 </s> add         return mask[..., None] </s> remove             mask = detected_face.mask[self.mask_type]
            mask.set_blur_and_threshold(blur_kernel=self.config["kernel_size"],
                                        blur_type=self.config["type"],
                                        blur_passes=self.config["passes"],
                                        threshold=self.config["threshold"])
            if sub_crop_offset is not None and np.any(sub_crop_offset):
                mask.set_sub_crop(sub_crop_offset, centering)
            mask = self._crop_to_coverage(mask.mask)
            mask_size = mask.shape[0]
            face_size = self.dummy.shape[0]
            if mask_size != face_size:
                interp = cv2.INTER_CUBIC if mask_size < face_size else cv2.INTER_AREA
                mask = cv2.resize(mask,
                                  self.dummy.shape[:2],
                                  interpolation=interp)[..., None]
            mask = mask.astype("float32") / 255.0
 </s> add             mask = self._get_stored_mask(detected_face, centering, sub_crop_offset)
 </s> remove         new_face = self._adjustments["box"].run(new_face)
 </s> add  </s> remove         if self.mask_type == "none":
            # Return a dummy mask if not using a mask
            mask = np.ones_like(self.dummy[:, :, 1], dtype="float32")[..., None]
        elif self.mask_type == "predicted" and predicted_mask is not None:
            mask = predicted_mask[..., None]
 </s> add         if self._mask_type == "none":
            mask = np.ones_like(self._box)  # Return a dummy mask if not using a mask
        elif self._mask_type == "predicted" and predicted_mask is not None:
            mask = predicted_mask </s> remove             The mask sized to Faceswap model output with any requested blurring applied.
 </s> add             The requested mask.
                if ratio > 0:
                    val = max(kernel.shape) - 1 if idx < 3 else 0
                else:
                    val = 0 if idx < 3 else max(kernel.shape) - 1
                  continue
              anchor = [-1, -1]
              if idx > 0:
                  pos = 1 if idx % 2 == 0 else 0
                if ratio > 0:
                    val = max(kernel.shape) - 1 if idx < 3 else 0
                else:
                    val = 0 if idx < 3 else max(kernel.shape) - 1
                  anchor[pos] = val
              func = cv2.erode if ratio > 0 else cv2.dilate
              eroded.append(func(mask, kernel, iterations=1, anchor=anchor))
  
          mask = np.min(np.array(eroded), axis=0) if len(eroded) > 1 else eroded[0]
keep keep keep keep replace keep keep keep keep keep
 convert: remove box blend plugin 
plugins/convert/mask/mask_blend.py