code: def native(self):
          
  
          if self.contents is None:
              return None
  
          if self._native is None:
              string = str_cls(self)
              has_timezone = re.search('[-\\+]', string)
  
              # We don't know what timezone it is in, or it is UTC because of a Z
              # suffix, so we just assume UTC
              if not has_timezone:
                  string = string.rstrip('Z')
                  date = self._date_by_len(string)
                  self._native = date.replace(tzinfo=timezone.utc)
  
              else:
                  # Python 2 doesn't support the %z format code, so we have to manually
                  # process the timezone offset.
                  date = self._date_by_len(string[0:-5])
  
                  hours = int(string[-4:-2])
                  minutes = int(string[-2:])
                  delta = timedelta(hours=abs(hours), minutes=minutes)
                  if hours < 0:
                      date -= delta
                  else:
                      date += delta
  
                  self._native = date.replace(tzinfo=timezone.utc)
  
          return self._native
docs: The native Python datatype representation of this value
  
          :return:
              A datetime.datetime object in the UTC timezone or None