code: def copy(self, site_properties=None, sanitize=False):
          
          props = self.site_properties
          if site_properties:
              props.update(site_properties)
          return Slab(self.lattice, self.species_and_occu, self.frac_coords,
                      self.miller_index, self.oriented_unit_cell, self.shift,
                      self.scale_factor, site_properties=props,
                      reorient_lattice=self.reorient_lattice)
docs: Convenience method to get a copy of the structure, with options to add
          site properties.
  
          Args:
              site_properties (dict): Properties to add or override. The
                  properties are specified in the same way as the constructor,
                  i.e., as a dict of the form {property: [values]}. The
                  properties should be in the order of the *original* structure
                  if you are performing sanitization.
              sanitize (bool): If True, this method will return a sanitized
                  structure. Sanitization performs a few things: (i) The sites are
                  sorted by electronegativity, (ii) a LLL lattice reduction is
                  carried out to obtain a relatively orthogonalized cell,
                  (iii) all fractional coords for sites are mapped into the
                  unit cell.
  
          Returns:
              A copy of the Structure, with optionally new site_properties and
              optionally sanitized.