code: def audit_report_markdown(
      configs,
      group_value_df,
      fairness_measures_depend,
      overall_fairness,
      model_id=1,
  ):
      manylines = "\n\n&nbsp;\n\n&nbsp;\n\n"
      oneline = " \n\n&nbsp;\n\n"
      mkdown_highlevel = "# The Bias Report"
      mkdown_highlevel += oneline
      mkdown_highlevel += (
          audit_description(configs, group_value_df)
          + oneline
          + "----"
          + oneline
      )
  
      # mkdown_highlevel += get_sentence_highlevel(overall_fairness) + oneline
      # mkdown_highlevel += get_highlevel_table(group_value_df, configs.fair_measures_requested) + oneline + '----' + oneline
  
      mkdown_highlevel += "### Audit Results:\n\n"
      mkdown_highlevel += "1. [Summary](#audit-results-summary)\n\n"
      mkdown_highlevel += "2. [Details by Fairness Measures](#audit-results-details-by-fairness-measures)\n\n"
      mkdown_highlevel += "3. [Details by Protected Attributes](#audit-results-details-by-protected-attributes)\n\n"
      mkdown_highlevel += "4. [Bias Metrics Values](#audit-results-bias-metrics-values)\n\n"
      mkdown_highlevel += (
          "5. [Base Metrics Calculated for Each Group](#audit-results-group-metrics-values)\n\n"
          + oneline
          + "----"
          + oneline
      )
  
      mkdown_highlevel += "### Audit Results: Summary" + "\n\n"
      summ_table, measures_results_dict = audit_summary(
          configs, group_value_df
      )
      mkdown_highlevel += summ_table + oneline + "----" + oneline
  
      mkdown_highlevel += (
          "### Audit Results: Details by Fairness Measures" + oneline
      )
  
      if "Statistical Parity" in group_value_df.columns:
          mkdown_highlevel += (
              "\n\n#### Equal Parity: "
              + measures_results_dict["Statistical Parity"]
              + "\n\n"
          )
          raw = {}
          raw["What is it?"] = [
              "##border##This criteria considers an attribute to have equal parity is every group is equally "
              "represented in the selected set. For example, if race (with possible values of white, black, other) "
              "has equal parity, it implies that all three races are equally represented (33% each)"
              "in the selected/intervention set."
          ]
          raw["When does it matter?"] = [
              "##border##If your desired "
              "outcome is to intervene equally on people "
              "from all races, then you care about this criteria."
          ]
          raw[
              "Which groups failed the audit:"
          ] = "##border##" + get_false_text(
              group_value_df,
              "Statistical Parity",
              fairness_measures_depend,
          )
          dft = pd.DataFrame(raw)
          mkdown_highlevel += (
              tabulate(
                  dft[
                      [
                          "What is it?",
                          "When does it matter?",
                          "Which groups failed the audit:",
                      ]
                  ],
                  headers="keys",
                  tablefmt="pipe",
                  showindex="never",
                  numalign="left",
              )
              + oneline
          )
  
          # mkdown_highlevel += '**The Bias Report has found that the following groups do not have Equal Parity:**\n\n'
          # mkdown_highlevel += get_statpar_text(group_value_df, fairness_measures_depend) + oneline
          mkdown_highlevel += (
              "\n\n[Go to Top](#)" + oneline + "----" + oneline
          )
  
      if "Impact Parity" in group_value_df.columns:
          mkdown_highlevel += (
              "\n\n#### Proportional Parity: "
              + measures_results_dict["Impact Parity"]
              + "\n\n"
          )
          raw = {}
          raw["What is it?"] = [
              "##border##This criteria considers an attribute to have proportional parity if every group is "
              "represented proportionally to their share of the population. For example, if race "
              "with possible values of white, black, other being 50%, 30%, 20% of the population respectively) has "
              "proportional parity, it implies that all three races are represented in the same proportions "
              "(50%, 30%, 20%) in the selected set."
          ]
          raw["When does it matter?"] = [
              "##border##If your desired outcome is to intervene "
              "proportionally on people from all races, then you care about this criteria."
          ]
          raw[
              "Which groups failed the audit:"
          ] = "##border##" + get_false_text(
              group_value_df, "Impact Parity", fairness_measures_depend
          )
  
          dft = pd.DataFrame(raw)
          mkdown_highlevel += (
              tabulate(
                  dft[
                      [
                          "What is it?",
                          "When does it matter?",
                          "Which groups failed the audit:",
                      ]
                  ],
                  headers="keys",
                  tablefmt="pipe",
                  showindex="never",
                  numalign="left",
              )
              + oneline
          )
  
          # mkdown_highlevel += get_impact_text(group_value_df, fairness_measures_depend) + oneline
          mkdown_highlevel += (
              "\n\n[Go to Top](#)" + oneline + "----" + oneline
          )
  
      if "FPR Parity" in group_value_df.columns:
          mkdown_highlevel += (
              "\n\n#### False Positive Rate Parity: "
              + measures_results_dict["FPR Parity"]
              + "\n\n"
          )
          # mkdown_highlevel += 'False Positive Rate Parity is concerned with Type I errors (False Positives). In cases ' \
          #                     'of punitive ' \
          #                     'interventions on the selected set' \
          #                     ' it is important to not have disparate Type I errors across groups. Aequitas audits both False ' \
          #                     'Positive Rate (FP/Negative Labels of each group) and False Discovery Rates (FP/Selected ' \
          #                     'Set Size).\n\n'
  
          raw = {}
          raw["What is it?"] = [
              "##border##This criteria considers an attribute to have False Positive "
              "parity if "
              "every group "
              "has the same False Positive Error Rate. For example, if race has false positive parity, "
              "it implies that all three races have the same False Positive Error Rate."
          ]
          raw["When does it matter?"] = [
              "##border##If your desired outcome is to make false positive "
              "errors "
              "equally on people from all races, then you care about this criteria. This is important in cases where your intervention is "
              "punitive "
              "and has a risk of adverse outcomes for individuals. Using this criteria allows you to make sure that "
              "you are not making false positive mistakes about any single group disproportionately."
          ]
          raw[
              "Which groups failed the audit:"
          ] = "##border##" + get_false_text(
              group_value_df, "FPR Parity", fairness_measures_depend
          )
  
          dft = pd.DataFrame(raw)
          mkdown_highlevel += (
              tabulate(
                  dft[
                      [
                          "What is it?",
                          "When does it matter?",
                          "Which groups failed the audit:",
                      ]
                  ],
                  headers="keys",
                  tablefmt="pipe",
                  showindex="never",
                  numalign="left",
              )
              + oneline
          )
  
          mkdown_highlevel += "\n\n[Go to Top](#)" + oneline
      mkdown_highlevel += oneline + "----" + oneline
  
      if "FDR Parity" in group_value_df.columns:
          mkdown_highlevel += (
              oneline
              + "\n\n#### False Discovery Rate Parity: "
              + measures_results_dict["FDR Parity"]
              + "\n\n"
          )
          raw = {}
          raw["What is it?"] = [
              "##border##This criteria considers an attribute to have False Discovery Rate parity if every group "
              "has the same False Discovery Error Rate. For example, if race has false discovery parity, "
              "it implies that all three races have the same False Discvery Error Rate."
          ]
          raw["When does it matter?"] = [
              "##border##If your desired outcome is to make false positive "
              "errors "
              "equally on people from all races, then you care about this criteria. This is important in cases where your intervention is "
              "punitive and can hurt individuals and where you are selecting a very small group for interventions."
          ]
          raw[
              "Which groups failed the audit:"
          ] = "##border##" + get_false_text(
              group_value_df, "FDR Parity", fairness_measures_depend
          )
  
          dft = pd.DataFrame(raw)
          mkdown_highlevel += (
              tabulate(
                  dft[
                      [
                          "What is it?",
                          "When does it matter?",
                          "Which groups failed the audit:",
                      ]
                  ],
                  headers="keys",
                  tablefmt="pipe",
                  showindex="never",
                  numalign="left",
              )
              + oneline
          )
  
          mkdown_highlevel += "\n\n[Go to Top](#)" + oneline
      mkdown_highlevel += oneline + "----" + oneline
  
      if "FNR Parity" in group_value_df.columns:
          # mkdown_highlevel += 'False Negative Parity is concerned with Type II errors (False Negatives). In cases ' \
          #                     'of assistive or preventive ' \
          #                     'interventions on the selected set' \
          #                     ' it is important to not have disparate Type II errors across groups. Aequitas audits both False ' \
          #                     'Negative Rate (FN/Positive Labels of each group) and False Omission Rates (FN/Not Selected ' \
          #                     'Set Size).\n\n'
  
          mkdown_highlevel += (
              oneline
              + "\n\n#### False Negative Rate Parity: "
              + measures_results_dict["FNR Parity"]
              + "\n\n"
          )
          raw = {}
          raw["What is it?"] = [
              "##border##This criteria considers an attribute to have False Negative parity if every group "
              "has the same False Negative Error Rate. For example, if race has false negative parity, it implies that all three "
              "races "
              "have the same False Negative Error Rate."
          ]
          raw["When does it matter?"] = [
              "##border##If your desired outcome is to make false negative errors equally on "
              "people from all races, then you care about this criteria. This is important in cases where your intervention is "
              "assistive (providing helpful social services for example) and missing an individual could lead to adverse outcomes for them. Using this criteria allows you to make "
              "sure "
              "that you’re not missing people from certain groups "
              "disproportionately."
          ]
          raw[
              "Which groups failed the audit:"
          ] = "##border##" + get_false_text(
              group_value_df, "FNR Parity", fairness_measures_depend
          )
          dft = pd.DataFrame(raw)
          mkdown_highlevel += (
              tabulate(
                  dft[
                      [
                          "What is it?",
                          "When does it matter?",
                          "Which groups failed the audit:",
                      ]
                  ],
                  headers="keys",
                  tablefmt="pipe",
                  showindex="never",
                  numalign="left",
              )
              + oneline
          )
  
          mkdown_highlevel += "\n\n[Go to Top](#)" + oneline
      mkdown_highlevel += oneline + "----" + oneline
  
      if "FOR Parity" in group_value_df.columns:
          mkdown_highlevel += (
              oneline
              + "\n\n#### False Omission Rate Parity: "
              + measures_results_dict["FOR Parity"]
              + "\n\n"
          )
          raw = {}
          raw["What is it?"] = [
              "##border##This criteria considers an attribute to have False Omission Rate parity if every group "
              "has the same False Omission Error Rate. For example, if race has false omission parity, it implies that all three "
              "races "
              "have the same False Omission Error Rate."
          ]
          raw["When does it matter?"] = [
              "##border##If your desired outcome is to make false negative "
              "errors "
              "equally "
              "on people from all races, then you care about this criteria. This is important in cases where your intervention is "
              "assistive (providing help social services for example) and missing an individual could lead to adverse outcomes for them "
              ", and where you are selecting a very small group for interventions. Using this criteria allows you to make "
              "sure "
              "that you’re not missing people from certain groups "
              "disproportionately."
          ]
          raw[
              "Which groups failed the audit:"
          ] = "##border##" + get_false_text(
              group_value_df, "FOR Parity", fairness_measures_depend
          )
  
          dft = pd.DataFrame(raw)
          mkdown_highlevel += (
              tabulate(
                  dft[
                      [
                          "What is it?",
                          "When does it matter?",
                          "Which groups failed the audit:",
                      ]
                  ],
                  headers="keys",
                  tablefmt="pipe",
                  showindex="never",
                  numalign="left",
              )
              + oneline
          )
  
          mkdown_highlevel += "\n\n[Go to Top](#)" + oneline
      # mkdown_highlevel += oneline + '----' + oneline
  
      mkdown_parity = (
          "\n\n### Audit Results: Details by Protected Attributes"
          + oneline
      )
      # do we want to show this?
      # mkdown_parity += get_highlevel_report(group_attribute_df) + '\n\n'
  
      mkdown_disparities = (
          "\n\n### Audit Results: Bias Metrics Values" + oneline
      )
      mkdown_group = (
          "\n\n### Audit Results: Group Metrics Values" + oneline
      )
      # setup the group_value_df (colors and stuff)
      group_value_df["group_size_pct"] = group_value_df[
          "group_size"
      ].divide(group_value_df["total_entities"])
      group_value_df = setup_group_value_df(
          group_value_df,
          configs.fair_measures_requested,
          fairness_measures_depend,
      )
      for attr in configs.attr_cols:
          mkdown_parity += "\n\n#### " + attr + oneline
          mkdown_disparities += "\n\n#### " + attr + oneline
          mkdown_group += "\n\n#### " + attr + oneline
          mkdown_parity += get_parity_group_report(
              group_value_df,
              attr,
              configs.fair_measures_requested,
              fairness_measures_depend,
          )
          mkdown_disparities += get_disparities_group_report(
              group_value_df,
              attr,
              configs.fair_measures_requested,
              fairness_measures_depend,
          )
          mkdown_group += get_group_group_report(
              group_value_df,
              attr,
              configs.fair_measures_requested,
              fairness_measures_depend,
          )
          mkdown_parity += "\n\n[Go to Top](#)" + manylines
          mkdown_disparities += (
              "\n\n[Go to Previous]"
              + "(#"
              + "-".join(attr.lower().split(" "))
              + ")"
              + "\n\n"
              + "[Go to Top](#)"
              + manylines
          )
          mkdown_group += (
              "\n\n[Go to Previous]"
              + "(#"
              + "-".join(attr.lower().split(" "))
              + "-2)"
              + "\n\n"
              + "[Go to Top](#)"
              + manylines
          )
  
      report = (
          mkdown_highlevel
          + "----"
          + mkdown_parity
          + "----"
          + mkdown_disparities
          + "----"
          + mkdown_group
          + "----"
      )
      report_html = markdown(report, extras=["tables", "header-ids"])
      # coloring True/False results
      report_html = report_html.replace("nan", "Undefined")
      report_html = report_html.replace(
          ">False<", ' style="color:red"><b>Failed</b><'
      )
      report_html = report_html.replace(
          ">True<", ' style="color:green"><b>Passed</b><'
      )
  
      report_html = report_html.replace(
          ">##red##", ' style="color:red">'
      )
      report_html = report_html.replace(
          ">##green##", ' style="color:green">'
      )
  
      report_html = report_html.replace("##br##", "<br>")
  
      report_html = report_html.replace(
          "++span-red-init++", '<span style="color:red"><b>'
      )
      report_html = report_html.replace(
          "++span-red-end++", "</b> </span> "
      )
      report_html = report_html.replace(
          "++span-green-init++", '<span style="color:green"><b>'
      )
      report_html = report_html.replace(
          "++span-green-end++", "</b> </span> "
      )
  
      # report_html = report_html.replace(' failed ', '<span style="color:red"><b> failed </b></span>')
      # report_html = report_html.replace(' passed ', '<span style="color:green"><b> passed </b></span>')
  
      report_html = report_html.replace(
          "<table>", '<table class="table table-striped" padding=5 >'
      )
      report_html = report_html.replace(
          '<h1 id="the-bias-report">',
          '<h1 id="the-bias-report" align="center">',
      )
      # report_html = report_html.replace('< thead >\n < tr >', '< thead >\n < tr class="table-info" >')
      #     audit_desc = """<table class="table table-striped" padding=5 >
      # <thead>
      # <tr>
      #   <th align="left">column1</th>
      #   <th align="left">column2</th>
      #   <th align="left">column3</th>
      # </tr>
      # </thead>"""
      #     new_audit_desc = '<table>\n'
      #     report_html = report_html.replace(audit_desc, new_audit_desc)
  
      ##TOOLTIPS
      # report_html = report_html.replace('Statistical Parity', ' <a href="#" data-toggle="tooltip" title="Hooray!">Equal
      # Parity</a>')
  
      ##summary table we need a different replace
      report_html = report_html.replace(
          '<td align="left" style="color:red">',
          '<td align="left" style="color:red; ' 'padding:10px;">',
      )
      report_html = report_html.replace(
          '<td align="left" style="color:green">',
          '<td align="left" style="color:green; ' 'padding:10px;">',
      )
      report_html = report_html.replace(
          '<td align="left">', '<td align="left" style=" padding:5px;">'
      )
  
      report_html = report_html.replace(
          ';">##border##', '; border: 15px solid white;">'
      )
  
      ## widths tables
      width1_default = '<th align="left">What is it?</th>'
      width2_default = (
          '<th align="left">Which groups failed the audit:</th>'
      )
      width1_new = '<th align="left" width="35%" >What is it?</th>'
      width3_new = '<th align="left" width="30%" >Which groups failed the audit:</th>'
      report_html = report_html.replace(width1_default, width1_new)
      report_html = report_html.replace(width2_default, width3_new)
  
      report_html = report_html.replace(
          "##tooltip-start-title##",
          '<a href="javascript:;" data-toggle="tooltip" title="',
      )
      report_html = report_html.replace("##tooltip-end-title##", ' ">')
      report_html = report_html.replace(
          "##tooltip-end-anchor##", "</a>"
      )
  
      report_html = report_html.replace(
          ">Statistical Parity<",
          ' ><a href="javascript:;" data-toggle="tooltip" '
          'title="Fail/Pass test if the Predicted Positive Rate '
          "Disparity of each group is within the range allowed by the fairness "
          'threshold selected.">Equal Parity</a><',
      )
  
      report_html = report_html.replace(
          ">Impact Parity<",
          ' ><a href="javascript:;" data-toggle="tooltip" '
          'title="Fail/Pass test if the Predicted Positive Group Rate '
          'Disparity of each group is within the range allowed by the fairness threshold selected.">Proportional Parity</a><',
      )
  
      report_html = report_html.replace(
          ">FPR Parity<",
          ' ><a href="javascript:;" data-toggle="tooltip" title="Fail/Pass test '
          "if the False Positive Rate Disparity of each group is within the range "
          'allowed by the fairness threshold selected.">False '
          "Positive "
          "Rate Parity</a><",
      )
      report_html = report_html.replace(
          ">FDR Parity<",
          '> <a href="javascript:;" data-toggle="tooltip" title="Fail/Pass test '
          "if the False Discovery Rate Disparity of each group is within the range "
          'allowed by the fairness threshold selected.">False Discovery '
          "Rate Parity</a><",
      )
      report_html = report_html.replace(
          ">FNR Parity<",
          ' ><a href="javascript:;" data-toggle="tooltip" title="Fail/Pass test '
          "if the False Negative Rate Disparity of each group is within the range "
          'allowed by the fairness threshold selected.">False Negative '
          "Rate Parity</a><",
      )
      report_html = report_html.replace(
          ">FOR Parity<",
          ' ><a href="javascript:;" data-toggle="tooltip" title="Fail/Pass test '
          "if the False Omission Rate Disparity of each group is within the range "
          'allowed by the fairness threshold selected.">False '
          "Omission "
          "Rate Parity</a><",
      )
  
      report_html = report_html.replace(
          ">Equal Parity<",
          ' ><a href="javascript:;" data-toggle="tooltip" '
          'title="Fail/Pass test if the Predicted Positive Rate '
          "Disparity of each group is within the range allowed by the fairness "
          'threshold selected.">Equal Parity</a><',
      )
  
      report_html = report_html.replace(
          ">Proportional Parity<",
          ' ><a href="javascript:;" data-toggle="tooltip" '
          'title="Fail/Pass test if the Predicted Positive Group Rate '
          'Disparity of each group is within the range allowed by the fairness threshold selected.">Proportional Parity</a><',
      )
  
      report_html = report_html.replace(
          ">False Positive Rate Parity<",
          ' ><a href="javascript:;" data-toggle="tooltip" '
          'title="Fail/Pass test '
          "if the False Positive Rate Disparity of each group is within the range "
          'allowed by the fairness threshold selected.">False '
          "Positive "
          "Rate Parity</a><",
      )
      report_html = report_html.replace(
          ">False Discovery Rate Parity<",
          '> <a href="javascript:;" data-toggle="tooltip" '
          'title="Fail/Pass test '
          "if the False Discovery Rate Disparity of each group is within the range "
          'allowed by the fairness threshold selected.">False Discovery '
          "Rate Parity</a><",
      )
      report_html = report_html.replace(
          ">False Negative Rate Parity<",
          ' ><a href="javascript:;" data-toggle="tooltip" '
          'title="Fail/Pass test '
          "if the False Negative Rate Disparity of each group is within the range "
          'allowed by the fairness threshold selected.">False Negative '
          "Rate Parity</a><",
      )
      report_html = report_html.replace(
          ">False Omission Rate Parity<",
          ' ><a href="javascript:;" data-toggle="tooltip" '
          'title="Fail/Pass test '
          "if the False Omission Rate Disparity of each group is within the range "
          'allowed by the fairness threshold selected.">False '
          "Omission "
          "Rate Parity</a><",
      )
  
      report_html = report_html.replace(
          ">PPREV Disparity<",
          ' ><a href="javascript:;" data-toggle="tooltip" title="The Predicted Positive Group Ratio of each group divided by the same metric value of the reference group. '
          '.">Predicted Positive '
          "Group Rate Disparity"
          "</a><",
      )
  
      report_html = report_html.replace(
          ">PPR Disparity<",
          ' ><a href="javascript:;" data-toggle="tooltip" title="The Predicted '
          'Positive Rate of each group divided by the same metric value of the reference group.">Predicted '
          "Positive "
          "Rate Disparity</a><",
      )
  
      report_html = report_html.replace(
          ">FPR Disparity<",
          ' ><a href="javascript:;" data-toggle="tooltip" title="The False '
          "Positive Rate of each group divided by the same metric value of the "
          'reference group.">False '
          "Positive "
          "Rate Disparity</a><",
      )
      report_html = report_html.replace(
          ">FDR Disparity<",
          '> <a href="javascript:;" data-toggle="tooltip" title="The False '
          "Discovery Rate of each group divided by the same metric value of the "
          'reference group.">False Discovery '
          "Rate Disparity</a><",
      )
      report_html = report_html.replace(
          ">FNR Disparity<",
          ' ><a href="javascript:;" data-toggle="tooltip" title="The False '
          "Negative Rate of each group divided by the same metric value of the "
          'reference group.">False Negative '
          "Rate Disparity</a><",
      )
      report_html = report_html.replace(
          ">FOR Disparity<",
          ' ><a href="javascript:;" data-toggle="tooltip" title="The False '
          "Omission Rate of each group divided by the same "
          'metric value of the reference group.">False '
          "Omission "
          "Rate Disparity</a><",
      )
  
      report_html = report_html.replace(
          ">PPREV<",
          ' ><a href="javascript:;" data-toggle="tooltip" title="Number of elements of the '
          'group selected divided by the size of the group.">Predicted Positive '
          "Group Rate"
          "</a><",
      )
  
      report_html = report_html.replace(
          ">PPR<",
          ' ><a href="javascript:;" data-toggle="tooltip" title="Number of elements of the '
          'group selected divided by the total size of the interventation set.">Predicted '
          "Positive "
          "Rate</a><",
      )
  
      report_html = report_html.replace(
          ">FPR<",
          ' ><a href="javascript:;" data-toggle="tooltip" title="Number of false positives of '
          'the group divided by number of labeled negatives within the group.">False '
          "Positive "
          "Rate</a><",
      )
      report_html = report_html.replace(
          ">FDR<",
          '> <a href="javascript:;" data-toggle="tooltip" title="Number of false positives of '
          "the group divided by the size of the intervention set of the group (predicted "
          'positives within group).">False Discovery '
          "Rate</a><",
      )
      report_html = report_html.replace(
          ">FNR<",
          ' ><a href="javascript:;" data-toggle="tooltip" title="Number of false negative of '
          'the group divided by number of labeled positives in the group">False Negative '
          "Rate</a><",
      )
      report_html = report_html.replace(
          ">FOR<",
          ' ><a href="javascript:;" data-toggle="tooltip" title="Number of false negatives of '
          "the group divided by the size of the non-selected set of the group (predicted "
          'negatives within group).">False '
          "Omission "
          "Rate</a><",
      )
  
      audit_desc = """<table class="table table-striped" padding=5 >
  <thead>
  <tr>
    <th align="left">column1</th>
    <th align="left">column2</th>
  </tr>
  </thead>"""
      new_audit_desc = "<table>\n"
      report_html = report_html.replace(audit_desc, new_audit_desc)
  
      audit_desc = """<table class="table table-striped" padding=5 >
  <thead>
  <tr>
    <th align="left">column1</th>
    <th align="left">column2</th>
    <th align="left">column3</th>
  </tr>
  </thead>"""
      new_audit_desc = "<table>\n"
      report_html = report_html.replace(audit_desc, new_audit_desc)
      # change color of headers
      report_html = report_html.replace(
          "<h1", '<h1 style="color:#b37d4e;"'
      )
      report_html = report_html.replace(
          "<h3", '<h3 style="color:#b37d4e;"'
      )
      report_html = report_html.replace(
          "<h3", '<h3 style="color:#b37d4e;"'
      )
      report_html = report_html.replace(
          "<h4", '<h4 style="color:#286da8;"'
      )
      report_html = report_html.replace("<strong ><a", "<a")
      report_html = report_html.replace("</a></strong>", "</a>")
      report_html = report_html.replace("<strong> <a", "<a")
  
      return report_html
  
imports: import datetime
  import logging
  import pandas
  from markdown2 import markdown
  from tabulate import tabulate
label_desc: Use image node_id 15 for calling a global function with example usage: audit_report_markdown(configs, group_value_df, fairness_measures_depend, overall_fairness, model_id) and returns: report_html