<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def proceedings(self, key, value):
 """Populate the ``proceedings`` key. Also populates the ``refereed`` key through side effects. """

    proceedings = self.get('proceedings')
    refereed = self.get('refereed')

    if not proceedings:
        normalized_a_values = [el.upper() for el in force_list(value.get('a'))]
        if 'PROCEEDINGS' in normalized_a_values:
            proceedings = True

    if not refereed:
        normalized_a_values = [el.upper() for el in force_list(value.get('a'))]
        if 'PEER REVIEW' in normalized_a_values:
            refereed = True
        elif 'NON-PUBLISHED' in normalized_a_values:
            refereed = False

    self['refereed'] = refereed
    return proceedings