def METHOD_NAME(input: dict) -> DriverDepGraph:
    """
    The following dependency definition
    {
        A: (B, C),
        (B, C): [D, E],
        E: F,
    }
    will be parsed into
    {
        "A": {"B": None, "C": None},
        "B": {"D": None, "E": None},
        "C": {"D": None, "E": None},
        "E": {"F": None},
    }
    """
    from testplan.testing.multitest.driver import Driver
    if not isinstance(input, dict):
        raise _type_err("Python dict expected.")
    g = DirectedGraph.new()
    for k, v in input.items():
        if not (
            isinstance(k, Driver)
            or (
                isinstance(k, Iterable)
                and all(isinstance(x, Driver) for x in k)
            )
        ):
            raise _type_err(
                "Driver or flat collection of Driver expected for dict keys."
            )
        if not (
            isinstance(v, Driver)
            or (
                isinstance(v, Iterable)
                and all(isinstance(x, Driver) for x in v)
            )
        ):
            raise _type_err(
                "Driver or flat collection of Driver expected for dict values."
            )
        if isinstance(k, Driver):
            k = (k,)
        if isinstance(v, Driver):
            v = (v,)
        for s, e in product(k, v):
            if s.uid() not in g.vertices:
                g.add_vertex(s.uid(), s)
            if e.uid() not in g.vertices:
                g.add_vertex(e.uid(), e)
            if e.uid() not in g.edges[s.uid()]:
                g.add_edge(s.uid(), e.uid(), None)
    return DriverDepGraph.from_directed_graph(g)