'Split a name into a prefix and suffix at depth.
@param depth: the number of labels in the suffix
@type depth: int
@raises ValueError: the depth was not >= 0 and <= the length of the
name.
@returns: the tuple (prefix, suffix)
@rtype: tuple'

def split(self, depth):

    l = len(self.labels)
    if (depth == 0):
        return (self, dns.name.empty)
    elif (depth == l):
        return (dns.name.empty, self)
    elif ((depth < 0) or (depth > l)):
        raise ValueError('depth    must    be    >=    0    and    <=    the    length    of    the    name')
    return (Name(self[:(- depth)]), Name(self[(- depth):]))
