code: def make_pat():
      kw = r"\b" + any("KEYWORD", keyword.kwlist) + r"\b"
      match_softkw = (
          r"^[ \t]*"
          + r"(?P<MATCH_SOFTKW>match)\b"  # at beginning of line + possible indentation
          + r"(?![ \t]*(?:"
          + "|".join(
              [  # not followed by ...
                  r"[:,;=^&|@~)\]}]",  # a character which means it can't be a
                  # pattern-matching statement
                  r"\b(?:"
                  + r"|".join(keyword.kwlist)
                  + r")\b",  # a keyword
              ]
          )
          + r"))"
      )
      case_default = (
          r"^[ \t]*"
          + r"(?P<CASE_SOFTKW>case)"  # at beginning of line + possible indentation
          + r"[ \t]+(?P<CASE_DEFAULT_UNDERSCORE>_\b)"
      )
      case_softkw_and_pattern = (
          r"^[ \t]*"
          + r"(?P<CASE_SOFTKW2>case)\b"  # at beginning of line + possible indentation
          + r"(?![ \t]*(?:"
          + "|".join(
              [  # not followed by ...
                  r"_\b",  # a lone underscore
                  r"[:,;=^&|@~)\]}]",  # a character which means it can't be a
                  # pattern-matching case
                  r"\b(?:"
                  + r"|".join(keyword.kwlist)
                  + r")\b",  # a keyword
              ]
          )
          + r"))"
      )
      builtinlist = [
          str(name)
          for name in dir(builtins)
          if not name.startswith("_") and name not in keyword.kwlist
      ]
      builtin = (
          r"([^.'\"\\#]\b|^)" + any("BUILTIN", builtinlist) + r"\b"
      )
      comment = any("COMMENT", [r"#[^\n]*"])
      stringprefix = r"(?i:r|u|f|fr|rf|b|br|rb)?"
      sqstring = stringprefix + r"'[^'\\\n]*(\\.[^'\\\n]*)*'?"
      dqstring = stringprefix + r'"[^"\\\n]*(\\.[^"\\\n]*)*"?'
      sq3string = (
          stringprefix + r"'''[^'\\]*((\\.|'(?!''))[^'\\]*)*(''')?"
      )
      dq3string = (
          stringprefix + r'"""[^"\\]*((\\.|"(?!""))[^"\\]*)*(""")?'
      )
      string = any("STRING", [sq3string, dq3string, sqstring, dqstring])
      prog = re.compile(
          "|".join(
              [
                  builtin,
                  comment,
                  string,
                  kw,
                  match_softkw,
                  case_default,
                  case_softkw_and_pattern,
                  any("SYNC", [r"\n"]),
              ]
          ),
          re.DOTALL | re.MULTILINE,
      )
      return prog
  
imports: import builtins
  import keyword
  import re
  import time
  from idlelib.config import idleConf
  from idlelib.delegator import Delegator
label_desc: Use image node_id 2 for calling a global function with example usage: make_pat() and returns: prog