<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def are_equivalent_xml(a_xml, b_xml, ignore_timestamps=False):
 """Determine if two SystemMetadata XML docs are semantically equivalent. Normalize then compare SystemMetadata XML docs for equivalency. Args: a_xml, b_xml: bytes UTF-8 encoded SystemMetadata XML docs to compare ignore_timestamps: bool ``True``: Timestamps in the SystemMetadata are ignored so that objects that are compared register as equivalent if only their timestamps differ. Returns: bool: **True** if SystemMetadata XML docs are semantically equivalent. Notes: The SystemMetadata is normalized by removing any redundant information and ordering all sections where there are no semantics associated with the order. The normalized SystemMetadata is intended to be semantically equivalent to the un-normalized one. """


    """Normalizes then compares SystemMetadata XML docs for equivalency.
  ``a_xml`` and ``b_xml`` should be utf-8 encoded DataONE System Metadata XML
  documents.
  """
    return are_equivalent_pyxb(
        d1_common.xml.deserialize(a_xml),
        d1_common.xml.deserialize(b_xml),
        ignore_timestamps,
    )