          detected_face: :class:`lib.align.DetectedFace`
              The DetectedFace object as returned from :class:`scripts.convert.Predictor`.
          centering: [`"legacy"`, `"face"`, `"head"`]
              The centering to obtain the mask for
          sub_crop_offset: :class:`numpy.ndarray`
              The (x, y) offset to crop the mask from the center point. Set to `None` if the mask
              does not need to be offset for alternative centering
  
          Returns
          -------
          :class:`numpy.ndarray`
              The mask sized to Faceswap model output with any requested blurring applied.
 
</s> remove         sub_crop_offset: :class:`numpy.ndarray`
            The (x, y) offset to crop the mask from the center point. Set to `None` if the mask
            does not need to be offset for alternative centering
 </s> add         source_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at its stored centering
        target_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at the requested target centering </s> remove         sub_crop_offset: :class:`numpy.ndarray`, optional
            The (x, y) offset to crop the mask from the center point.
 </s> add         source_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at its stored centering
        target_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at the requested target centering </s> remove         offset: :class:`numpy.ndarray`
            The (x, y) offset from the center point to return the mask for
        centering: str
 </s> add         source_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at its stored centering
        target_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at the requested target centering
         centering: str </s> remove         if centering == self.stored_centering:
 </s> add         if centering == self.stored_centering and coverage_ratio == 1.0:
        source_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at its stored centering
        target_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at the requested target centering
          detected_face: :class:`lib.align.DetectedFace`
              The DetectedFace object as returned from :class:`scripts.convert.Predictor`.
          centering: [`"legacy"`, `"face"`, `"head"`]
              The centering to obtain the mask for
        source_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at its stored centering
        target_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at the requested target centering
        source_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at its stored centering
        target_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at the requested target centering
        source_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at its stored centering
        target_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at the requested target centering
  
          Returns
          -------
          :class:`numpy.ndarray`
              The mask sized to Faceswap model output with any requested blurring applied.
keep keep keep keep replace replace replace keep keep keep keep keep
 lib.detected_face.Mask
  - Add source + target offset and coverage to set_sub_crop method 
plugins/convert/mask/mask_blend.py