def apply_strategy_change(self, changes: Iterable[str]) -> set[str]:
        """Apply the given strategy changes to the current strategy."""
        original = self.strategy
        supported = self.SUPPORTED_FLAGS
        for change in changes:
            change = change.replace("-", "_").lower()
            if change.startswith("no_"):
                if change[3:] not in supported:
                    raise PdmUsageError(f"Invalid strategy flag: {change[3:]}, supported: {', '.join(supported)}")
                original.discard(change[3:])
            else:
                if change not in supported:
                    raise PdmUsageError(f"Invalid strategy flag: {change}, supported: {', '.join(supported)}")
                original.add(change)
        return original
Apply the given strategy changes to the current strategy.
src/pdm/project/lockfile/base.py