Complete first half of seminar_04