def METHOD_NAME(self, major, minor, patch):
    int_major, int_minor, int_patch = map(safe_int, (major, minor, patch))
    version = (int_major, int_minor, int_patch)
    if version > self.max_version:
        return self.max_support
    for key in ((int_major, int_minor, int_patch), (int_major, int_minor), (int_major,), major):
        try:
            return self._versions[key]
        except KeyError:
            pass
    for start, end, support in self._ranges:
        if start <= version < end:
            return support
    return UNKNOWN