<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def normalize_datetime_to_utc(dt):
 """Adjust datetime to UTC. Apply the timezone offset to the datetime and set the timezone to UTC. This is a no-op if the datetime is already in UTC. Args: dt : datetime - tz-aware: Used in the formatted string. - tz-naive: Assumed to be in UTC. Returns: datetime The returned datetime is always timezone aware and in UTC. Notes: This forces a new object to be returned, which fixes an issue with serialization to XML in PyXB. PyXB uses a mixin together with datetime to handle the XML xs:dateTime. That type keeps track of timezone information included in the original XML doc, which conflicts if we return it here as part of a datetime mixin. See Also: ``cast_naive_datetime_to_tz()`` """


    return datetime.datetime(
        *dt.utctimetuple()[:6], microsecond=dt.microsecond, tzinfo=datetime.timezone.utc
    )