code: def roll_dts_to_midnight(dts, trading_day):
      if len(dts) == 0:
          return dts
  
      return (
          pd.DatetimeIndex(
              (
                  dts.tz_convert("US/Eastern") - pd.Timedelta(hours=16)
              ).date,
              tz="UTC",
          )
          + trading_day
      )
  
imports: from abc import ABCMeta, abstractmethod
  from collections import namedtuple
  import hashlib
  from textwrap import dedent
  import warnings
  from logbook import Logger
  import numpy
  import pandas
  from pandas import read_csv
  import pytz
  import requests
  from six import StringIO, iteritems, with_metaclass
  from catalyst.errors import MultipleSymbolsFound, SymbolNotFound, ZiplineError
  from catalyst.protocol import DATASOURCE_TYPE, Event
  from catalyst.assets import Equity
  from catalyst.constants import LOG_LEVEL
label_desc: Use image node_id 1 for calling a global function with example usage: roll_dts_to_midnight(dts, trading_day) and returns: unknown, dts