code: def z_angle_rotate(xy, theta):
      
      xy = np.array(xy).T
      theta = np.array(theta).T
  
      out = np.zeros_like(xy)
      out[...,0] = np.cos(theta)*xy[...,0] - np.sin(theta)*xy[...,1]
      out[...,1] = np.sin(theta)*xy[...,0] + np.cos(theta)*xy[...,1]
  
      return out.T
docs: Rotated the input vector or set of vectors `xy` by the angle `theta`.
  
      Parameters
      ----------
      xy : array_like
          The vector or array of vectors to transform. Must have shape