<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def pyc_load(fp):
 """ Load a .pyc file from a file-like object. Arguments: fp(file):
 The file-like object to read. Returns: PycFile: The parsed representation of the .pyc file. """


    magic_1 = U16(fp.read(2), target=MARSHAL_TARGET)
    magic_2 = U16(fp.read(2), target=MARSHAL_TARGET)

    internals = MAGIC_MAP.get(magic_1)
    if internals is None:
        raise ValueError('Invalid or unknown magic (%d).' % magic_1)

    if magic_2 != 2573:
        raise ValueError('Invalid secondary magic (%d).' % magic_2)

    timestamp = datetime.datetime.fromtimestamp(U32(fp.read(4), target=MARSHAL_TARGET))

    if internals['version'] >= 33:
        file_size = U32(fp.read(4))
    else:
        file_size = None

    code_object = marshal_load(fp, internals)

    return PycFile(magic_1, internals, timestamp, file_size, code_object)