code: def audit_summary(configs, group_value_df):
      supported_name2 = {
          "Statistical Parity": "Equal Parity",
          "Impact Parity": "Proportional Parity",
          "FPR Parity": "False Positive Rate Parity",
          "FDR Parity": "False Discovery Rate Parity",
          "FNR Parity": "False Negative Rate Parity",
          "FOR Parity": "False Omission Rate Parity",
      }
  
      supported_name = {
          "Statistical Parity": "**Equal Parity** - Ensure all protected groups are have equal representation in the selected set.",
          "Impact Parity": "**Proportional Parity** - Ensure all protected groups are selected proportional to their "
          "percentage of the population.",
          "FPR Parity": "**False Positive Rate Parity** - Ensure all protected groups have the same false positive "
          "rates as the reference group).",
          "FDR Parity": "**False Discovery Rate Parity** - Ensure all protected groups have equally proportional false "
          "positives within the selected set (compared to the reference group).",
          "FNR Parity": "**False Negative Rate Parity** - Ensure all protected groups have the same false negative rates ("
          "as the reference group).",
          "FOR Parity": "**False Omission Rate Parity** - Ensure all protected groups have equally proportional false "
          "negatives within the non-selected set (compared to the reference group).",
      }
  
      raw = {"column1": [], "column2": [], "column3": []}
      supported_order = [
          "Statistical Parity",
          "Impact Parity",
          "FPR Parity",
          "FDR Parity",
          "FNR Parity",
          "FOR Parity",
      ]
      measures_results_dict = {}
      for measure in supported_order:
          if measure in configs.fair_measures_requested:
              raw["column1"].append(supported_name[measure])
              false_df = group_value_df.loc[
                  group_value_df[measure] == False
              ]
              if false_df.empty:
                  link = (
                      " [Details](#"
                      + "-".join(
                          supported_name2[measure].lower().split(" ")
                      )
                      + "-span-green-initpassedspan-green-end)"
                  )
                  raw["column2"].append(
                      "++span-green-init++**Passed**++span-green-end++"
                  )
                  raw["column3"].append(link)
  
                  measures_results_dict[
                      measure
                  ] = "++span-green-init++Passed++span-green-end++"
              else:
                  link = (
                      " [Details](#"
                      + "-".join(
                          supported_name2[measure].lower().split(" ")
                      )
                      + "-span-red-initfailedspan-red-end)"
                  )
                  raw["column2"].append(
                      "++span-red-init++**Failed**++span-red-end++"
                  )
                  raw["column3"].append(link)
                  measures_results_dict[
                      measure
                  ] = "++span-red-init++Failed++span-red-end++"
      df = pd.DataFrame(raw, columns=["column1", "column2", "column3"])
      summ_table = tabulate(
          df[["column1", "column2", "column3"]],
          headers="keys",
          tablefmt="pipe",
          showindex="never",
          numalign="left",
      )
      return summ_table, measures_results_dict
  
imports: import datetime
  import logging
  import pandas
  from markdown2 import markdown
  from tabulate import tabulate
label_desc: Use image node_id 13 for calling a global function with example usage: audit_summary(configs, group_value_df) and returns: summ_table,  measures_results_dict