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

    """Given a data dictionary from an event this returns all
    relevant stacktraces in a list.  If a frame contains a raw_stacktrace
    property it\s preferred over the processed one.
    """
    rv = []
    def _probe_for_stacktrace(container):
        raw = container.get('raw_stacktrace')
        if (raw is not None):
            rv.append((raw, container))
        else:
            processed = container.get('stacktrace')
            if (processed is not None):
                rv.append((processed, container))
    exc_container = data.get('sentry.interfaces.Exception')
    if exc_container:
        for exc in exc_container['values']:
            _probe_for_stacktrace(exc)
    stacktrace = data.get('sentry.interfaces.Stacktrace')
    if stacktrace:
        rv.append((stacktrace, None))
    threads = data.get('threads')
    if threads:
        for thread in threads['values']:
            _probe_for_stacktrace(thread)
    return rv