human
Complete this python program:
def contact():
assistant
#Here is the Python program you requested.

    """Allow the user to add, update and delete their contacts
    """
    table = s3db.pr.contact
    ptable = s3db.pr_person
    if (auth.is_logged_in() or auth.basic()):
        s3.filter = (table.pe_id == auth.user.pe_id)
    else:
        redirect(URL(c='default', f='user', args='login', vars={'_next': URL(c='msg', f='contact')}))
    table.name.writable = table.name.readable = False
    table.pe_id.writable = table.pe_id.readable = False
    table.person_name.writable = table.person_name.readable = False
    table.id.writable = False
    def msg_contact_onvalidation(form):
        if auth.user:
            form.vars.pe_id = auth.user.pe_id
    s3db.configure(table._tablename, onvalidation=msg_contact_onvalidation)
    def prep(r):
        if r.id:
            pe_id = r.record.pe_id
            if (auth.user and (auth.user.pe_id == pe_id)):
                return True
            else:
                session.error = T('Access    denied')
                return dict(bypass=True, output=redirect(URL(r=request)))
        else:
            return True
    s3.prep = prep
    response.menu_options = []
    return s3_rest_controller('pr', resourcename)