docs: def mod_box_for_rotation(box, angle, undo=False):
      """The user sees left, bottom, right, and top margins on a page, but inside
      the PDF and in pyPdf the page may be rotated (such as in landscape mode).
      In the case of 90 degree clockwise rotation the left really modifies the
      top, the top really modifies right, and so forth.  In order for the options
      like '--percentRetain4' and '--absoluteOffset4' to work as expected the
      values need to be shifted to match any "hidden" rotations on any page."""
  
      def rotate_ninety_degrees_clockwise(box, n):
          if n == 0: return box
          box = rotate_ninety_degrees_clockwise(box, n-1)
          return [box[1], box[2], box[3], box[0]]
  
      # These are for clockwise, swap do and undo to reverse.
      do_map = {0: 0, 90: 1, 180: 2, 270: 3}
      undo_map = {0: 0, 90: 3, 180: 2, 270: 1}
  
      if not undo:
          return rotate_ninety_degrees_clockwise(box, do_map[angle])
      else:
          return rotate_ninety_degrees_clockwise(box, undo_map[angle])
      return