@abc.abstractmethod<EOL><INDENT>def next_chunk_boundaries_levels(self, buf, prepend_bytes=<NUM_LIT:0>):<DEDENT>
Computes the next chunk boundaries within `buf`.

        Similar to :meth:`.next_chunk_boundaries`, but information about which chunker led to a respective boundary is
        included in the returned value.

        Args:
            buf (bytes): The message that is to be chunked.
            prepend_bytes (Optional[int]): Optional number of zero bytes that should be input to the chunking algorithm
                before `buf`.

        Returns:
            iterable: An iterable yielding tuples (boundary, level), where boundary is a boundary position relative to
                `buf` and level is the index of the chunker (i.e., the index of its chunk size specified during
                instantiation) that yielded the boundary.

            If multiple chunkers yield the same boundary, it is returned only once, along with the highest matching
            chunker index.