code: def _fuzzy(
      corpus: str, string: str, max_error_rate: float = 0.025
  ) -> Tuple[Tuple[int, int, int], float]:
      max_dist = min(
          len(string) - 1,
          int(len(string) * min(0.9, max_error_rate)) + 5,
      )
      matches = find_near_matches(string, corpus, max_l_dist=max_dist)
      if len(matches) > 0 and max_dist > 0:
          match = min(matches, key=lambda x: x.dist)
          block = (match.start, 0, match.end - match.start)
          score = 1 - match.dist / max_dist
          return block, score
      return (0, 0, 0), 0
  
imports: from difflib import SequenceMatcher
  from operator import itemgetter
  from typing import List, Tuple, Union
  import re
  import numpy
  from Levenshtein.StringMatcher import StringMatcher
  import Levenshtein
  from fuzzysearch import find_near_matches
label_desc: Use image node_id 7 for calling the Splitter obj's underlying member method code with example usage: obj._fuzzy(corpus, string, max_error_rate) and returns: int,  int,  int,  int, block,  score