Copyright (C) 2012-2022 by various contributors (see AUTHORS)