code: def padding(self, px):
          
          # if px is not an array, have equal padding all sides
          if not isinstance(px, list):
              px = [px] * 4
  
          x = max(0, self.x - px[3])
          y = max(0, self.y - px[0])
          x2 = self.x + self.width + px[1]
          y2 = self.y + self.height + px[2]
          return Box.from_xy(x, y, x2, y2)
docs: Add padding around four sides of box
  
          :param px: padding value in pixels.
              Can be an array in the format of [top right bottom left] or single value.
          :return: New padding added box