def remove_trailing_empty_elements(list1):
    """
    Returns a copy of a list without empty items from the end.
    The empty items at the start of the list and between remain intact.
    Example:
        list2 = ["", "a", "b", "c", "\t", "d", "  ", ""]
        list3 = remove_trailing_empty_elements(list2)
        print(list3)
        ['', 'a', 'b', 'c', '\t', 'd']
    """
    assert isinstance(list1, list)
    if list1:
        assert isinstance(list1[0], str)

    list2 = list1[:]
    indices_to_remove = []
    for i in range(len(list1)-1, -1, -1):
        line2 = list2[i].strip()
        if line2 == "":
            indices_to_remove.append(i)
        else:
            break

    # print(indices_to_remove)
    for i in indices_to_remove:
        list2.pop(i)
    return list2