code: def map_irregular_forms(word_str_ser, can_replace_mask):
      # replaces all strings and stop rules
      # need to process it
      irregular_forms = {
          "sky": ["sky", "skies"],
          "die": ["dying"],
          "lie": ["lying"],
          "tie": ["tying"],
          "news": ["news"],
          "inning": ["innings", "inning"],
          "outing": ["outings", "outing"],
          "canning": ["cannings", "canning"],
          "howe": ["howe"],
          "proceed": ["proceed"],
          "exceed": ["exceed"],
          "succeed": ["succeed"],
      }
      for replacement, form_ls in irregular_forms.items():
          for form in form_ls:
              equal_flag = word_str_ser == form
              stem_ser = get_stem_series(
                  word_str_ser, len(form), can_replace_mask & equal_flag
              )
              replacement_ser = get_str_replacement_series(
                  replacement, can_replace_mask & equal_flag
              )
  
              word_str_ser = stem_ser.str.cat(replacement_ser)
              can_replace_mask &= ~equal_flag
  
      return word_str_ser, can_replace_mask
  
imports: from .porter_stemmer_utils.measure_utils import has_positive_measure, measure_gt_n, measure_eq_n
  from .porter_stemmer_utils.len_flags_utils import len_eq_n, len_gt_n
  from .porter_stemmer_utils.consonant_vowel_utils import contains_vowel, is_consonant
  from .porter_stemmer_utils.porter_stemmer_rules import ends_with_suffix, ends_with_double_constant, last_char_not_in, last_char_in, ends_cvc
  from .porter_stemmer_utils.suffix_utils import get_stem_series, get_str_replacement_series, replace_suffix
  from cuml.internals.safe_imports import gpu_only_import
label_desc: Use image node_id 1 for calling a global function with example usage: map_irregular_forms(word_str_ser, can_replace_mask) and returns: word_str_ser,  can_replace_mask