code: def mytokenize(s):
      "Use Python's tokenizer to lex s and collect my own token objects"
      tokensO = tokenize(BytesIO(s.encode("utf-8")).readline)
      tokens = []
      i = 0
      for tok in tokensO:
          type, value, start, end, _ = tok
          line = start[0]
          start_idx = start[1]
          stop_idx = end[1]  # one past end index
          if type in {NUMBER, STRING, NAME, OP, ENDMARKER}:
              tokens.append(
                  Token(
                      tok.exact_type,
                      value,
                      i,
                      start_idx,
                      stop_idx,
                      line,
                  )
              )
              i += 1
          else:
              # print("ignoring", type, value)
              pass
      # It leaves ENDMARKER on end. set text to "<EOF>"
      tokens[-1].value = "<EOF>"
      # print(tokens)
      return tokens
  
imports: from io import BytesIO
  import token
  import keyword
  import tsensor.ast
  from tokenize import tokenize, NUMBER, STRING, NAME, OP, ENDMARKER, LPAR, LSQB, RPAR, RSQB, COMMA, COLON, PLUS, MINUS, STAR, SLASH, AT, PERCENT, TILDE, DOT, NOTEQUAL, PERCENTEQUAL, AMPEREQUAL, DOUBLESTAREQUAL, STAREQUAL, PLUSEQUAL, MINEQUAL, DOUBLESLASHEQUAL, SLASHEQUAL, LEFTSHIFTEQUAL, LESSEQUAL, EQUAL, EQEQUAL, GREATEREQUAL, RIGHTSHIFTEQUAL, ATEQUAL, CIRCUMFLEXEQUAL, VBAREQUAL, DOUBLESTAR
label_desc: Use image node_id 1 for calling a global function with example usage: mytokenize(s) and returns: tokens