code: def check_banned_replacements(src: str, dst: str) -> bool:
      """This function is used to check is a pair of words/phrases is matching some common template that we don't want to replace with one another.
      Args:
          src: first phrase
          dst: second phrase
      Returns True if this replacement should be banned.
      """
      # customers' => customer's
      if (
          src.endswith("s'")
          and dst.endswith("'s")
          and src[0:-2] == dst[0:-2]
      ):
          return True
      # customer's => customers'
      if (
          src.endswith("'s")
          and dst.endswith("s'")
          and src[0:-2] == dst[0:-2]
      ):
          return True
      # customers => customer's
      if (
          src.endswith("s")
          and dst.endswith("'s")
          and src[0:-1] == dst[0:-2]
      ):
          return True
      # customer's => customers
      if (
          src.endswith("'s")
          and dst.endswith("s")
          and src[0:-2] == dst[0:-1]
      ):
          return True
      # customers => customers'
      if (
          src.endswith("s")
          and dst.endswith("s'")
          and src[0:-1] == dst[0:-2]
      ):
          return True
      # customers' => customers
      if (
          src.endswith("s'")
          and dst.endswith("s")
          and src[0:-2] == dst[0:-1]
      ):
          return True
      # utilities => utility's
      if (
          src.endswith("ies")
          and dst.endswith("y's")
          and src[0:-3] == dst[0:-3]
      ):
          return True
      # utility's => utilities
      if (
          src.endswith("y's")
          and dst.endswith("ies")
          and src[0:-3] == dst[0:-3]
      ):
          return True
      # utilities => utility
      if (
          src.endswith("ies")
          and dst.endswith("y")
          and src[0:-3] == dst[0:-1]
      ):
          return True
      # utility => utilities
      if (
          src.endswith("y")
          and dst.endswith("ies")
          and src[0:-1] == dst[0:-3]
      ):
          return True
      # group is => group's
      if (
          src.endswith(" is")
          and dst.endswith("'s")
          and src[0:-3] == dst[0:-2]
      ):
          return True
      # group's => group is
      if (
          src.endswith("'s")
          and dst.endswith(" is")
          and src[0:-2] == dst[0:-3]
      ):
          return True
      # trex's => trex
      if src.endswith("'s") and src[0:-2] == dst:
          return True
      # trex => trex's
      if dst.endswith("'s") and dst[0:-2] == src:
          return True
      # increases => increase (but trimass => trimas is ok)
      if (
          src.endswith("s")
          and (not src.endswith("ss"))
          and src[0:-1] == dst
      ):
          return True
      # increase => increases ((but trimas => trimass is ok))
      if (
          dst.endswith("s")
          and (not dst.endswith("ss"))
          and dst[0:-1] == src
      ):
          return True
      # anticipate => anticipated
      if (
          src.endswith("e")
          and dst.endswith("ed")
          and src[0:-1] == dst[0:-2]
      ):
          return True
      # anticipated => anticipate
      if (
          src.endswith("ed")
          and dst.endswith("e")
          and src[0:-2] == dst[0:-1]
      ):
          return True
      # blocks => blocked
      if (
          src.endswith("s")
          and dst.endswith("ed")
          and src[0:-1] == dst[0:-2]
      ):
          return True
      # blocked => blocks
      if (
          src.endswith("ed")
          and dst.endswith("s")
          and src[0:-2] == dst[0:-1]
      ):
          return True
      # lives => lived
      if (
          src.endswith("es")
          and dst.endswith("ed")
          and src[0:-2] == dst[0:-2]
      ):
          return True
      # lived => lives
      if (
          src.endswith("ed")
          and dst.endswith("es")
          and src[0:-2] == dst[0:-2]
      ):
          return True
      # regarded => regard
      if src.endswith("ed") and src[0:-2] == dst:
          return True
      # regard => regarded
      if dst.endswith("ed") and dst[0:-2] == src:
          return True
      # regardeding => regard
      if src.endswith("ing") and src[0:-3] == dst:
          return True
      # regard => regarding
      if dst.endswith("ing") and dst[0:-3] == src:
          return True
      # longer => long
      if src.endswith("er") and src[0:-2] == dst:
          return True
      # long => longer
      if dst.endswith("er") and dst[0:-2] == src:
          return True
      # discussed => discussing
      if (
          src.endswith("ed")
          and dst.endswith("ing")
          and src[0:-2] == dst[0:-3]
      ):
          return True
      # discussing => discussed
      if (
          src.endswith("ing")
          and dst.endswith("ed")
          and src[0:-3] == dst[0:-2]
      ):
          return True
      # live => living
      if (
          src.endswith("e")
          and dst.endswith("ing")
          and src[0:-1] == dst[0:-3]
      ):
          return True
      # living => live
      if (
          src.endswith("ing")
          and dst.endswith("e")
          and src[0:-3] == dst[0:-1]
      ):
          return True
      # discussion => discussing
      if (
          src.endswith("ion")
          and dst.endswith("ing")
          and src[0:-3] == dst[0:-3]
      ):
          return True
      # discussing => discussion
      if (
          src.endswith("ing")
          and dst.endswith("ion")
          and src[0:-3] == dst[0:-3]
      ):
          return True
      # alignment => aligning
      if (
          src.endswith("ment")
          and dst.endswith("ing")
          and src[0:-4] == dst[0:-3]
      ):
          return True
      # aligning => alignment
      if (
          src.endswith("ing")
          and dst.endswith("ment")
          and src[0:-3] == dst[0:-4]
      ):
          return True
      # dispensers => dispensing
      if (
          src.endswith("ers")
          and dst.endswith("ing")
          and src[0:-3] == dst[0:-3]
      ):
          return True
      # dispensing => dispensers
      if (
          src.endswith("ing")
          and dst.endswith("ers")
          and src[0:-3] == dst[0:-3]
      ):
          return True
      # integrate => integrity
      if (
          src.endswith("ate")
          and dst.endswith("ity")
          and src[0:-3] == dst[0:-3]
      ):
          return True
      # integrity => integrate
      if (
          src.endswith("ity")
          and dst.endswith("ate")
          and src[0:-3] == dst[0:-3]
      ):
          return True
      # discussion => discussed
      if (
          src.endswith("ion")
          and dst.endswith("ed")
          and src[0:-3] == dst[0:-2]
      ):
          return True
      # discussed => discussion
      if (
          src.endswith("ed")
          and dst.endswith("ion")
          and src[0:-2] == dst[0:-3]
      ):
          return True
      # anticipation => anticipate
      if (
          src.endswith("ion")
          and dst.endswith("e")
          and src[0:-3] == dst[0:-1]
      ):
          return True
      # anticipate => anticipation
      if (
          src.endswith("e")
          and dst.endswith("ion")
          and src[0:-1] == dst[0:-3]
      ):
          return True
      # incremental => increment
      if (
          src.endswith("ntal")
          and dst.endswith("nt")
          and src[0:-4] == dst[0:-2]
      ):
          return True
      # increment => incremental
      if (
          src.endswith("nt")
          and dst.endswith("ntal")
          and src[0:-2] == dst[0:-4]
      ):
          return True
      # national => nation
      if (
          src.endswith("nal")
          and dst.endswith("n")
          and src[0:-3] == dst[0:-1]
      ):
          return True
      # nation => national
      if (
          src.endswith("n")
          and dst.endswith("nal")
          and src[0:-1] == dst[0:-3]
      ):
          return True
      # significantly => significant
      if (
          src.endswith("ntly")
          and dst.endswith("nt")
          and src[0:-4] == dst[0:-2]
      ):
          return True
      # significant => significantly
      if (
          src.endswith("nt")
          and dst.endswith("ntly")
          and src[0:-2] == dst[0:-4]
      ):
          return True
      # delivery => deliverer
      if (
          src.endswith("ery")
          and dst.endswith("erer")
          and src[0:-3] == dst[0:-4]
      ):
          return True
      # deliverer => delivery
      if (
          src.endswith("erer")
          and dst.endswith("ery")
          and src[0:-4] == dst[0:-3]
      ):
          return True
      # deliver => deliverer
      if (
          src.endswith("er")
          and dst.endswith("erer")
          and src[0:-2] == dst[0:-4]
      ):
          return True
      # deliverer => deliver
      if (
          src.endswith("erer")
          and dst.endswith("er")
          and src[0:-4] == dst[0:-2]
      ):
          return True
      # comparably => comparable
      if (
          src.endswith("bly")
          and dst.endswith("ble")
          and src[0:-3] == dst[0:-3]
      ):
          return True
      # comparable => comparably
      if (
          src.endswith("ble")
          and dst.endswith("bly")
          and src[0:-3] == dst[0:-3]
      ):
          return True
      # comparably => comparability
      if (
          src.endswith("bly")
          and dst.endswith("bility")
          and src[0:-3] == dst[0:-6]
      ):
          return True
      # comparability => comparably
      if (
          src.endswith("bility")
          and dst.endswith("bly")
          and src[0:-6] == dst[0:-3]
      ):
          return True
      # beautiful => beautifully
      if (
          src.endswith("l")
          and dst.endswith("lly")
          and src[0:-1] == dst[0:-3]
      ):
          return True
      # beautifully => beautiful
      if (
          src.endswith("lly")
          and dst.endswith("l")
          and src[0:-3] == dst[0:-1]
      ):
          return True
      # active => actively
      if (
          src.endswith("e")
          and dst.endswith("ely")
          and src[0:-1] == dst[0:-3]
      ):
          return True
      # actively => active
      if (
          src.endswith("ely")
          and dst.endswith("e")
          and src[0:-3] == dst[0:-1]
      ):
          return True
      # america => american
      if (
          src.endswith("a")
          and dst.endswith("an")
          and src[0:-1] == dst[0:-2]
      ):
          return True
      # american => america
      if (
          src.endswith("an")
          and dst.endswith("a")
          and src[0:-2] == dst[0:-1]
      ):
          return True
      # reinvesting => investing
      if src.startswith("re") and src[2:] == dst:
          return True
      # investing => reinvesting
      if dst.startswith("re") and dst[2:] == src:
          return True
      # unchanged => changed
      if src.startswith("un") and src[2:] == dst:
          return True
      # changed => unchanged
      if dst.startswith("un") and dst[2:] == src:
          return True
      # disrespected => respected
      if src.startswith("dis") and src[3:] == dst:
          return True
      # respected => disrespected
      if dst.startswith("dis") and dst[3:] == src:
          return True
      # outperformance => performance
      if src.startswith("out") and src[3:] == dst:
          return True
      # performance => outperformance
      if dst.startswith("out") and dst[3:] == src:
          return True
      return False
  
imports: import json
  import math
  import random
  import re
  from collections import defaultdict, namedtuple
  from typing import Dict, List, Set, Tuple, Union
  import numpy
  from numba import jit
label_desc: Use image node_id 15 for calling a global function with example usage: check_banned_replacements(src, dst) and returns: False, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True