def METHOD_NAME(source):
    sources = source.split(',')
    raw_configs = []
    for src in sources:
        if not src:
            continue
        if src.startswith('file://'):
            raw_configs += fetch_files(src)
        elif src.startswith('s3://'):
            raw_configs += fetch_s3(src)
        elif src.startswith('http://') or src.startswith('https://'):
            raw_configs += fetch_http(src)
    config = {}
    for rc in raw_configs:
        c = yaml.safe_load(rc['contents'])
        if c is None:
            continue
        elif not isinstance(c, Mapping):
            raise ValueError("Invalid Yaml content: %s" % rc['src'])
        config = merge_dict(config, c)
    return config