def METHOD_NAME(
    available_protobuf_vs: List[str], protobuf_reqs: List[Tuple[str, str]]
) -> List[str]:
    matching_vs = []
    for v in available_protobuf_vs:
        if all(
            eval(f"parse_version({v!r}) {rq[0]} parse_version({rq[1]!r})")
            for rq in protobuf_reqs
        ):
            matching_vs.append(v)
    return sorted(list(set(matching_vs)))