code: def _flatten_lane_details(runinfo):
      
      out = []
      for ldetail in runinfo["details"]:
          # handle controls
          if "project_name" not in ldetail and ldetail["description"] == "control":
              ldetail["project_name"] = "control"
          for i, barcode in enumerate(ldetail.get("multiplex", [{}])):
              cur = copy.deepcopy(ldetail)
              cur["name"] = "%s-%s" % (ldetail["name"], i + 1)
              cur["description"] = barcode.get("name", ldetail["description"])
              cur["bc_index"] = barcode.get("sequence", "")
              cur["project_name"] = clean_name(ldetail["project_name"])
              out.append(cur)
      return out
docs: Provide flattened lane information with multiplexed barcodes separated.