code: def split_arg_string(string):
      """Given an argument string this attempts to split it into small parts."""
      rv = []
      for match in re.finditer(
          r"('([^'\\]*(?:\\.[^'\\]*)*)'|\"([^\"\\]*(?:\\.[^\"\\]*)*)\"|\S+)\s*",
          string,
          re.S,
      ):
          arg = match.group().strip()
          if arg[:1] == arg[-1:] and arg[:1] in "\"'":
              arg = (
                  arg[1:-1]
                  .encode("ascii", "backslashreplace")
                  .decode("unicode-escape")
              )
          try:
              arg = type(string)(arg)
          except UnicodeError:
              pass
          rv.append(arg)
      return rv
  
imports: import re
  from collections import deque
  from .exceptions import BadArgumentUsage
  from .exceptions import BadOptionUsage
  from .exceptions import NoSuchOption
  from .exceptions import UsageError
label_desc: Use image node_id 5 for calling a global function with example usage: split_arg_string(string) and returns: rv