abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs