          factor = dict(gaussian=0.8, normalized=0.5)
          return factor[self._blur_type]
  
      @property
      def _sigma(self):
          """ int: The Sigma for Gaussian Blur. Returns 0 to force calculation from kernel size. """
          return 0
  
      @property
      def _func_mapping(self):
 
</s> remove     def _func_mapping(self):
 </s> add     def _func_mapping(self) -> Dict[Literal["gaussian", "normalized"], Callable]: </s> remove     def _multipass_factor(self):
 </s> add     def _multipass_factor(self) -> float: </s> remove         logger.trace(retval)
 </s> add         logger.trace(retval)  # type: ignore </s> remove         logger.trace("Initialized: %s", self.__class__.__name__)
 </s> add         logger.trace("Initialized: %s", self.__class__.__name__)  # type: ignore </s> remove         logger.trace("blur_kernel: %s, threshold: %s", blur_kernel, threshold)
 </s> add         logger.trace("blur_kernel: %s, blur_type: %s, blur_passes: %s, ",  # type: ignore
                     "threshold: %s", blur_kernel, blur_type, blur_passes, threshold)
    def _sigma(self) -> Literal[0]:
          factor = dict(gaussian=0.8, normalized=0.5)
          return factor[self._blur_type]
  
      @property
    def _sigma(self) -> Literal[0]:
          """ int: The Sigma for Gaussian Blur. Returns 0 to force calculation from kernel size. """
          return 0
  
      @property
      def _func_mapping(self):
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 
lib/align/detected_face.py