pub fn substitute_placeholders( template: &str, values: &BTreeMap<String, String>, ) -> Option<String>