def clean_semver(cls, version_spec):
        return re.sub(r"([<>=~])\s+?v?", "\\1", version_spec, re.IGNORECASE)
def _exit_modes_beyond(self, thisMode):
        if not self.modeList: return
        while len(self.modeList) > thisMode + 1: 
            self.modeList.pop().exit()