code: def get_config_updates_recursive(self):
      config_updates = self.config_updates.copy()
      for sr_path, subrunner in self.subrunners.items():
          if not is_prefix(self.path, sr_path):
              continue
          update = subrunner.get_config_updates_recursive()
          if update:
              config_updates[rel_path(self.path, sr_path)] = update
      return config_updates
  
imports: import os
  from collections import OrderedDict, defaultdict
  from copy import copy, deepcopy
  from sacred.config import ConfigDict, chain_evaluate_config_scopes, dogmatize, load_config_file, undogmatize
  from sacred.config.config_summary import ConfigSummary
  from sacred.config.custom_containers import make_read_only
  from sacred.host_info import get_host_info
  from sacred.randomness import create_rnd, get_seed
  from sacred.run import Run
  from sacred.utils import convert_to_nested_dict, create_basic_stream_logger, get_by_dotted_path, is_prefix, rel_path, iterate_flattened, set_by_dotted_path, recursive_update, iter_prefixes, join_paths, NamedConfigNotFoundError, ConfigAddedError
  from sacred.settings import SETTINGS
label_desc: Use image node_id 8 for calling the Scaffold obj's underlying member method code with example usage: obj.get_config_updates_recursive() and returns: config_updates