code: def rotate(img, degrees, **kwargs):
      _check_args_tf(kwargs)
      if _PIL_VER >= (5, 2):
          return img.rotate(degrees, **kwargs)
      elif _PIL_VER >= (5, 0):
          w, h = img.size
          post_trans = (0, 0)
          rotn_center = (w / 2.0, h / 2.0)
          angle = -math.radians(degrees)
          matrix = [
              round(math.cos(angle), 15),
              round(math.sin(angle), 15),
              0.0,
              round(-math.sin(angle), 15),
              round(math.cos(angle), 15),
              0.0,
          ]
  
          def transform(x, y, matrix):
              (a, b, c, d, e, f) = matrix
              return a * x + b * y + c, d * x + e * y + f
  
          matrix[2], matrix[5] = transform(
              -rotn_center[0] - post_trans[0],
              -rotn_center[1] - post_trans[1],
              matrix,
          )
          matrix[2] += rotn_center[0]
          matrix[5] += rotn_center[1]
          return img.transform(img.size, Image.AFFINE, matrix, **kwargs)
      else:
          return img.rotate(degrees, resample=kwargs["resample"])
  
imports: import math
  import numpy
  import random
  import re
  import PIL
  from PIL import Image, ImageEnhance, ImageOps
label_desc: Use image node_id 9 for calling a global function with example usage: rotate(img, degrees) and returns: img, img, img, unknown,  unknown