 
     public init?(disabledRules: [String] = [],
                  optInRules: [String] = [],
+                 enableAllRules: Bool = false,
                  whitelistRules: [String] = [],
                  included: [String] = [],
                  excluded: [String] = [],

        }
    }

    public init?(dict: [String: Any], ruleList: RuleList = masterRuleList) {
        // Use either new 'opt_in_rules' or deprecated 'enabled_rules' for now.
        let optInRules = defaultStringArray(
            dict[ConfigurationKey.optInRules.rawValue] ?? dict[ConfigurationKey.enabledRules.rawValue]

        // set the config threshold to the threshold provided in the config file
        self.warningThreshold = warningThreshold

        // Precedence is enableAllRules > whitelistRules > everything else
        if enableAllRules {
            rules = configuredRules
        } else if !whitelistRules.isEmpty {
            if !disabledRules.isEmpty || !optInRules.isEmpty {
                queuedPrintError("'\(ConfigurationKey.disabledRules.rawValue)' or " +
                    "'\(ConfigurationKey.optInRules.rawValue)' cannot be used in combination " +
