diff --git a/Clario/create_report.py b/Clario/create_report.py deleted file mode 100644 index 2481d8d..0000000 --- a/Clario/create_report.py +++ /dev/null @@ -1,402 +0,0 @@ -""" -create_report.py -Verze: 1.2 -Datum: 2026-05-27 - -Generuje Excel report (.xlsm) pro studii 77242113UCO3001 z MongoDB databáze Clario. -Výstup: U:/Dropbox/!!!Days/Downloads Z230/YYYY-MM-DD 77242113UCO3001 Clario Reports.xlsm - -Listy: - MayoScore — jeden řádek = pacient × visit; řádky I-0 s Modified Mayo < 5 červeně tučně - MayoDiary — jeden řádek = denní záznam deníku pacienta - EligibleDays — jeden řádek = jeden eligible day z MayoScore obohacený o data z MayoDiary; - included/excluded flag, excluded dny šedě na žlutém pozadí - -VBA makro (Worksheet_SelectionChange na listu MayoScore): - Klik na řádek → automaticky přepne na EligibleDays a vyfiltruje záznamy - pro daného pacienta a visit. Vyžaduje povolení maker při otevření souboru. -""" - -from datetime import datetime -from pathlib import Path - -from pymongo import MongoClient -from openpyxl import Workbook -from openpyxl.styles import Font, PatternFill, Alignment, Border, Side -from openpyxl.utils import get_column_letter -import xlwings as xw - -# --------------------------------------------------------------------------- -# Konfigurace -# --------------------------------------------------------------------------- - -MONGO_URI = "mongodb://192.168.1.76:27017" -DB_NAME = "Clario" -OUTPUT_DIR = Path(r"U:\Dropbox\!!!Days\Downloads Z230") - -VISIT_ORDER = ["I-0", "I-2", "I-4", "I-8", "I-12"] - -COLUMNS_SCORE = [ - ("Site", lambda d: d.get("site", {}).get("name", "")), - ("Subject ID", lambda d: d.get("subject", {}).get("id", "")), - ("Visit", lambda d: d["fields"].get("Visit", "")), - ("Visit Date", lambda d: d["fields"].get("Visit Date", "")), - ("Baseline Stool Frequency", lambda d: _num(d["fields"].get("Baseline Stool Frequency", ""))), - ("Central Endoscopy Score", lambda d: _num(d["fields"].get("Central Endoscopy Score", ""))), - ("PGA Score", lambda d: _num(d["fields"].get("PGA Score", ""))), - ("Stool Frequency Sub-score", lambda d: _num(d["fields"].get("Stool Frequency Sub-score", ""))), - ("Rectal Bleeding Sub-score", lambda d: _num(d["fields"].get("Rectal Bleeding Sub-score", ""))), - ("Partial Mayo Score", lambda d: _num(d["fields"].get("Partial Mayo Score", ""))), - ("Modified Mayo Score", lambda d: _num(d["fields"].get("Modified Mayo Score", ""))), - ("Full Mayo Score", lambda d: _num(d["fields"].get("Full Mayo Score", ""))), -] - -COLUMNS_DIARY = [ - ("Subject ID", lambda d: d.get("subject", {}).get("id", "")), - ("Report Date", lambda d: d["fields"].get("Report Date", "")), - ("Baseline Stool Count", lambda d: _num(d["fields"].get("Baseline Stool Count", ""))), - ("Stool Frequency", lambda d: _num(d["fields"].get("Stool Frequency", ""))), - ("MAYO050", lambda d: d["fields"].get("MAYO050", "")), - ("Not Applicable", lambda d: d["fields"].get("Not Applicable", "")), - ("Constipation", lambda d: d["fields"].get("Constipation", "")), - ("Diarrhea", lambda d: d["fields"].get("Diarrhea", "")), - ("Irregularity", lambda d: d["fields"].get("Irregularity", "")), -] - -# --------------------------------------------------------------------------- -# Helpers -# --------------------------------------------------------------------------- - -def _num(value): - """Převede číselný string na int, jinak vrátí původní hodnotu nebo None.""" - if value == "" or value is None: - return None - try: - return int(value) - except (ValueError, TypeError): - try: - return float(value) - except (ValueError, TypeError): - return value - - -def _visit_sort_key(doc): - visit = doc["fields"].get("Visit", "") - try: - idx = VISIT_ORDER.index(visit) - except ValueError: - idx = len(VISIT_ORDER) - return (doc.get("site", {}).get("name", ""), doc.get("subject", {}).get("id", ""), idx, visit) - - -def _iso_to_date(value): - """ISO string → Python date pro Excel.""" - if not isinstance(value, str): - return value - try: - return datetime.fromisoformat(value).date() - except ValueError: - return value - - -# --------------------------------------------------------------------------- -# Styly -# --------------------------------------------------------------------------- - -HEADER_FILL = PatternFill("solid", fgColor="1F497D") -HEADER_FONT = Font(bold=True, color="FFFFFF", size=10) -CELL_FONT = Font(size=10) -ALIGN_CTR = Alignment(horizontal="center", vertical="center", wrap_text=False) -ALIGN_LEFT = Alignment(horizontal="left", vertical="center") - -THIN = Side(style="thin", color="BFBFBF") -BORDER = Border(left=THIN, right=THIN, top=THIN, bottom=THIN) - -# zebra -FILL_ODD = PatternFill("solid", fgColor="FFFFFF") -FILL_EVEN = PatternFill("solid", fgColor="EBF1DE") - -SCORE_COLS = {"Partial Mayo Score", "Modified Mayo Score", "Full Mayo Score"} -SCORE_FILL = PatternFill("solid", fgColor="FFC7CE") # červená pro skóre ≥ 5 (placeholder — nepoužíváme podmíněné formátování) - - -# --------------------------------------------------------------------------- -# Sestavení sheetu -# --------------------------------------------------------------------------- - -def _build_sheet(ws, docs, columns, date_cols, center_cols, col_widths, row_font_fn=None): - headers = [c[0] for c in columns] - - for col_idx, header in enumerate(headers, 1): - cell = ws.cell(row=1, column=col_idx, value=header) - cell.font = HEADER_FONT - cell.fill = HEADER_FILL - cell.alignment = ALIGN_CTR - cell.border = BORDER - ws.row_dimensions[1].height = 28 - - for row_idx, doc in enumerate(docs, 2): - fill = FILL_EVEN if row_idx % 2 == 0 else FILL_ODD - font = row_font_fn(doc) if row_font_fn else CELL_FONT - for col_idx, (col_name, getter) in enumerate(columns, 1): - value = getter(doc) - if col_name in date_cols and isinstance(value, str): - value = _iso_to_date(value) - cell = ws.cell(row=row_idx, column=col_idx, value=value) - cell.font = font - cell.fill = fill - cell.border = BORDER - cell.alignment = ALIGN_CTR if col_name in center_cols else ALIGN_LEFT - - for col_idx, (col_name, _) in enumerate(columns, 1): - ws.column_dimensions[get_column_letter(col_idx)].width = col_widths.get(col_name, 14) - - for col_name in date_cols: - if col_name in headers: - letter = get_column_letter(headers.index(col_name) + 1) - for row_idx in range(2, len(docs) + 2): - ws[f"{letter}{row_idx}"].number_format = "DD-MMM-YYYY" - - ws.freeze_panes = "A2" - ws.auto_filter.ref = f"A1:{get_column_letter(len(headers))}1" - - -def _score_row_font(doc): - visit = doc["fields"].get("Visit", "") - try: - mod_mayo = int(doc["fields"].get("Modified Mayo Score", "")) - except (ValueError, TypeError): - mod_mayo = None - if visit == "I-0" and mod_mayo is not None and mod_mayo < 5: - return Font(size=10, bold=True, color="FF0000") - return CELL_FONT - - -def build_mayo_score_sheet(ws, docs): - _build_sheet( - ws, docs, COLUMNS_SCORE, - date_cols={"Visit Date"}, - center_cols={"Visit", "Central Endoscopy Score", "PGA Score", - "Stool Frequency Sub-score", "Rectal Bleeding Sub-score", - "Partial Mayo Score", "Modified Mayo Score", "Full Mayo Score", - "Baseline Stool Frequency"}, - col_widths={ - "Site": 18, "Subject ID": 16, "Visit": 12, "Visit Date": 14, - "Baseline Stool Frequency": 14, "Central Endoscopy Score": 14, - "PGA Score": 10, "Stool Frequency Sub-score": 14, - "Rectal Bleeding Sub-score": 14, "Partial Mayo Score": 14, - "Modified Mayo Score": 14, "Full Mayo Score": 13, - }, - row_font_fn=_score_row_font, - ) - - -def build_mayo_diary_sheet(ws, docs): - _build_sheet( - ws, docs, COLUMNS_DIARY, - date_cols={"Report Date"}, - center_cols={"Baseline Stool Count", "Stool Frequency", "Not Applicable", - "Constipation", "Diarrhea", "Irregularity"}, - col_widths={ - "Subject ID": 16, "Report Date": 14, "Baseline Stool Count": 14, - "Stool Frequency": 14, "MAYO050": 48, "Not Applicable": 14, - "Constipation": 14, "Diarrhea": 12, "Irregularity": 14, - }, - ) - - -def build_eligible_days_sheet(ws, score_docs, diary_docs): - # Lookup diary records by (subject_id, date_part YYYY-MM-DD) - diary_lookup: dict[tuple, dict] = {} - for d in diary_docs: - subj = d.get("subject", {}).get("id", "") - date_iso = d["fields"].get("Report Date", "") - date_part = date_iso[:10] if date_iso else "" - if subj and date_part: - diary_lookup[(subj, date_part)] = d - - headers = [ - "Included", "Subject ID", "Visit", "Visit Date", "Day", - "Report Date", "Baseline Stool Count", "Stool Frequency", - "MAYO050", "Not Applicable", "Constipation", "Diarrhea", "Irregularity", - ] - col_widths = { - "Included": 10, "Subject ID": 16, "Visit": 10, "Visit Date": 14, "Day": 8, - "Report Date": 14, "Baseline Stool Count": 14, "Stool Frequency": 14, - "MAYO050": 48, "Not Applicable": 14, "Constipation": 14, - "Diarrhea": 12, "Irregularity": 14, - } - center_cols = {"Included", "Visit", "Day", "Baseline Stool Count", "Stool Frequency", - "Not Applicable", "Constipation", "Diarrhea", "Irregularity"} - date_cols = {"Visit Date", "Report Date"} - no_fill = PatternFill("solid", fgColor="FFF2CC") # žlutá pro excluded dny - - for col_idx, header in enumerate(headers, 1): - cell = ws.cell(row=1, column=col_idx, value=header) - cell.font = HEADER_FONT - cell.fill = HEADER_FILL - cell.alignment = ALIGN_CTR - cell.border = BORDER - ws.row_dimensions[1].height = 28 - - row_idx = 2 - for score_doc in score_docs: - subj = score_doc.get("subject", {}).get("id", "") - visit = score_doc["fields"].get("Visit", "") - visit_date = score_doc["fields"].get("Visit Date", "") - - for n in range(1, 11): - day_date_iso = score_doc["fields"].get(f"Eligible Day (-{n})") - if not day_date_iso or day_date_iso == "-": - continue - date_part = day_date_iso[:10] - excl_reason = score_doc["fields"].get(f"Day (-{n}) Excluded Reason(s)", "") - included = "No" if excl_reason and excl_reason != "-" else "Yes" - - diary = diary_lookup.get((subj, date_part), {}) - df = diary.get("fields", {}) - - fill = no_fill if included == "No" else (FILL_EVEN if row_idx % 2 == 0 else FILL_ODD) - font = Font(size=10, color="808080") if included == "No" else CELL_FONT - - values = [ - included, - subj, - visit, - _iso_to_date(visit_date) if isinstance(visit_date, str) else visit_date, - f"-{n}", - _iso_to_date(day_date_iso), - _num(df.get("Baseline Stool Count", "")), - _num(df.get("Stool Frequency", "")), - df.get("MAYO050", ""), - df.get("Not Applicable", ""), - df.get("Constipation", ""), - df.get("Diarrhea", ""), - df.get("Irregularity", ""), - ] - - for col_idx, (header, value) in enumerate(zip(headers, values), 1): - cell = ws.cell(row=row_idx, column=col_idx, value=value) - cell.font = font - cell.fill = fill - cell.border = BORDER - if header in date_cols: - cell.number_format = "DD-MMM-YYYY" - cell.alignment = ALIGN_CTR if header in center_cols else ALIGN_LEFT - - row_idx += 1 - - for col_idx, header in enumerate(headers, 1): - ws.column_dimensions[get_column_letter(col_idx)].width = col_widths.get(header, 14) - - ws.freeze_panes = "A2" - ws.auto_filter.ref = f"A1:{get_column_letter(len(headers))}1" - - -# --------------------------------------------------------------------------- -# Main -# --------------------------------------------------------------------------- - -def main(): - client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000) - client.admin.command("ping") - db = client[DB_NAME] - - score_docs = list(db["Clario.MayoScore"].find({})) - diary_docs = list(db["Clario.MayoDiary"].find({})) - client.close() - - score_docs.sort(key=_visit_sort_key) - diary_docs.sort(key=lambda d: ( - d.get("subject", {}).get("id", ""), - d["fields"].get("Report Date", ""), - )) - - wb = Workbook() - ws_score = wb.active - ws_score.title = "MayoScore" - build_mayo_score_sheet(ws_score, score_docs) - - ws_diary = wb.create_sheet("MayoDiary") - build_mayo_diary_sheet(ws_diary, diary_docs) - - ws_days = wb.create_sheet("EligibleDays") - build_eligible_days_sheet(ws_days, score_docs, diary_docs) - - OUTPUT_DIR.mkdir(parents=True, exist_ok=True) - today = datetime.now().strftime("%Y-%m-%d") - filename = f"{today} 77242113UCO3001 Clario Reports.xlsx" - output_path = OUTPUT_DIR / filename - - # Uložit jako .xlsx nejdřív, pak přepsat na .xlsm přes xlwings + injektovat VBA - xlsx_path = output_path.with_suffix(".xlsx") - xlsm_path = output_path.with_suffix(".xlsm") - wb.save(str(xlsx_path)) - - inject_vba(xlsx_path, xlsm_path) - xlsx_path.unlink(missing_ok=True) - - print(f"Uloženo: {xlsm_path}") - print(f"MayoScore: {len(score_docs)} záznamů") - print(f"MayoDiary: {len(diary_docs)} záznamů") - print(f"EligibleDays: generováno z {len(score_docs)} score záznamů") - - -def inject_vba(xlsx_path: Path, xlsm_path: Path) -> None: - vba_code = '''\ -Private Sub Worksheet_SelectionChange(ByVal Target As Range) - If Target.Row < 2 Or Target.Column < 1 Then Exit Sub - If Target.Rows.Count > 1 Then Exit Sub - - Dim subjectId As String - Dim visit As String - subjectId = CStr(Me.Cells(Target.Row, 2).Value) - visit = CStr(Me.Cells(Target.Row, 3).Value) - - If subjectId = "" Or visit = "" Then Exit Sub - - Dim ws As Worksheet - On Error Resume Next - Set ws = ThisWorkbook.Sheets("EligibleDays") - On Error GoTo 0 - If ws Is Nothing Then Exit Sub - - Application.ScreenUpdating = False - - ws.AutoFilterMode = False - ws.Range("A1").AutoFilter - ws.Range("A1").AutoFilter Field:=2, Criteria1:=subjectId - ws.Range("A1").AutoFilter Field:=3, Criteria1:=visit - - ws.Activate - ws.Range("A2").Select - - Application.ScreenUpdating = True -End Sub -''' - - app = xw.App(visible=False) - try: - wb = app.books.open(str(xlsx_path)) - # Najdi VBComponent odpovídající listu "MayoScore" podle tab názvu - vb_comp = None - for comp in wb.api.VBProject.VBComponents: - if comp.Type == 100: # xlSheet - try: - if comp.Properties("Name").Value == "MayoScore": - vb_comp = comp - break - except Exception: - pass - if vb_comp is None: - # fallback: první sheet (Sheet1) - vb_comp = wb.api.VBProject.VBComponents("Sheet1") - vb_comp.CodeModule.AddFromString(vba_code) - wb.api.SaveAs(str(xlsm_path), FileFormat=52) # 52 = xlOpenXMLWorkbookMacroEnabled - wb.close() - finally: - app.quit() - - -if __name__ == "__main__": - main() diff --git a/Covance_UCO3001/browser_profile/BrowserMetrics/BrowserMetrics-6A17EFE9-32E8.pma b/Covance_UCO3001/browser_profile/BrowserMetrics/BrowserMetrics-6A17EFE9-32E8.pma deleted file mode 100644 index a894362..0000000 Binary files a/Covance_UCO3001/browser_profile/BrowserMetrics/BrowserMetrics-6A17EFE9-32E8.pma and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_0 b/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_0 index 058354b..c03b561 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_0 and b/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_0 differ diff --git a/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_1 b/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_1 index 71ec445..2976f6b 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_1 and b/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_1 differ diff --git a/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_2 b/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_2 index 587e9a9..2427da8 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_2 and b/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_2 differ diff --git a/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_3 b/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_3 index 283b8cb..262a295 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_3 and b/Covance_UCO3001/browser_profile/Default/Cache/Cache_Data/data_3 differ diff --git a/Covance_UCO3001/browser_profile/Default/Code Cache/js/1f3f5d78da75e490_0 b/Covance_UCO3001/browser_profile/Default/Code Cache/js/1f3f5d78da75e490_0 deleted file mode 100644 index e6737e8..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Code Cache/js/1f3f5d78da75e490_0 and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Code Cache/js/4b8939c9f36bbeb9_0 b/Covance_UCO3001/browser_profile/Default/Code Cache/js/4b8939c9f36bbeb9_0 deleted file mode 100644 index b92d39c..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Code Cache/js/4b8939c9f36bbeb9_0 and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Code Cache/js/5be62acc646c7188_0 b/Covance_UCO3001/browser_profile/Default/Code Cache/js/5be62acc646c7188_0 index c1034a9..68606b8 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Code Cache/js/5be62acc646c7188_0 and b/Covance_UCO3001/browser_profile/Default/Code Cache/js/5be62acc646c7188_0 differ diff --git a/Covance_UCO3001/browser_profile/Default/Code Cache/js/79fced940f0d6da1_0 b/Covance_UCO3001/browser_profile/Default/Code Cache/js/79fced940f0d6da1_0 deleted file mode 100644 index 408317b..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Code Cache/js/79fced940f0d6da1_0 and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Code Cache/js/8484823b1f8ea286_0 b/Covance_UCO3001/browser_profile/Default/Code Cache/js/8484823b1f8ea286_0 deleted file mode 100644 index 2aa5435..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Code Cache/js/8484823b1f8ea286_0 and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Code Cache/js/a0ae8d57174d5be0_0 b/Covance_UCO3001/browser_profile/Default/Code Cache/js/a0ae8d57174d5be0_0 index 24de84f..5e3ebee 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Code Cache/js/a0ae8d57174d5be0_0 and b/Covance_UCO3001/browser_profile/Default/Code Cache/js/a0ae8d57174d5be0_0 differ diff --git a/Covance_UCO3001/browser_profile/Default/Code Cache/js/index-dir/the-real-index b/Covance_UCO3001/browser_profile/Default/Code Cache/js/index-dir/the-real-index index dcc5dc4..d07a2ff 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Code Cache/js/index-dir/the-real-index and b/Covance_UCO3001/browser_profile/Default/Code Cache/js/index-dir/the-real-index differ diff --git a/Covance_UCO3001/browser_profile/Default/DIPS b/Covance_UCO3001/browser_profile/Default/DIPS index ecbab8e..a4eb7ec 100644 Binary files a/Covance_UCO3001/browser_profile/Default/DIPS and b/Covance_UCO3001/browser_profile/Default/DIPS differ diff --git a/Covance_UCO3001/browser_profile/Default/DawnGraphiteCache/data_1 b/Covance_UCO3001/browser_profile/Default/DawnGraphiteCache/data_1 index b09bb1a..0dfc91a 100644 Binary files a/Covance_UCO3001/browser_profile/Default/DawnGraphiteCache/data_1 and b/Covance_UCO3001/browser_profile/Default/DawnGraphiteCache/data_1 differ diff --git a/Covance_UCO3001/browser_profile/Default/DawnWebGPUCache/data_1 b/Covance_UCO3001/browser_profile/Default/DawnWebGPUCache/data_1 index 8e7dce7..0a657b7 100644 Binary files a/Covance_UCO3001/browser_profile/Default/DawnWebGPUCache/data_1 and b/Covance_UCO3001/browser_profile/Default/DawnWebGPUCache/data_1 differ diff --git a/Covance_UCO3001/browser_profile/Default/Extension State/LOG b/Covance_UCO3001/browser_profile/Default/Extension State/LOG index bc60998..7e2b8ae 100644 --- a/Covance_UCO3001/browser_profile/Default/Extension State/LOG +++ b/Covance_UCO3001/browser_profile/Default/Extension State/LOG @@ -1,3 +1,3 @@ -2026/05/28-09:34:01.521 26f4 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Extension State/MANIFEST-000001 -2026/05/28-09:34:01.522 26f4 Recovering log #3 -2026/05/28-09:34:01.522 26f4 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Extension State/000003.log +2026/05/29-13:24:16.539 6b34 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Extension State/MANIFEST-000001 +2026/05/29-13:24:16.540 6b34 Recovering log #3 +2026/05/29-13:24:16.541 6b34 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Extension State/000003.log diff --git a/Covance_UCO3001/browser_profile/Default/Extension State/LOG.old b/Covance_UCO3001/browser_profile/Default/Extension State/LOG.old index d008766..350a7dc 100644 --- a/Covance_UCO3001/browser_profile/Default/Extension State/LOG.old +++ b/Covance_UCO3001/browser_profile/Default/Extension State/LOG.old @@ -1,3 +1,3 @@ -2026/05/28-09:20:54.095 55ec Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Extension State/MANIFEST-000001 -2026/05/28-09:20:54.096 55ec Recovering log #3 -2026/05/28-09:20:54.096 55ec Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Extension State/000003.log +2026/05/29-13:17:37.742 5acc Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Extension State/MANIFEST-000001 +2026/05/29-13:17:37.742 5acc Recovering log #3 +2026/05/29-13:17:37.743 5acc Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Extension State/000003.log diff --git a/Covance_UCO3001/browser_profile/Default/Favicons b/Covance_UCO3001/browser_profile/Default/Favicons index 8800dab..7cb7910 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Favicons and b/Covance_UCO3001/browser_profile/Default/Favicons differ diff --git a/Covance_UCO3001/browser_profile/Default/GCM Store/LOG b/Covance_UCO3001/browser_profile/Default/GCM Store/LOG index 5d2bf94..e8a74f9 100644 --- a/Covance_UCO3001/browser_profile/Default/GCM Store/LOG +++ b/Covance_UCO3001/browser_profile/Default/GCM Store/LOG @@ -1,3 +1,3 @@ -2026/05/28-09:34:11.834 4160 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\GCM Store/MANIFEST-000001 -2026/05/28-09:34:11.835 4160 Recovering log #3 -2026/05/28-09:34:11.836 4160 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\GCM Store/000003.log +2026/05/29-13:24:32.087 1144 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\GCM Store/MANIFEST-000001 +2026/05/29-13:24:32.087 1144 Recovering log #3 +2026/05/29-13:24:32.087 1144 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\GCM Store/000003.log diff --git a/Covance_UCO3001/browser_profile/Default/GCM Store/LOG.old b/Covance_UCO3001/browser_profile/Default/GCM Store/LOG.old index ba94154..440b4b4 100644 --- a/Covance_UCO3001/browser_profile/Default/GCM Store/LOG.old +++ b/Covance_UCO3001/browser_profile/Default/GCM Store/LOG.old @@ -1,3 +1,3 @@ -2026/05/28-09:21:04.862 2184 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\GCM Store/MANIFEST-000001 -2026/05/28-09:21:04.864 2184 Recovering log #3 -2026/05/28-09:21:04.865 2184 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\GCM Store/000003.log +2026/05/29-13:17:47.687 5428 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\GCM Store/MANIFEST-000001 +2026/05/29-13:17:47.696 5428 Recovering log #3 +2026/05/29-13:17:47.696 5428 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\GCM Store/000003.log diff --git a/Covance_UCO3001/browser_profile/Default/GPUCache/data_0 b/Covance_UCO3001/browser_profile/Default/GPUCache/data_0 index d76fb77..0fee3cf 100644 Binary files a/Covance_UCO3001/browser_profile/Default/GPUCache/data_0 and b/Covance_UCO3001/browser_profile/Default/GPUCache/data_0 differ diff --git a/Covance_UCO3001/browser_profile/Default/GPUCache/data_1 b/Covance_UCO3001/browser_profile/Default/GPUCache/data_1 index c358b68..5c6223b 100644 Binary files a/Covance_UCO3001/browser_profile/Default/GPUCache/data_1 and b/Covance_UCO3001/browser_profile/Default/GPUCache/data_1 differ diff --git a/Covance_UCO3001/browser_profile/Default/GPUCache/data_2 b/Covance_UCO3001/browser_profile/Default/GPUCache/data_2 index c7e2eb9..a92a030 100644 Binary files a/Covance_UCO3001/browser_profile/Default/GPUCache/data_2 and b/Covance_UCO3001/browser_profile/Default/GPUCache/data_2 differ diff --git a/Covance_UCO3001/browser_profile/Default/History b/Covance_UCO3001/browser_profile/Default/History index 3cb96f0..cea9a27 100644 Binary files a/Covance_UCO3001/browser_profile/Default/History and b/Covance_UCO3001/browser_profile/Default/History differ diff --git a/Covance_UCO3001/browser_profile/Default/IndexedDB/https_xsp.covance.com_0.indexeddb.leveldb/000003.log b/Covance_UCO3001/browser_profile/Default/IndexedDB/https_xsp.covance.com_0.indexeddb.leveldb/000003.log index faa74c3..faddceb 100644 Binary files a/Covance_UCO3001/browser_profile/Default/IndexedDB/https_xsp.covance.com_0.indexeddb.leveldb/000003.log and b/Covance_UCO3001/browser_profile/Default/IndexedDB/https_xsp.covance.com_0.indexeddb.leveldb/000003.log differ diff --git a/Covance_UCO3001/browser_profile/Default/IndexedDB/https_xsp.covance.com_0.indexeddb.leveldb/LOG b/Covance_UCO3001/browser_profile/Default/IndexedDB/https_xsp.covance.com_0.indexeddb.leveldb/LOG index 4ade19d..ba98fc8 100644 --- a/Covance_UCO3001/browser_profile/Default/IndexedDB/https_xsp.covance.com_0.indexeddb.leveldb/LOG +++ b/Covance_UCO3001/browser_profile/Default/IndexedDB/https_xsp.covance.com_0.indexeddb.leveldb/LOG @@ -1,3 +1,3 @@ -2026/05/28-08:18:49.515 3070 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\IndexedDB\https_xsp.covance.com_0.indexeddb.leveldb/MANIFEST-000001 -2026/05/28-08:18:49.515 3070 Recovering log #3 -2026/05/28-08:18:49.515 3070 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\IndexedDB\https_xsp.covance.com_0.indexeddb.leveldb/000003.log +2026/05/29-11:20:05.334 264 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\IndexedDB\https_xsp.covance.com_0.indexeddb.leveldb/MANIFEST-000001 +2026/05/29-11:20:05.335 264 Recovering log #3 +2026/05/29-11:20:05.335 264 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\IndexedDB\https_xsp.covance.com_0.indexeddb.leveldb/000003.log diff --git a/Covance_UCO3001/browser_profile/Default/IndexedDB/https_xsp.covance.com_0.indexeddb.leveldb/LOG.old b/Covance_UCO3001/browser_profile/Default/IndexedDB/https_xsp.covance.com_0.indexeddb.leveldb/LOG.old index b326567..040058a 100644 --- a/Covance_UCO3001/browser_profile/Default/IndexedDB/https_xsp.covance.com_0.indexeddb.leveldb/LOG.old +++ b/Covance_UCO3001/browser_profile/Default/IndexedDB/https_xsp.covance.com_0.indexeddb.leveldb/LOG.old @@ -1,3 +1,3 @@ -2026/05/28-08:03:00.480 474c Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\IndexedDB\https_xsp.covance.com_0.indexeddb.leveldb/MANIFEST-000001 -2026/05/28-08:03:00.481 474c Recovering log #3 -2026/05/28-08:03:00.481 474c Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\IndexedDB\https_xsp.covance.com_0.indexeddb.leveldb/000003.log +2026/05/29-11:17:21.700 5a0c Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\IndexedDB\https_xsp.covance.com_0.indexeddb.leveldb/MANIFEST-000001 +2026/05/29-11:17:21.700 5a0c Recovering log #3 +2026/05/29-11:17:21.700 5a0c Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\IndexedDB\https_xsp.covance.com_0.indexeddb.leveldb/000003.log diff --git a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000103.ldb b/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000103.ldb deleted file mode 100644 index 712d225..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000103.ldb and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000105.ldb b/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000105.ldb deleted file mode 100644 index d330f55..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000105.ldb and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000107.ldb b/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000107.ldb deleted file mode 100644 index adebf20..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000107.ldb and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000109.log b/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000109.log deleted file mode 100644 index e8ed4a9..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000109.log and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000110.ldb b/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000110.ldb deleted file mode 100644 index 67f6b54..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/000110.ldb and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/LOG b/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/LOG index 1e34229..3dad867 100644 --- a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/LOG +++ b/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/LOG @@ -1,6 +1,6 @@ -2026/05/28-09:34:01.216 1690 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Local Storage\leveldb/MANIFEST-000001 -2026/05/28-09:34:01.223 1690 Recovering log #106 -2026/05/28-09:34:01.225 1690 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Local Storage\leveldb/000106.log -2026/05/28-09:34:15.864 8d0 Level-0 table #110: started -2026/05/28-09:34:15.951 8d0 Level-0 table #110: 24294 bytes OK -2026/05/28-09:34:16.039 8d0 Delete type=0 #106 +2026/05/29-13:24:16.084 988 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Local Storage\leveldb/MANIFEST-000001 +2026/05/29-13:24:16.091 988 Recovering log #160 +2026/05/29-13:24:16.093 988 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Local Storage\leveldb/000160.log +2026/05/29-13:24:33.012 6ac4 Level-0 table #165: started +2026/05/29-13:24:33.073 6ac4 Level-0 table #165: 20511 bytes OK +2026/05/29-13:24:33.150 6ac4 Delete type=0 #160 diff --git a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/LOG.old b/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/LOG.old index 2c6a2bd..28543ad 100644 --- a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/LOG.old +++ b/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/LOG.old @@ -1,3 +1,15 @@ -2026/05/28-09:20:53.814 57f0 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Local Storage\leveldb/MANIFEST-000001 -2026/05/28-09:20:53.820 57f0 Recovering log #106 -2026/05/28-09:20:53.822 57f0 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Local Storage\leveldb/000106.log +2026/05/29-13:17:37.366 6a60 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Local Storage\leveldb/MANIFEST-000001 +2026/05/29-13:17:37.373 6a60 Recovering log #157 +2026/05/29-13:17:37.375 6a60 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Local Storage\leveldb/000157.log +2026/05/29-13:17:51.674 6264 Level-0 table #161: started +2026/05/29-13:17:51.748 6264 Level-0 table #161: 19877 bytes OK +2026/05/29-13:17:51.815 6264 Delete type=0 #157 +2026/05/29-13:17:51.816 6264 Compacting 4@0 + 1@1 files +2026/05/29-13:17:51.881 6264 Generated table #162@0: 24 keys, 30021 bytes +2026/05/29-13:17:51.882 6264 Compacted 4@0 + 1@1 files => 30021 bytes +2026/05/29-13:17:51.914 6264 compacted to: files[ 0 1 1 0 0 0 0 ] +2026/05/29-13:17:51.915 6264 Delete type=2 #149 +2026/05/29-13:17:51.915 6264 Delete type=2 #152 +2026/05/29-13:17:51.915 6264 Delete type=2 #155 +2026/05/29-13:17:51.915 6264 Delete type=2 #158 +2026/05/29-13:17:51.915 6264 Delete type=2 #161 diff --git a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/MANIFEST-000001 b/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/MANIFEST-000001 index ea1ee71..29628ff 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/MANIFEST-000001 and b/Covance_UCO3001/browser_profile/Default/Local Storage/leveldb/MANIFEST-000001 differ diff --git a/Covance_UCO3001/browser_profile/Default/Network Action Predictor b/Covance_UCO3001/browser_profile/Default/Network Action Predictor index 5be2a76..effb48b 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Network Action Predictor and b/Covance_UCO3001/browser_profile/Default/Network Action Predictor differ diff --git a/Covance_UCO3001/browser_profile/Default/Network/Cookies b/Covance_UCO3001/browser_profile/Default/Network/Cookies index 850a2c9..fe5aa98 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Network/Cookies and b/Covance_UCO3001/browser_profile/Default/Network/Cookies differ diff --git a/Covance_UCO3001/browser_profile/Default/Network/Network Persistent State b/Covance_UCO3001/browser_profile/Default/Network/Network Persistent State index 5c4f9c4..bf9d374 100644 --- a/Covance_UCO3001/browser_profile/Default/Network/Network Persistent State +++ b/Covance_UCO3001/browser_profile/Default/Network/Network Persistent State @@ -1 +1 @@ -{"net":{"http_server_properties":{"servers":[{"anonymization":["GAAAABMAAABodHRwczovL2NvdmFuY2UuY29tAA==",false,0],"server":"https://login.labcorp.com","supports_spdy":true},{"anonymization":["GAAAABMAAABodHRwczovL2NvdmFuY2UuY29tAA==",false,0],"server":"https://cdn.pendo.io","supports_spdy":true},{"anonymization":["GAAAABMAAABodHRwczovL2NvdmFuY2UuY29tAA==",false,0],"server":"https://data.pendo.io","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427014730141327","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABMAAABodHRwczovL2NvdmFuY2UuY29tAA==",false,0],"network_stats":{"srtt":7242},"server":"https://content-autofill.googleapis.com","supports_spdy":true},{"anonymization":["GAAAABMAAABodHRwczovL2NvdmFuY2UuY29tAA==",true,0],"server":"https://login.labcorp.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427019241807994","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABIAAABodHRwczovL2dvb2dsZS5jb20AAA==",false,0],"network_stats":{"srtt":14394},"server":"https://accounts.google.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13424513642283952","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABMAAABodHRwczovL2NvdmFuY2UuY29tAA==",false,0],"network_stats":{"srtt":3782},"server":"https://unpkg.com"},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427019251909434","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABIAAABodHRwczovL2dvb2dsZS5jb20AAA==",false,0],"network_stats":{"srtt":8718},"server":"https://android.clients.google.com","supports_spdy":true},{"anonymization":["GAAAABMAAABodHRwczovL2xhYmNvcnAuY29tAA==",false,0],"network_stats":{"srtt":3267},"server":"https://fonts.gstatic.com"},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427012816734610","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABMAAABodHRwczovL2xhYmNvcnAuY29tAA==",false,0],"network_stats":{"srtt":6914},"server":"https://fonts.googleapis.com","supports_spdy":true},{"anonymization":["GAAAABMAAABodHRwczovL2xhYmNvcnAuY29tAA==",false,0],"server":"https://login.labcorp.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427019284329367","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABMAAABodHRwczovL2xhYmNvcnAuY29tAA==",false,0],"network_stats":{"srtt":7280},"server":"https://content-autofill.googleapis.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427019266698306","port":443,"protocol_str":"quic"}],"anonymization":["MAAAACwAAABodHRwczovL3Bhc3N3b3Jkc2xlYWtjaGVjay1wYS5nb29nbGVhcGlzLmNvbQ==",false,0],"network_stats":{"srtt":3684},"server":"https://passwordsleakcheck-pa.googleapis.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13424513657366598","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABMAAABodHRwczovL2xhYmNvcnAuY29tAA==",false,0],"network_stats":{"srtt":6122},"server":"https://unpkg.com"},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427019241781650","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABIAAABodHRwczovL2dvb2dsZS5jb20AAA==",false,0],"network_stats":{"srtt":5175},"server":"https://www.google.com","supports_spdy":true}],"supports_quic":{"address":"192.168.1.87","used_quic":true},"version":5},"network_qualities":{"CAESABiAgICA+P////8B":"4G"}}} \ No newline at end of file +{"net":{"http_server_properties":{"servers":[{"anonymization":["GAAAABMAAABodHRwczovL2NvdmFuY2UuY29tAA==",false,0],"server":"https://login.labcorp.com","supports_spdy":true},{"anonymization":["GAAAABMAAABodHRwczovL2NvdmFuY2UuY29tAA==",false,0],"server":"https://cdn.pendo.io","supports_spdy":true},{"anonymization":["GAAAABMAAABodHRwczovL2NvdmFuY2UuY29tAA==",false,0],"server":"https://data.pendo.io","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427112006055382","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABMAAABodHRwczovL2NvdmFuY2UuY29tAA==",false,0],"network_stats":{"srtt":6621},"server":"https://content-autofill.googleapis.com","supports_spdy":true},{"anonymization":["GAAAABMAAABodHRwczovL2NvdmFuY2UuY29tAA==",true,0],"server":"https://login.labcorp.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427119456814562","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABIAAABodHRwczovL2dvb2dsZS5jb20AAA==",false,0],"network_stats":{"srtt":10524},"server":"https://accounts.google.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13424613857546976","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABMAAABodHRwczovL2NvdmFuY2UuY29tAA==",false,0],"network_stats":{"srtt":5917},"server":"https://unpkg.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427107435975955","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABMAAABodHRwczovL2xhYmNvcnAuY29tAA==",false,0],"network_stats":{"srtt":6306},"server":"https://fonts.googleapis.com","supports_spdy":true},{"anonymization":["GAAAABMAAABodHRwczovL2xhYmNvcnAuY29tAA==",false,0],"network_stats":{"srtt":6502},"server":"https://fonts.gstatic.com"},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427119484319015","port":443,"protocol_str":"quic"}],"anonymization":["MAAAACwAAABodHRwczovL3Bhc3N3b3Jkc2xlYWtjaGVjay1wYS5nb29nbGVhcGlzLmNvbQ==",false,0],"network_stats":{"srtt":4832},"server":"https://passwordsleakcheck-pa.googleapis.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427119496814314","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABIAAABodHRwczovL2dvb2dsZS5jb20AAA==",false,0],"network_stats":{"srtt":7750},"server":"https://android.clients.google.com","supports_spdy":true},{"anonymization":["GAAAABMAAABodHRwczovL2xhYmNvcnAuY29tAA==",false,0],"server":"https://login.labcorp.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427119978225009","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABMAAABodHRwczovL2xhYmNvcnAuY29tAA==",false,0],"network_stats":{"srtt":6055},"server":"https://content-autofill.googleapis.com","supports_spdy":true},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13424614330059042","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABMAAABodHRwczovL2xhYmNvcnAuY29tAA==",false,0],"network_stats":{"srtt":6720},"server":"https://unpkg.com"},{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13427119456718085","port":443,"protocol_str":"quic"}],"anonymization":["GAAAABIAAABodHRwczovL2dvb2dsZS5jb20AAA==",false,0],"network_stats":{"srtt":6576},"server":"https://www.google.com","supports_spdy":true}],"supports_quic":{"address":"192.168.1.87","used_quic":true},"version":5},"network_qualities":{"CAESABiAgICA+P////8B":"4G"}}} \ No newline at end of file diff --git a/Covance_UCO3001/browser_profile/Default/Network/Reporting and NEL b/Covance_UCO3001/browser_profile/Default/Network/Reporting and NEL index 596eba5..fe2826e 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Network/Reporting and NEL and b/Covance_UCO3001/browser_profile/Default/Network/Reporting and NEL differ diff --git a/Covance_UCO3001/browser_profile/Default/Network/TransportSecurity b/Covance_UCO3001/browser_profile/Default/Network/TransportSecurity index 5a66491..511288c 100644 --- a/Covance_UCO3001/browser_profile/Default/Network/TransportSecurity +++ b/Covance_UCO3001/browser_profile/Default/Network/TransportSecurity @@ -1 +1 @@ -{"sts":[{"expiry":1811489682.936012,"host":"AMsYuZ7IFgNWVHHQOkqKt9MmwK65kaqBH0lsKFOUFH8=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1779953682.936014},{"expiry":1811489656.619357,"host":"CSChKrlj3luqm4YaUcREYcNSGviDSaiJLYYv+tJJLQY=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1779953656.619369},{"expiry":1811485129.395782,"host":"Cz1hgA9AsWBjlwLNwma1z9V2NS3WBGpE+hAisJYAzJg=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1779949129.395788},{"expiry":1811485129.780754,"host":"bwzZzlAVpSjLBr+9/WzKm/QotRxOYnqfzWRcWGuF4/M=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1779949129.780757},{"expiry":1811489684.552903,"host":"eS7TxKKR6KM2rUe5fGp4j6+eHcckwVadZAWT/TaU2RQ=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1779953684.552906},{"expiry":1811489657.426032,"host":"e3SziuwfuO2UvuBno+qkR1ObHAzZmSUoJhrc7dbP1Uo=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1779953657.426039},{"expiry":1811483216.73492,"host":"nAuqgR4iEWti7SOdT3UHPl6rmZU/DeaIm38P2O2OkgA=","mode":"force-https","sts_include_subdomains":false,"sts_observed":1779947216.734924},{"expiry":1810638866.791394,"host":"rBPMDlZ3oSoS5nWA5b3qh68smMftsPTTcEHPHa/8Asc=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1779102866.791399},{"expiry":1811489641.782165,"host":"5EdUoB7YUY9zZV+2DkgVXgho8WUvp+D+6KpeUOhNQIM=","mode":"force-https","sts_include_subdomains":false,"sts_observed":1779953641.782169},{"expiry":1811489641.808069,"host":"8/RrMmQlCD2Gsp14wUCE1P8r7B2C5+yE0+g79IPyRsc=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1779953641.808072}],"version":2} \ No newline at end of file +{"sts":[{"expiry":1811590376.982667,"host":"AMsYuZ7IFgNWVHHQOkqKt9MmwK65kaqBH0lsKFOUFH8=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1780054376.982671},{"expiry":1811589873.806784,"host":"CSChKrlj3luqm4YaUcREYcNSGviDSaiJLYYv+tJJLQY=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1780053873.80679},{"expiry":1811581653.541007,"host":"Cz1hgA9AsWBjlwLNwma1z9V2NS3WBGpE+hAisJYAzJg=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1780045653.54101},{"expiry":1811582405.562701,"host":"bwzZzlAVpSjLBr+9/WzKm/QotRxOYnqfzWRcWGuF4/M=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1780046405.562703},{"expiry":1811590379.118582,"host":"eS7TxKKR6KM2rUe5fGp4j6+eHcckwVadZAWT/TaU2RQ=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1780054379.118586},{"expiry":1811590330.059279,"host":"e3SziuwfuO2UvuBno+qkR1ObHAzZmSUoJhrc7dbP1Uo=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1780054330.059282},{"expiry":1811577835.976147,"host":"nAuqgR4iEWti7SOdT3UHPl6rmZU/DeaIm38P2O2OkgA=","mode":"force-https","sts_include_subdomains":false,"sts_observed":1780041835.97615},{"expiry":1810638866.791394,"host":"rBPMDlZ3oSoS5nWA5b3qh68smMftsPTTcEHPHa/8Asc=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1779102866.791399},{"expiry":1811589856.718672,"host":"5EdUoB7YUY9zZV+2DkgVXgho8WUvp+D+6KpeUOhNQIM=","mode":"force-https","sts_include_subdomains":false,"sts_observed":1780053856.718678},{"expiry":1811589856.814671,"host":"8/RrMmQlCD2Gsp14wUCE1P8r7B2C5+yE0+g79IPyRsc=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1780053856.814676}],"version":2} \ No newline at end of file diff --git a/Covance_UCO3001/browser_profile/Default/Preferences b/Covance_UCO3001/browser_profile/Default/Preferences index 222fa83..95b3a72 100644 --- a/Covance_UCO3001/browser_profile/Default/Preferences +++ b/Covance_UCO3001/browser_profile/Default/Preferences @@ -1 +1 @@ -{"accessibility":{"captions":{"headless_caption_enabled":false}},"account_tracker_service_last_update":"13424420803805341","aim_eligibility_service":{"aim_eligibility_response":"CAEQARgAIAAwADqYAQohEgIBAiILCAEQCioDCQQCQAEiDAgCEAoqAgkCOgIBAzgKIicIARIQTmFocsOhdCBvYnLDoXplaxoLCAEQCioDCQQCQAEiAghdKAEiJggCEg5OYWhyw6F0IHNvdWJvchoMCAIQCioCCQI6AgEDIgIIXCgDOgsKCU7DoXN0cm9qZUoVWmVwdGVqdGUgc2UgbmEgY29rb2xpQg0KCQoDdWRtEgI1MBABSAFQAQ=="},"alternate_error_pages":{"backup":true},"apps":{"shortcuts_arch":"","shortcuts_version":1},"autocomplete":{"retention_policy_last_version":145},"autofill":{"last_version_deduped":145,"ran_extra_deduplication":true},"bookmark":{"storage_computation_last_update":"13424420803802792"},"browser":{"window_placement":{"bottom":978,"left":-1762,"maximized":true,"right":-466,"top":124,"work_area_bottom":1160,"work_area_left":-1920,"work_area_right":0,"work_area_top":0}},"commerce_daily_metrics_last_update_time":"13424420803803715","countryid_at_install":17242,"default_search_provider":{"choice_screen_random_shuffle_seed":"-2017928320264087321"},"domain_diversity":{"last_reporting_timestamp":"13424420803818629","last_reporting_timestamp_v4":"13424420803818664"},"download_bubble":{"partial_view_impressions":6},"enterprise_profile_guid":"ede18f3f-de38-4fdf-8123-ca16d3191779","extensions":{"alerts":{"initialized":true},"chrome_url_overrides":{},"last_chrome_version":"145.0.7632.6"},"gaia_cookie":{"changed_time":1779102854.267623,"hash":"2jmj7l5rSw0yVb/vlWAYkK/YBwk=","last_list_accounts_binary_data":"","periodic_report_time_2":"13424420803495475"},"gcm":{"product_category_for_subtypes":"com.googlechromefortesting.windows"},"google":{"services":{"signin_scoped_device_id":"7b95f4d0-f4b4-4eb4-8156-b300301c6e74"}},"https_upgrade_navigations":{"2026-05-18":10,"2026-05-28":20},"in_product_help":{"recent_session_enabled_time":"13423576449721845","recent_session_start_times":["13424420803538214","13423576449721845"],"session_last_active_time":"13424427240177850","session_number":3,"session_start_time":"13424420803538214"},"intl":{"selected_languages":"en-US,en"},"invalidation":{"per_sender_registered_for_invalidation":{"1013309121859":{},"947318989803":{}}},"login_detection":{"oauth_signed_in_origins":{"https://covance.com":"13424427255787685"}},"media":{"engagement":{"schema_version":5}},"migrated_user_scripts_toggle":true,"ntp":{"num_personal_suggestions":5},"password_manager":{"account_store_backup_password_cleaning_last_timestamp":"13423578799689835","account_store_migrated_to_os_crypt_async":true,"profile_store_backup_password_cleaning_last_timestamp":"13423578799690145","profile_store_migrated_to_os_crypt_async":true},"privacy_sandbox":{"first_party_sets_data_access_allowed_initialized":true},"profile":{"avatar_index":26,"background_password_check":{"check_fri_weight":9,"check_interval":"2592000000000","check_mon_weight":6,"check_sat_weight":6,"check_sun_weight":6,"check_thu_weight":9,"check_tue_weight":9,"check_wed_weight":9,"next_check_time":"13424340444920678"},"content_settings":{"exceptions":{"3pcd_heuristics_grants":{"https://[*.]labcorp.com,https://[*.]covance.com":{"expiration":"13424428155786640","last_modified":"13424427255786652","lifetime":"900000000","setting":1}},"abusive_notification_permissions":{},"access_to_get_all_screens_media_in_session":{},"anti_abuse":{},"app_banner":{},"ar":{},"are_suspicious_notifications_allowlisted_by_user":{},"auto_picture_in_picture":{},"auto_select_certificate":{},"automatic_downloads":{},"automatic_fullscreen":{},"autoplay":{},"background_sync":{},"bluetooth_chooser_data":{},"bluetooth_guard":{},"bluetooth_scanning":{},"camera_pan_tilt_zoom":{},"captured_surface_control":{},"client_hints":{"https://login.labcorp.com:443,*":{"last_modified":"13424427255528906","setting":{"client_hints":[14]}}},"clipboard":{},"controlled_frame":{},"cookie_controls_metadata":{"https://[*.]covance.com,*":{"last_modified":"13424427255786399","setting":{}},"https://[*.]labcorp.com,*":{"last_modified":"13424427273674817","setting":{}}},"cookies":{},"direct_sockets":{},"direct_sockets_private_network_access":{},"display_media_system_audio":{},"disruptive_notification_permissions":{},"durable_storage":{},"fedcm_idp_registration":{},"fedcm_idp_signin":{"https://accounts.google.com:443,*":{"last_modified":"13423576454268076","setting":{"chosen-objects":[{"idp-origin":"https://accounts.google.com","idp-signin-status":false}]}}},"fedcm_share":{},"file_system_access_chooser_data":{},"file_system_access_extended_permission":{},"file_system_access_restore_permission":{},"file_system_last_picked_directory":{},"file_system_read_guard":{},"file_system_write_guard":{},"formfill_metadata":{},"geolocation":{},"geolocation_with_options":{},"hand_tracking":{},"has_migrated_local_network_access":true,"hid_chooser_data":{},"hid_guard":{},"http_allowed":{},"https_enforced":{},"idle_detection":{},"images":{},"important_site_info":{},"initialized_translations":{},"intent_picker_auto_display":{},"javascript":{},"javascript_jit":{},"javascript_optimizer":{},"keyboard_lock":{},"legacy_cookie_access":{},"legacy_cookie_scope":{},"local_fonts":{},"local_network":{},"local_network_access":{},"loopback_network":{},"media_engagement":{"https://login.labcorp.com:443,*":{"expiration":"13432203255787763","last_modified":"13424427255787767","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":29}},"https://xsp.covance.com:443,*":{"expiration":"13432203257296802","last_modified":"13424427257296807","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":58}},"https://xsp.labcorp.com:443,*":{"expiration":"13432203286144278","last_modified":"13424427286144287","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":28}}},"media_stream_camera":{},"media_stream_mic":{},"midi_sysex":{},"mixed_script":{},"nfc_devices":{},"notification_interactions":{},"notification_permission_review":{},"notifications":{},"ondevice_languages_downloaded":{},"password_protection":{},"payment_handler":{},"permission_actions_history":{},"permission_autoblocking_data":{},"permission_autorevocation_data":{},"pointer_lock":{},"popups":{},"protected_media_identifier":{},"protocol_handler":{},"reduced_accept_language":{},"safe_browsing_url_check_data":{},"sensors":{},"serial_chooser_data":{},"serial_guard":{},"site_engagement":{"https://xsp.covance.com:443,*":{"last_modified":"13424427242227613","setting":{"lastEngagementTime":1.342442724222759e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":10.5,"rawScore":24.56279522304}},"https://xsp.labcorp.com:443,*":{"last_modified":"13424427285711984","setting":{"lastEngagementTime":1.3424427285711964e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":15.0,"rawScore":29.062795223040016}}},"sound":{},"speaker_selection":{},"ssl_cert_decisions":{},"storage_access":{},"storage_access_header_origin_trial":{},"subresource_filter":{},"subresource_filter_data":{},"suspicious_notification_ids":{},"suspicious_notification_show_original":{},"third_party_storage_partitioning":{},"top_level_storage_access":{},"tracking_protection":{},"unused_site_permissions":{},"usb_chooser_data":{},"usb_guard":{},"vr":{},"web_app_installation":{},"webid_api":{},"webid_auto_reauthn":{},"window_placement":{}},"pref_version":1},"created_by_version":"145.0.7632.6","creation_time":"13423576449591198","default_content_setting_values":{"has_migrated_local_network_access":true},"exit_type":"Normal","family_member_role":"not_in_family","last_engagement_time":"13424427285711963","last_time_obsolete_http_credentials_removed":1779105199.689959,"last_time_password_store_metrics_reported":1779947233.498315,"managed":{"locally_parent_approved_extensions":{},"locally_parent_approved_extensions_migration_state":1},"managed_user_id":"","name":"Your Chromium","password_hash_data_list":[],"were_old_google_logins_removed":true},"safebrowsing":{"event_timestamps":{},"metrics_last_log_time":"13424420803","scout_reporting_enabled_when_deprecated":false},"safety_hub":{"unused_site_permissions_revocation":{"migration_completed":true}},"saved_tab_groups":{"did_enable_shared_tab_groups_in_last_session":false,"specifics_to_data_migration":true},"segmentation_platform":{"client_result_prefs":"CmQKC3NlYXJjaF91c2VyElUKSg0AAAAAEKP8jM2IruwXGjgKMBouCgoNAACAPxIDTG93Cg0NAACgQBIGTWVkaXVtCgsNAACwQRIESGlnaBIETm9uZRIEEAcYBCACEOr8jM2IruwXCnMKFXBhc3N3b3JkX21hbmFnZXJfdXNlchJaCk8NAAAAABDK+4zNiK7sFxo9CjUKMw0AAAA/EhNQYXNzd29yZE1hbmFnZXJVc2VyGhdOb3RfUGFzc3dvcmRNYW5hZ2VyVXNlchIEEAcYBCABENX8jM2IruwXCmAKEXJlc3VtZV9oZWF2eV91c2VyEksKQA0AAAAAENL6jM2IruwXGi4KJgokDQAAAD8SFlJlc3VtZUhlYXZ5VXNlclNlZ21lbnQaBU90aGVyEgQQDhgEIAIQkfuMzYiu7BcK5QIKEWNyb3NzX2RldmljZV91c2VyEs8CCsMCDQAAgD8QnfSMzYiu7BcasAIKpwIapAIKGQ0AAIA/EhJOb0Nyb3NzRGV2aWNlVXNhZ2UKGA0AAABAEhFDcm9zc0RldmljZU1vYmlsZQoZDQAAQEASEkNyb3NzRGV2aWNlRGVza3RvcAoYDQAAgEASEUNyb3NzRGV2aWNlVGFibGV0CiINAACgQBIbQ3Jvc3NEZXZpY2VNb2JpbGVBbmREZXNrdG9wCiENAADAQBIaQ3Jvc3NEZXZpY2VNb2JpbGVBbmRUYWJsZXQKIg0AAOBAEhtDcm9zc0RldmljZURlc2t0b3BBbmRUYWJsZXQKIA0AAABBEhlDcm9zc0RldmljZUFsbERldmljZVR5cGVzChcNAAAQQRIQQ3Jvc3NEZXZpY2VPdGhlchISTm9Dcm9zc0RldmljZVVzYWdlEgQQBxgEIAIQpPmMzYiu7BcKUgoNc2hvcHBpbmdfdXNlchJBCjYNAAAAABCP9YzNiK7sFxokChwKGg0AAAA/EgxTaG9wcGluZ1VzZXIaBU90aGVyEgQQAhgEIAMQ3/mMzYiu7Bc=","device_switcher_util":{"result":{"labels":["NotSynced"]}},"last_db_compaction_time":"13424313599000000","uma_in_sql_start_time":"13423576449670015"},"sessions":{"event_log":[{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13423582347164836","type":2,"window_count":1},{"crashed":false,"time":"13423582389206781","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13423582594709033","type":2,"window_count":1},{"crashed":false,"time":"13423582657375671","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13423582836483714","type":2,"window_count":1},{"crashed":false,"time":"13423583079189061","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13423583467673004","type":2,"window_count":1},{"crashed":false,"time":"13424420803499835","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424421192900120","type":2,"window_count":1},{"crashed":false,"time":"13424421754945344","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424422221263540","type":2,"window_count":1},{"crashed":false,"time":"13424422702701617","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424422828399703","type":2,"window_count":1},{"crashed":false,"time":"13424424159741863","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424424197295120","type":2,"window_count":1},{"crashed":false,"time":"13424426453754807","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424426510136366","type":2,"window_count":1},{"crashed":false,"time":"13424427241154246","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424427286121185","type":2,"window_count":1}],"session_data_status":5},"settings":{"force_google_safesearch":false},"signin":{"accounts_metadata_dict":{},"allowed":true,"cookie_clear_on_exit_migration_notice_complete":true},"site_search_settings":{"overridden_keywords":[]},"spellcheck":{"dictionaries":["en-US"],"dictionary":""},"syncing_theme_prefs_migrated_to_non_syncing":true,"toolbar":{"pinned_cast_migration_complete":true,"pinned_chrome_labs_migration_complete":true,"tab_search_migration_complete":true},"total_passwords_available_for_account":0,"total_passwords_available_for_profile":0,"translate_site_blacklist":[],"translate_site_blocklist_with_time":{},"web_apps":{"did_migrate_default_chrome_apps":["MigrateDefaultChromeAppToWebAppsGSuite","MigrateDefaultChromeAppToWebAppsNonGSuite"],"last_preinstall_synchronize_version":"145"}} \ No newline at end of file +{"accessibility":{"captions":{"headless_caption_enabled":false}},"account_tracker_service_last_update":"13424515424367437","aim_eligibility_service":{"aim_eligibility_response":"CAEQARgAIAAwADqYAQohEgIBAiILCAEQCioDCQQCQAEiDAgCEAoqAgkCOgIBAzgKIicIARIQTmFocsOhdCBvYnLDoXplaxoLCAEQCioDCQQCQAEiAghdKAEiJggCEg5OYWhyw6F0IHNvdWJvchoMCAIQCioCCQI6AgEDIgIIXCgDOgsKCU7DoXN0cm9qZUoVWmVwdGVqdGUgc2UgbmEgY29rb2xpQg0KCQoDdWRtEgI1MBABSAFQAQ=="},"alternate_error_pages":{"backup":true},"apps":{"shortcuts_arch":"","shortcuts_version":1},"autocomplete":{"retention_policy_last_version":145},"autofill":{"last_version_deduped":145,"ran_extra_deduplication":true},"bookmark":{"storage_computation_last_update":"13424515424366025"},"browser":{"window_placement":{"bottom":978,"left":-1762,"maximized":true,"right":-466,"top":124,"work_area_bottom":1160,"work_area_left":-1920,"work_area_right":0,"work_area_top":0}},"commerce_daily_metrics_last_update_time":"13424515424366993","countryid_at_install":17242,"default_search_provider":{"choice_screen_random_shuffle_seed":"-2017928320264087321"},"domain_diversity":{"last_reporting_timestamp":"13424515424370992","last_reporting_timestamp_v4":"13424515424371023"},"download_bubble":{"partial_view_impressions":6},"enterprise_profile_guid":"ede18f3f-de38-4fdf-8123-ca16d3191779","extensions":{"alerts":{"initialized":true},"chrome_url_overrides":{},"last_chrome_version":"145.0.7632.6"},"gaia_cookie":{"changed_time":1779102854.267623,"hash":"2jmj7l5rSw0yVb/vlWAYkK/YBwk=","last_list_accounts_binary_data":"","periodic_report_time_2":"13424515424094033"},"gcm":{"product_category_for_subtypes":"com.googlechromefortesting.windows"},"google":{"services":{"signin_scoped_device_id":"e2e70f02-28a4-4615-afd8-933313cf702e"}},"https_upgrade_navigations":{"2026-05-18":10,"2026-05-28":20,"2026-05-29":40},"in_product_help":{"recent_session_enabled_time":"13423576449721845","recent_session_start_times":["13424515424132646","13424420803538214","13423576449721845"],"session_last_active_time":"13424527961266733","session_number":4,"session_start_time":"13424515424132646"},"intl":{"selected_languages":"en-US,en"},"invalidation":{"per_sender_registered_for_invalidation":{"1013309121859":{},"947318989803":{}}},"login_detection":{"oauth_signed_in_origins":{"https://covance.com":"13424527472982325"}},"media":{"engagement":{"schema_version":5}},"migrated_user_scripts_toggle":true,"ntp":{"num_personal_suggestions":5},"password_manager":{"account_store_backup_password_cleaning_last_timestamp":"13423578799689835","account_store_migrated_to_os_crypt_async":true,"profile_store_backup_password_cleaning_last_timestamp":"13423578799690145","profile_store_migrated_to_os_crypt_async":true},"privacy_sandbox":{"first_party_sets_data_access_allowed_initialized":true},"profile":{"avatar_index":26,"background_password_check":{"check_fri_weight":9,"check_interval":"2592000000000","check_mon_weight":6,"check_sat_weight":6,"check_sun_weight":6,"check_thu_weight":9,"check_tue_weight":9,"check_wed_weight":9,"next_check_time":"13424340444920678"},"content_settings":{"exceptions":{"3pcd_heuristics_grants":{"https://[*.]labcorp.com,https://[*.]covance.com":{"expiration":"13424528372981403","last_modified":"13424527472981410","lifetime":"900000000","setting":1}},"abusive_notification_permissions":{},"access_to_get_all_screens_media_in_session":{},"anti_abuse":{},"app_banner":{},"ar":{},"are_suspicious_notifications_allowlisted_by_user":{},"auto_picture_in_picture":{},"auto_select_certificate":{},"automatic_downloads":{},"automatic_fullscreen":{},"autoplay":{},"background_sync":{},"bluetooth_chooser_data":{},"bluetooth_guard":{},"bluetooth_scanning":{},"camera_pan_tilt_zoom":{},"captured_surface_control":{},"client_hints":{"https://login.labcorp.com:443,*":{"last_modified":"13424527472778715","setting":{"client_hints":[14]}}},"clipboard":{},"controlled_frame":{},"cookie_controls_metadata":{"https://[*.]covance.com,*":{"last_modified":"13424527472981230","setting":{}},"https://[*.]labcorp.com,*":{"last_modified":"13424527978689222","setting":{}}},"cookies":{},"direct_sockets":{},"direct_sockets_private_network_access":{},"display_media_system_audio":{},"disruptive_notification_permissions":{},"durable_storage":{},"fedcm_idp_registration":{},"fedcm_idp_signin":{"https://accounts.google.com:443,*":{"last_modified":"13423576454268076","setting":{"chosen-objects":[{"idp-origin":"https://accounts.google.com","idp-signin-status":false}]}}},"fedcm_share":{},"file_system_access_chooser_data":{},"file_system_access_extended_permission":{},"file_system_access_restore_permission":{},"file_system_last_picked_directory":{},"file_system_read_guard":{},"file_system_write_guard":{},"formfill_metadata":{},"geolocation":{},"geolocation_with_options":{},"hand_tracking":{},"has_migrated_local_network_access":true,"hid_chooser_data":{},"hid_guard":{},"http_allowed":{},"https_enforced":{},"idle_detection":{},"images":{},"important_site_info":{},"initialized_translations":{},"intent_picker_auto_display":{},"javascript":{},"javascript_jit":{},"javascript_optimizer":{},"keyboard_lock":{},"legacy_cookie_access":{},"legacy_cookie_scope":{},"local_fonts":{},"local_network":{},"local_network_access":{},"loopback_network":{},"media_engagement":{"https://login.labcorp.com:443,*":{"expiration":"13432303472982403","last_modified":"13424527472982408","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":45}},"https://xsp.covance.com:443,*":{"expiration":"13432303474806188","last_modified":"13424527474806192","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":95}},"https://xsp.labcorp.com:443,*":{"expiration":"13432303980445167","last_modified":"13424527980445178","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":43}}},"media_stream_camera":{},"media_stream_mic":{},"midi_sysex":{},"mixed_script":{},"nfc_devices":{},"notification_interactions":{},"notification_permission_review":{},"notifications":{},"ondevice_languages_downloaded":{},"password_protection":{},"payment_handler":{},"permission_actions_history":{},"permission_autoblocking_data":{},"permission_autorevocation_data":{},"pointer_lock":{},"popups":{},"protected_media_identifier":{},"protocol_handler":{},"reduced_accept_language":{},"safe_browsing_url_check_data":{},"sensors":{},"serial_chooser_data":{},"serial_guard":{},"site_engagement":{"https://xsp.covance.com:443,*":{"last_modified":"13424527457483932","setting":{"lastEngagementTime":1.3424527457483884e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":15.0,"rawScore":38.02810395513844}},"https://xsp.labcorp.com:443,*":{"last_modified":"13424527978691266","setting":{"lastEngagementTime":1.3424527978691252e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":15.0,"rawScore":42.246942522050475}}},"sound":{},"speaker_selection":{},"ssl_cert_decisions":{},"storage_access":{},"storage_access_header_origin_trial":{},"subresource_filter":{},"subresource_filter_data":{},"suspicious_notification_ids":{},"suspicious_notification_show_original":{},"third_party_storage_partitioning":{},"top_level_storage_access":{},"tracking_protection":{},"unused_site_permissions":{},"usb_chooser_data":{},"usb_guard":{},"vr":{},"web_app_installation":{},"webid_api":{},"webid_auto_reauthn":{},"window_placement":{}},"pref_version":1},"created_by_version":"145.0.7632.6","creation_time":"13423576449591198","default_content_setting_values":{"has_migrated_local_network_access":true},"exit_type":"Normal","family_member_role":"not_in_family","last_engagement_time":"13424527978691252","last_time_obsolete_http_credentials_removed":1779105199.689959,"last_time_password_store_metrics_reported":1780041854.093177,"managed":{"locally_parent_approved_extensions":{},"locally_parent_approved_extensions_migration_state":1},"managed_user_id":"","name":"Your Chromium","password_hash_data_list":[],"were_old_google_logins_removed":true},"safebrowsing":{"event_timestamps":{},"metrics_last_log_time":"13424515424","scout_reporting_enabled_when_deprecated":false},"safety_hub":{"unused_site_permissions_revocation":{"migration_completed":true}},"saved_tab_groups":{"did_enable_shared_tab_groups_in_last_session":false,"specifics_to_data_migration":true},"segmentation_platform":{"client_result_prefs":"CmQKC3NlYXJjaF91c2VyElUKSg0AAAAAEKP8jM2IruwXGjgKMBouCgoNAACAPxIDTG93Cg0NAACgQBIGTWVkaXVtCgsNAACwQRIESGlnaBIETm9uZRIEEAcYBCACEOr8jM2IruwXCnMKFXBhc3N3b3JkX21hbmFnZXJfdXNlchJaCk8NAAAAABDK+4zNiK7sFxo9CjUKMw0AAAA/EhNQYXNzd29yZE1hbmFnZXJVc2VyGhdOb3RfUGFzc3dvcmRNYW5hZ2VyVXNlchIEEAcYBCABENX8jM2IruwXCmAKEXJlc3VtZV9oZWF2eV91c2VyEksKQA0AAAAAENL6jM2IruwXGi4KJgokDQAAAD8SFlJlc3VtZUhlYXZ5VXNlclNlZ21lbnQaBU90aGVyEgQQDhgEIAIQkfuMzYiu7BcK5QIKEWNyb3NzX2RldmljZV91c2VyEs8CCsMCDQAAgD8QnfSMzYiu7BcasAIKpwIapAIKGQ0AAIA/EhJOb0Nyb3NzRGV2aWNlVXNhZ2UKGA0AAABAEhFDcm9zc0RldmljZU1vYmlsZQoZDQAAQEASEkNyb3NzRGV2aWNlRGVza3RvcAoYDQAAgEASEUNyb3NzRGV2aWNlVGFibGV0CiINAACgQBIbQ3Jvc3NEZXZpY2VNb2JpbGVBbmREZXNrdG9wCiENAADAQBIaQ3Jvc3NEZXZpY2VNb2JpbGVBbmRUYWJsZXQKIg0AAOBAEhtDcm9zc0RldmljZURlc2t0b3BBbmRUYWJsZXQKIA0AAABBEhlDcm9zc0RldmljZUFsbERldmljZVR5cGVzChcNAAAQQRIQQ3Jvc3NEZXZpY2VPdGhlchISTm9Dcm9zc0RldmljZVVzYWdlEgQQBxgEIAIQpPmMzYiu7BcKUgoNc2hvcHBpbmdfdXNlchJBCjYNAAAAABCP9YzNiK7sFxokChwKGg0AAAA/EgxTaG9wcGluZ1VzZXIaBU90aGVyEgQQAhgEIAMQ3/mMzYiu7Bc=","device_switcher_util":{"result":{"labels":["NotSynced"]}},"last_db_compaction_time":"13424399999000000","uma_in_sql_start_time":"13423576449670015"},"sessions":{"event_log":[{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424520194931732","type":2,"window_count":1},{"crashed":false,"time":"13424520543738704","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424520587495420","type":2,"window_count":1},{"crashed":false,"time":"13424524527387202","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424524599232757","type":2,"window_count":1},{"crashed":false,"time":"13424524905651031","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424524997886523","type":2,"window_count":1},{"crashed":false,"time":"13424525577663120","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424525724679342","type":2,"window_count":1},{"crashed":false,"time":"13424525794852580","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424525831840062","type":2,"window_count":1},{"crashed":false,"time":"13424525990086001","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424526283614642","type":2,"window_count":1},{"crashed":false,"time":"13424526526416257","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424526758876361","type":2,"window_count":1},{"crashed":false,"time":"13424527057310785","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424527154233397","type":2,"window_count":1},{"crashed":false,"time":"13424527456016861","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":2,"time":"13424527980407558","type":2,"window_count":1}],"session_data_status":3},"settings":{"force_google_safesearch":false},"signin":{"accounts_metadata_dict":{},"allowed":true,"cookie_clear_on_exit_migration_notice_complete":true},"site_search_settings":{"overridden_keywords":[]},"spellcheck":{"dictionaries":["en-US"],"dictionary":""},"syncing_theme_prefs_migrated_to_non_syncing":true,"toolbar":{"pinned_cast_migration_complete":true,"pinned_chrome_labs_migration_complete":true,"tab_search_migration_complete":true},"total_passwords_available_for_account":0,"total_passwords_available_for_profile":0,"translate_site_blacklist":[],"translate_site_blocklist_with_time":{},"web_apps":{"did_migrate_default_chrome_apps":["MigrateDefaultChromeAppToWebAppsGSuite","MigrateDefaultChromeAppToWebAppsNonGSuite"],"last_preinstall_synchronize_version":"145"}} \ No newline at end of file diff --git a/Covance_UCO3001/browser_profile/Default/Secure Preferences b/Covance_UCO3001/browser_profile/Default/Secure Preferences index 9de20c2..7a1cdff 100644 --- a/Covance_UCO3001/browser_profile/Default/Secure Preferences +++ b/Covance_UCO3001/browser_profile/Default/Secure Preferences @@ -1 +1 @@ -{"extensions":{"settings":{"ahfgeienlihckogmohjhadlkjgocpleb":{"account_extension_type":0,"active_permissions":{"api":["management","system.display","system.storage","webstorePrivate","system.cpu","system.memory","system.network"],"explicit_host":[],"manifest_permissions":[],"scriptable_host":[]},"app_launcher_ordinal":"t","commands":{},"content_settings":[],"creation_flags":1,"disable_reasons":[],"events":[],"first_install_time":"13423576449712497","from_webstore":false,"incognito_content_settings":[],"incognito_preferences":{},"last_update_time":"13423576449712497","location":5,"manifest":{"app":{"launch":{"web_url":"https://chrome.google.com/webstore"},"urls":["https://chrome.google.com/webstore"]},"description":"Discover great apps, games, extensions and themes for Chromium.","icons":{"128":"webstore_icon_128.png","16":"webstore_icon_16.png"},"key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtl3tO0osjuzRsf6xtD2SKxPlTfuoy7AWoObysitBPvH5fE1NaAA1/2JkPWkVDhdLBWLaIBPYeXbzlHp3y4Vv/4XG+aN5qFE3z+1RU/NqkzVYHtIpVScf3DjTYtKVL66mzVGijSoAIwbFCC3LpGdaoe6Q1rSRDp76wR6jjFzsYwQIDAQAB","name":"Web Store","permissions":["webstorePrivate","management","system.cpu","system.display","system.memory","system.network","system.storage"],"version":"0.2"},"needs_sync":true,"page_ordinal":"n","path":"C:\\Users\\vladimir.buzalka.BUZALKA\\AppData\\Local\\ms-playwright\\chromium-1208\\chrome-win64\\resources\\web_store","preferences":{},"regular_only_preferences":{},"was_installed_by_default":false,"was_installed_by_oem":false},"mhjfbmdgcfjbbpaeojofohoefgiehjai":{"account_extension_type":0,"active_permissions":{"api":["contentSettings","fileSystem","fileSystem.write","metricsPrivate","tabs","resourcesPrivate","pdfViewerPrivate"],"explicit_host":["chrome://resources/*","chrome://webui-test/*"],"manifest_permissions":[],"scriptable_host":[]},"commands":{},"content_settings":[],"creation_flags":1,"disable_reasons":[],"events":[],"first_install_time":"13423576449713226","from_webstore":false,"incognito_content_settings":[],"incognito_preferences":{},"last_update_time":"13423576449713226","location":5,"manifest":{"content_security_policy":"script-src 'self' blob: filesystem: chrome://resources chrome://webui-test; object-src * blob: externalfile: file: filesystem: data:","description":"","incognito":"split","key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDN6hM0rsDYGbzQPQfOygqlRtQgKUXMfnSjhIBL7LnReAVBEd7ZmKtyN2qmSasMl4HZpMhVe2rPWVVwBDl6iyNE/Kok6E6v6V3vCLGsOpQAuuNVye/3QxzIldzG/jQAdWZiyXReRVapOhZtLjGfywCvlWq7Sl/e3sbc0vWybSDI2QIDAQAB","manifest_version":2,"mime_types":["application/pdf"],"mime_types_handler":"index.html","name":"Chromium PDF Viewer","offline_enabled":true,"permissions":["chrome://resources/","chrome://webui-test/","contentSettings","metricsPrivate","pdfViewerPrivate","resourcesPrivate","tabs",{"fileSystem":["write"]}],"version":"1","web_accessible_resources":["pdf_embedder.css"]},"path":"C:\\Users\\vladimir.buzalka.BUZALKA\\AppData\\Local\\ms-playwright\\chromium-1208\\chrome-win64\\resources\\pdf","preferences":{},"regular_only_preferences":{},"was_installed_by_default":false,"was_installed_by_oem":false}}},"pinned_tabs":[],"protection":{"macs":{"account_values":{"browser":{"show_home_button":"C6CF41D4DD2961AA4CBE2655A6F9D6F5E4571CA2735F96A0DFC763E2947A4E0C","show_home_button_encrypted_hash":"djEwXol6jWWcDMRqZCOynVXjLZrEc8de0MU1vp+ur7SYVLRjjNEw12fxauTFKhdONa7rNTXe3e5tB1W9pfww"},"extensions":{"ui":{"developer_mode":"9569D368BA1F8BCBDF69D4B2F3E42DDB80D5EBED22AA8FFDD4C9260C965B7A70","developer_mode_encrypted_hash":"djEwfJuOpgFicThW+wWQySXEl8BlMbmR8DLHO3OqwUjR+R2YRfgdakAMsLJVszcPH/ii6qnaFVNsSQJe/7BA"}},"homepage":"A76E66DFCEAEE57A5A46DAB06391A9DF5B48FADDD0433F0E7E1B43F990E2D5A1","homepage_encrypted_hash":"djEwPln8muVQLEQAiBkhCRT3Ml82hKnV5d2Je4gNSvTdhCOWDFb5dSh1/91H9p4PDSm6FFtyHsZOEJ593vuv","homepage_is_newtabpage":"48538AB1A3E0FF0A940CB46BBF5BACC34E067CCFC848F84A66179EA0D2C07EF8","homepage_is_newtabpage_encrypted_hash":"djEwqHLUEHgYibQ/0yAgR6z1tfiLDdIyguUcTMapfr7uVtYoZ1kX7l9B7qAZQ0JO13A57tA5jgxUuBi3H6lR","session":{"restore_on_startup":"209CBCE00D56042E7F93B95B62E4957C7F314B89196DBA79D91805D02A5551B0","restore_on_startup_encrypted_hash":"djEwox+oeZMTyqmaIZBsh3BcPHYI2CUbKCwr+fn/dp14X2ZxaqQijQqmgfbrQPdsqdwhZOGZyDa7OAAQiv/D","startup_urls":"7890F94790732CEAFC98E37B6D6AD2BA0671054013EAF7A0103424429BE72304","startup_urls_encrypted_hash":"djEwWwwQK4rsvnZ8CbR5MaovVwaaCWsCPzTF8Nuin4zQPDiAyndgzSKLPYmw4eRgJCcpHHJRzSI9pv4Q7hUV"}},"browser":{"show_home_button":"7B9E7982DA6F71AF35EED191B26105FF6CE875B635E604A383665B69FB24839C","show_home_button_encrypted_hash":"djEw6FE4p/PcQ4vyxwDCHUcXFygCOmubev+lm0YRAh2cbIacCg+RRC2QltcaWPzhvj7kPU1/HdHAVn+Tb4lg"},"default_search_provider_data":{"template_url_data":"9271004E40252718A3722D21429C644C6372F981C3A4EE2879163BEB6B3C0638","template_url_data_encrypted_hash":"djEwCxiBL6DnQJFPFvj66YKl1OzvTpAYpUnSJzLyeVyEyT4Qgt9r/+IU94njTiSjRJTfmwcmFRoxAW0Vp8Is"},"enterprise_signin":{"policy_recovery_token":"16443C426F8E959B46798A54C0A2D7F41926426F3A49125489D3AB7230B663B9","policy_recovery_token_encrypted_hash":"djEwzISUCdkIkghbQe5d+fOxyReiF7CgnSUNNFy+Kb6k58i6PkmUfBA9exSgk63r6sLLnSjvrWr4UQig2eIB"},"extensions":{"install":{"initiallist":"AA6038C7627693B0914F10A8C3BA15FD859527B5EEABCABCA25A5300487F3BAC","initiallist_encrypted_hash":"djEwr5V7sG4F3MquXlxCRi9Yf2GdXIqmoHy26DNHcXtDKsBaPuR0daHzGL21h3c/CRx5cCZ5RGoYPk8bi1Ng","initialprovidername":"F769B372A8BECD74F81B18814FD3F23E0F49473F079E8203CCD2118BB84D740D","initialprovidername_encrypted_hash":"djEwyold1svv+7k9AKqB77EdSjLtPyITb+kiZzrOsZdSsfNtsjPw5X3uagKoNIvic38/O94P5GU5/eGpmUCK"},"settings":{"ahfgeienlihckogmohjhadlkjgocpleb":"08CEE6D3D9AE0B7B3405E3684D130F0ACE615DBB89B1222175DFAA2AA6217956","mhjfbmdgcfjbbpaeojofohoefgiehjai":"DC94DD4E8535B5D76C6919A48B55342C809FF2CF4F943C4B136FEBDD7115D031"},"settings_encrypted_hash":{"ahfgeienlihckogmohjhadlkjgocpleb":"djEw/o4t6Jw0n610pt/Rd/+3Jfgvo8/uZcKTh6fKUWdMUBRtrAxt+3Vz3spo1//mfh0HqvKpeZFs85juMFsT","mhjfbmdgcfjbbpaeojofohoefgiehjai":"djEwiqxpCF0AF2CSsrFhkGNPNIL27Lfgewe8qn6zddF84ZYYE1mrwKK4Jhm3LKXk3Xi+XaLqUSHvvCgzUCh2"},"ui":{"developer_mode":"3EEBE800588D845558DBE5F1482490E266D02E9935E3E7D377E9613CD7EED864","developer_mode_encrypted_hash":"djEwpDsGGltUT28v37nDnoxCGMXN16Gywr2i6xJkd+Qa7LYlklLATVMJ3uWaf9I4HToZHw61Myy+q4WVIGSQ"}},"google":{"services":{"account_id":"97BD720988AA8DA8F0140518F778D2F599568753B71B65737F0F64585CA5F466","account_id_encrypted_hash":"djEwKez5oC5eKCBUSmXjTJA63fK2a4dhNRZyNMK9Us6xiegjb8ITOMnD2mYKE3quarDGXCvUZysvGEEoqyDF","last_signed_in_username":"CB85FDE0953993F6DD69CDCB949C320D62CFB668D8221F0FF09BC6DA1E2270EF","last_signed_in_username_encrypted_hash":"djEwgLFQU04b3DaH6P8Hygvh8sQAx8R88PU26vIBSznV9GbGpOJY2GtIgQfGj9DwTh73DGltPoASdqd1QJCg","last_username":"4F9B9540BCF78BF3BD6E0B7FB2907AEFF7B0581782B58FBD67308B8C9D3B6805","last_username_encrypted_hash":"djEw7Nig+iH5c+Dbxm8X+zGbKu3Q0Sz0AfmDzQPth4ri4hCo2sFniK/vMKM8/iMQN0tF3FY7ewrV17ZoU1az"}},"homepage":"FF6D854B15AC70D467DB610FDF7B2FB38284560BC0521B766712BBA8B3AD3455","homepage_encrypted_hash":"djEw5iiaFEVfgHhbMve5MZS+2nqGdwb+gRnT8dybY9R/UUvSZKIQhLdXKwOo5uOYLo+hsQ7BxPKjPYdkfRtY","homepage_is_newtabpage":"DC04B53C3C64010C4861437B0A377F456226EC20ADD09F8562F5C7A21D0BE856","homepage_is_newtabpage_encrypted_hash":"djEwOlnJAz3TqdSd+hw+OYh34fL/tPhN1POpWbVMZ8TApapYcblK/y3KBmB1w0MJwD1/kUBF7uaFQ2tt9fMP","media":{"cdm":{"origin_data":"BFADE78E89D0818D6B823D78DB344A49A2826D5EACDB452ECB24FC4D8FE31A43","origin_data_encrypted_hash":"djEwP5xXg5Zmb8K0CogJAL30DFVqQ4lcDbNsEBAJOGEJF/Y+mtMSpER04E2QkFrJYPOdHYc4tKGVL921ukOL"},"storage_id_salt":"F817525FF62F76D596C2CFCA4048ED2957AD5C39A65ABED0078CA8FF06EE0218","storage_id_salt_encrypted_hash":"djEwQhJbJUm5y9NTOdMFZNfsLdegbLIQTioQ4GZjM2M9ztg43oywTSWuA9bcmJIetOdjJtWQcrLZQGakSiT6"},"pinned_tabs":"296AB4AF8DF401E7966859811329CE0C6974552338857A608B805946743756E9","pinned_tabs_encrypted_hash":"djEwB0VYrY2NqQDSKmCD0mbfjDm5U9RJNgn3HANdagemZ1dm002aHguJZuIvL94BM8H7+pKLhB6AlAJuamzy","prefs":{"preference_reset_time":"70F10CBAA9D6BB4F745031B1CDB572E3A202C479AB43D3F831A01C82FAAB21DF","preference_reset_time_encrypted_hash":"djEwQhvp5d+GDQIkWDdhye5z1wB/T3s22SRqZs+swpGLUmn7QkyEpvHvNjkIAoAGrB01eqNR8aC9SWxL6rVK"},"safebrowsing":{"incidents_sent":"FBD04307A3E3741DDCF96C9907201110FE4C4244E352EAD68E07C504F619B3B2","incidents_sent_encrypted_hash":"djEwWzQEaqlCES0z6XLx3mTW3Or05MdKBiG4Ieo7Y/RodXaeu07WN/Sra35b6PtEpSlgg4/26pilxJTT9Pca"},"schedule_to_flush_to_disk":"08EFA4640316925D38694454F0B9C2BF20229D259DE02BE255F2C54D0B610822","schedule_to_flush_to_disk_encrypted_hash":"djEwqyONHgr9khx/PTQLhmlUxmMYO0Of/zaqJR7rV/QkSG84jKFUCG8pA/5mcGNt1NFyTs6Kf6NzmBnXmIpV","search_provider_overrides":"917E2079025259B13DCED6541BB0CAC7962F42F2450B53642F36C5532285DD1A","search_provider_overrides_encrypted_hash":"djEwlrHYtvtUlgJfnMz/atx7sJIwGLCZwRtSymkh4mfft+nlPhZIS7wB6gWWGRDzER8cXNRKt0kZQZH7mnvq","session":{"restore_on_startup":"53F3C9A5163BEF18C312F474B3DA2ECBD99493EC252BBE1D2407558A0B022165","restore_on_startup_encrypted_hash":"djEwTPfzj1U9Yo4OgTCgYTEovtcJt12TpG5wZdYBWmeHKLNCLEQRP9fmxCEqoLFcKJBEOpsQa2OeT2m5K4jz","startup_urls":"8192B6DB3F5AF2E9226494B40FDB2FA8CE46198CDAAD60F650E4703A621E1F61","startup_urls_encrypted_hash":"djEwB7U2SCQq2WCaBMZn5ChZARE3Sr63ZcnmWcevELLodw9inZ1n+CNB3rTDvl/RSnAqpBSWdLurNm/SRETN"}},"super_mac":"3FB267E9E549435246B1E20F8EF9A16D8D53453DB281039BCE92972CD8EA0353"},"schedule_to_flush_to_disk":"13424427241393450"} \ No newline at end of file +{"extensions":{"settings":{"ahfgeienlihckogmohjhadlkjgocpleb":{"account_extension_type":0,"active_permissions":{"api":["management","system.display","system.storage","webstorePrivate","system.cpu","system.memory","system.network"],"explicit_host":[],"manifest_permissions":[],"scriptable_host":[]},"app_launcher_ordinal":"t","commands":{},"content_settings":[],"creation_flags":1,"disable_reasons":[],"events":[],"first_install_time":"13423576449712497","from_webstore":false,"incognito_content_settings":[],"incognito_preferences":{},"last_update_time":"13423576449712497","location":5,"manifest":{"app":{"launch":{"web_url":"https://chrome.google.com/webstore"},"urls":["https://chrome.google.com/webstore"]},"description":"Discover great apps, games, extensions and themes for Chromium.","icons":{"128":"webstore_icon_128.png","16":"webstore_icon_16.png"},"key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtl3tO0osjuzRsf6xtD2SKxPlTfuoy7AWoObysitBPvH5fE1NaAA1/2JkPWkVDhdLBWLaIBPYeXbzlHp3y4Vv/4XG+aN5qFE3z+1RU/NqkzVYHtIpVScf3DjTYtKVL66mzVGijSoAIwbFCC3LpGdaoe6Q1rSRDp76wR6jjFzsYwQIDAQAB","name":"Web Store","permissions":["webstorePrivate","management","system.cpu","system.display","system.memory","system.network","system.storage"],"version":"0.2"},"needs_sync":true,"page_ordinal":"n","path":"C:\\Users\\vladimir.buzalka.BUZALKA\\AppData\\Local\\ms-playwright\\chromium-1208\\chrome-win64\\resources\\web_store","preferences":{},"regular_only_preferences":{},"was_installed_by_default":false,"was_installed_by_oem":false},"mhjfbmdgcfjbbpaeojofohoefgiehjai":{"account_extension_type":0,"active_permissions":{"api":["contentSettings","fileSystem","fileSystem.write","metricsPrivate","tabs","resourcesPrivate","pdfViewerPrivate"],"explicit_host":["chrome://resources/*","chrome://webui-test/*"],"manifest_permissions":[],"scriptable_host":[]},"commands":{},"content_settings":[],"creation_flags":1,"disable_reasons":[],"events":[],"first_install_time":"13423576449713226","from_webstore":false,"incognito_content_settings":[],"incognito_preferences":{},"last_update_time":"13423576449713226","location":5,"manifest":{"content_security_policy":"script-src 'self' blob: filesystem: chrome://resources chrome://webui-test; object-src * blob: externalfile: file: filesystem: data:","description":"","incognito":"split","key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDN6hM0rsDYGbzQPQfOygqlRtQgKUXMfnSjhIBL7LnReAVBEd7ZmKtyN2qmSasMl4HZpMhVe2rPWVVwBDl6iyNE/Kok6E6v6V3vCLGsOpQAuuNVye/3QxzIldzG/jQAdWZiyXReRVapOhZtLjGfywCvlWq7Sl/e3sbc0vWybSDI2QIDAQAB","manifest_version":2,"mime_types":["application/pdf"],"mime_types_handler":"index.html","name":"Chromium PDF Viewer","offline_enabled":true,"permissions":["chrome://resources/","chrome://webui-test/","contentSettings","metricsPrivate","pdfViewerPrivate","resourcesPrivate","tabs",{"fileSystem":["write"]}],"version":"1","web_accessible_resources":["pdf_embedder.css"]},"path":"C:\\Users\\vladimir.buzalka.BUZALKA\\AppData\\Local\\ms-playwright\\chromium-1208\\chrome-win64\\resources\\pdf","preferences":{},"regular_only_preferences":{},"was_installed_by_default":false,"was_installed_by_oem":false}}},"pinned_tabs":[],"protection":{"macs":{"account_values":{"browser":{"show_home_button":"C6CF41D4DD2961AA4CBE2655A6F9D6F5E4571CA2735F96A0DFC763E2947A4E0C","show_home_button_encrypted_hash":"djEwtpMJxlJPQI8Hnk3iVfpGdPv0m+7Jr05/YvXPZE5NmqkBanHvcdZJbajJAHSxSGa5bO5pDe3XsWQ0TcLS"},"extensions":{"ui":{"developer_mode":"9569D368BA1F8BCBDF69D4B2F3E42DDB80D5EBED22AA8FFDD4C9260C965B7A70","developer_mode_encrypted_hash":"djEwReom+uxhzhKJiQ3WPqyk2E26172dZ8OKnn1nNjrN8gd232/eORbugE+gwAZck6hUcOnahhbcD4EEmzjx"}},"homepage":"A76E66DFCEAEE57A5A46DAB06391A9DF5B48FADDD0433F0E7E1B43F990E2D5A1","homepage_encrypted_hash":"djEw9O8IHKQO1S2k5Cu03YdivEB7YX9cjJcEhKgXZHf+TufxBowJp9G2dZRqaOOe1Kg6X/m5hZBYwdvajOV8","homepage_is_newtabpage":"48538AB1A3E0FF0A940CB46BBF5BACC34E067CCFC848F84A66179EA0D2C07EF8","homepage_is_newtabpage_encrypted_hash":"djEwsD4zKsS/2igiETbSIsxWUXB2hrgkGQyGhZpO4BjRa6oA/PrIU8ja/Zw0i8kQGXpwtC8F8DnE143WvRjo","session":{"restore_on_startup":"209CBCE00D56042E7F93B95B62E4957C7F314B89196DBA79D91805D02A5551B0","restore_on_startup_encrypted_hash":"djEwfkZv4Oy/CdRkUWeRUzJhpzyYDVz7hyEpsL6hRbrR9dC40Eo286hFl/EYJodhCIuVFci28RCIba67BSsD","startup_urls":"7890F94790732CEAFC98E37B6D6AD2BA0671054013EAF7A0103424429BE72304","startup_urls_encrypted_hash":"djEwquyIpELY9qYKanBoUJS3J2+bgA/qqffb1F6sLUvMoA1nFs6jGiYxZpD6+p7E3YC77eq2LFkruxcX4qQz"}},"browser":{"show_home_button":"7B9E7982DA6F71AF35EED191B26105FF6CE875B635E604A383665B69FB24839C","show_home_button_encrypted_hash":"djEwwwiP+CoyOk2TIJ4fcPuL2/HNikDIGfpU8QKnKxmq0gte8h2vRlKszFnjBncfs6F+Jh10CNd1O6W0VhKj"},"default_search_provider_data":{"template_url_data":"9271004E40252718A3722D21429C644C6372F981C3A4EE2879163BEB6B3C0638","template_url_data_encrypted_hash":"djEwf1wWHzO+bUbk4fQHSNEc2MpAfE4Zi73RWbZdDQTPyoaXZCFI0EM5eZm0onDcIPar59ZoaeRTpB7qj527"},"enterprise_signin":{"policy_recovery_token":"16443C426F8E959B46798A54C0A2D7F41926426F3A49125489D3AB7230B663B9","policy_recovery_token_encrypted_hash":"djEwRSa8vQ1TPEGRJPt/hXBLHFnL2CmyMCslsysUsiMpwRdqxW0Jq2XH1RGtS2rbj+uCF1b7S1DSm1SjIMb7"},"extensions":{"install":{"initiallist":"AA6038C7627693B0914F10A8C3BA15FD859527B5EEABCABCA25A5300487F3BAC","initiallist_encrypted_hash":"djEwNmmT16uepFO13r6BgvtxVTOAdkXl1AQw9OzXiwpjS1J5pw/GaTdeVH7BQAyhFfdzWx5DnGq/8qhR3NPS","initialprovidername":"F769B372A8BECD74F81B18814FD3F23E0F49473F079E8203CCD2118BB84D740D","initialprovidername_encrypted_hash":"djEwZvmXLTqT2gXtsEKN9RVCpL/opMw7ImOr8oy1/wKRWN0EY6GipIIjIru/KpPlY+E1VGPUU1CxtdHM1usI"},"settings":{"ahfgeienlihckogmohjhadlkjgocpleb":"08CEE6D3D9AE0B7B3405E3684D130F0ACE615DBB89B1222175DFAA2AA6217956","mhjfbmdgcfjbbpaeojofohoefgiehjai":"DC94DD4E8535B5D76C6919A48B55342C809FF2CF4F943C4B136FEBDD7115D031"},"settings_encrypted_hash":{"ahfgeienlihckogmohjhadlkjgocpleb":"djEwwEyK4MOC58rgDurR5oJJ68eb8a/E47OkL8bcA/c7ZKiNctXPCYJbi3tcFJW8AlHcSN490NxYpjuCLH3c","mhjfbmdgcfjbbpaeojofohoefgiehjai":"djEwHozxq9/8mz67xhmQLUxbLY5oiHwfUrjE65EOP1tou0+N/w6pS9Ng7riO93tvmkEB2YJiDqgzYtrD7lmH"},"ui":{"developer_mode":"3EEBE800588D845558DBE5F1482490E266D02E9935E3E7D377E9613CD7EED864","developer_mode_encrypted_hash":"djEwRSdpdKxy9AtRfOYH+mf6FzzxHmBQFrID5oYJ3yKq8kywTjG0nZe4Z+CUYeuDFffyBMeuYzBAGVkmn66O"}},"google":{"services":{"account_id":"97BD720988AA8DA8F0140518F778D2F599568753B71B65737F0F64585CA5F466","account_id_encrypted_hash":"djEwFqiN6hDrGB7kUs6TryR0zHx3Qj9mfnoDyhNToP2m3mVUFV3CylVzhIJXGjPQ7WDfE8kRC3Gu3nVYAlze","last_signed_in_username":"CB85FDE0953993F6DD69CDCB949C320D62CFB668D8221F0FF09BC6DA1E2270EF","last_signed_in_username_encrypted_hash":"djEwuzcfnXYnT/4QaexVPTE2mCpEM/rqyEuEdGiNt7g1FTLiz+RPZdhXjbjVsSHkKd8QPaU2EU/II4n4MGjB","last_username":"4F9B9540BCF78BF3BD6E0B7FB2907AEFF7B0581782B58FBD67308B8C9D3B6805","last_username_encrypted_hash":"djEwNZz+DJG2jqcw3GHmDO/T5hz2YhW7xVu/o6e9NPjxkazSLSub1vKlMQWLJnTL0R/IANgzNEcyOyX+kgqB"}},"homepage":"FF6D854B15AC70D467DB610FDF7B2FB38284560BC0521B766712BBA8B3AD3455","homepage_encrypted_hash":"djEwHJrW4zwPjRqxen8n8ubQL02+At3oBWRiiQQNNs5HkGMnqeraf4auTMlnXuXfwl7UbFkL2Vaksi+JdEBP","homepage_is_newtabpage":"DC04B53C3C64010C4861437B0A377F456226EC20ADD09F8562F5C7A21D0BE856","homepage_is_newtabpage_encrypted_hash":"djEwf4gA7POdgr+ASOcaSwdOemgLqwbEyFINGeJSHbROdwUwlDmKI6Vva0clW63/z73UhHPCsf9c7Y+A/egY","media":{"cdm":{"origin_data":"BFADE78E89D0818D6B823D78DB344A49A2826D5EACDB452ECB24FC4D8FE31A43","origin_data_encrypted_hash":"djEw5YNVcJvtCdv1tyee3pT0RdtPcY3O87y/e7nnWnBToaO17FE2fRf+wswA/tkRKGA69D+lfN66V5Ib508m"},"storage_id_salt":"F817525FF62F76D596C2CFCA4048ED2957AD5C39A65ABED0078CA8FF06EE0218","storage_id_salt_encrypted_hash":"djEw7j25urN5eCSW5Iqzdz4GkEg/KrhI/wMbQVBC9rgXaKXUTp/1YYi6WhX45EqMCtpCBrIlemQSoFL4FEpC"},"pinned_tabs":"296AB4AF8DF401E7966859811329CE0C6974552338857A608B805946743756E9","pinned_tabs_encrypted_hash":"djEw1N4M/eWWhNWA44pXn7KvKAwbQC4FU/xIPp3QWftzBQIK6HbC9lZ4F/foIzkrgkZ8hWTa8ht8AeRvUB/I","prefs":{"preference_reset_time":"70F10CBAA9D6BB4F745031B1CDB572E3A202C479AB43D3F831A01C82FAAB21DF","preference_reset_time_encrypted_hash":"djEwOpobrO5/2lW3buB1NtN8XyBxY+4eNs5N+69+12r5igHS6HDPNWAPtKYWIH6X0LbugH6TI2DWdqYDZUT4"},"safebrowsing":{"incidents_sent":"FBD04307A3E3741DDCF96C9907201110FE4C4244E352EAD68E07C504F619B3B2","incidents_sent_encrypted_hash":"djEwZkZSkVcSXdscSXWIOwzXekv6891NS6I5YcvxYqIsk9SI7ic+HqhpDQfeKWJD1rvRGOLmGoM1vfXzGTp/"},"schedule_to_flush_to_disk":"97EEF648578518214DBFD508C4D889A88426BEB5E487EB34604F92D7C4F8D0C7","schedule_to_flush_to_disk_encrypted_hash":"djEw2SuW3eRU+U1JhJn6Igk23ypLMt6G/d33un+cIMY2tbYrctgMGpJsA80FrcabcQb2tjSjQL3aCPDoyRxz","search_provider_overrides":"917E2079025259B13DCED6541BB0CAC7962F42F2450B53642F36C5532285DD1A","search_provider_overrides_encrypted_hash":"djEwFnEA3Wbj4qHfavyVc0F60ml3O/33bPv7W9kvWFv3xwDa39o0BluyyGH1HwWpIO/34PTwBI1BR7Dy2jVY","session":{"restore_on_startup":"53F3C9A5163BEF18C312F474B3DA2ECBD99493EC252BBE1D2407558A0B022165","restore_on_startup_encrypted_hash":"djEwW6UGCeOwcpK/Jg5p5+bevy5vLxJNazIfhus1wnFy1afOQF3U8VDXBYCWAtvGMMreoYNMETS5smP3SWio","startup_urls":"8192B6DB3F5AF2E9226494B40FDB2FA8CE46198CDAAD60F650E4703A621E1F61","startup_urls_encrypted_hash":"djEwK2UcxvlC+bcpi3xjyeU53d3g9Jj8rsP95PUU/+c08z7fhqVkyg7YW5U60bVKjvcPjs3kgtVo/vuRqLA1"}},"super_mac":"4A78B1658E8A2E5284E99C741E14369E8773337F0BF92F83F2B15613CF9F1332"},"schedule_to_flush_to_disk":"13424527456318365"} \ No newline at end of file diff --git a/Covance_UCO3001/browser_profile/Default/Session Storage/000004.log b/Covance_UCO3001/browser_profile/Default/Session Storage/000004.log deleted file mode 100644 index 91d1c9e..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Session Storage/000004.log and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Session Storage/LOG b/Covance_UCO3001/browser_profile/Default/Session Storage/LOG index dff8453..5778068 100644 --- a/Covance_UCO3001/browser_profile/Default/Session Storage/LOG +++ b/Covance_UCO3001/browser_profile/Default/Session Storage/LOG @@ -1,3 +1,3 @@ -2026/05/28-09:34:01.390 1690 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Session Storage/MANIFEST-000001 -2026/05/28-09:34:01.393 1690 Recovering log #4 -2026/05/28-09:34:01.411 1690 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Session Storage/000004.log +2026/05/29-13:24:16.313 988 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Session Storage/MANIFEST-000001 +2026/05/29-13:24:16.314 988 Recovering log #7 +2026/05/29-13:24:16.318 988 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Session Storage/000007.log diff --git a/Covance_UCO3001/browser_profile/Default/Session Storage/LOG.old b/Covance_UCO3001/browser_profile/Default/Session Storage/LOG.old index 82527ef..31e305f 100644 --- a/Covance_UCO3001/browser_profile/Default/Session Storage/LOG.old +++ b/Covance_UCO3001/browser_profile/Default/Session Storage/LOG.old @@ -1,3 +1,3 @@ -2026/05/28-09:20:53.976 57f0 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Session Storage/MANIFEST-000001 -2026/05/28-09:20:53.978 57f0 Recovering log #4 -2026/05/28-09:20:53.995 57f0 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Session Storage/000004.log +2026/05/29-13:17:37.578 6a60 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Session Storage/MANIFEST-000001 +2026/05/29-13:17:37.580 6a60 Recovering log #7 +2026/05/29-13:17:37.611 6a60 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Session Storage/000007.log diff --git a/Covance_UCO3001/browser_profile/Default/Session Storage/MANIFEST-000001 b/Covance_UCO3001/browser_profile/Default/Session Storage/MANIFEST-000001 index 9a1c516..610accc 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Session Storage/MANIFEST-000001 and b/Covance_UCO3001/browser_profile/Default/Session Storage/MANIFEST-000001 differ diff --git a/Covance_UCO3001/browser_profile/Default/Sessions/Session_13424426456269059 b/Covance_UCO3001/browser_profile/Default/Sessions/Session_13424426456269059 deleted file mode 100644 index ebde1cc..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Sessions/Session_13424426456269059 and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Sessions/Session_13424427243665985 b/Covance_UCO3001/browser_profile/Default/Sessions/Session_13424427243665985 deleted file mode 100644 index ba95665..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Sessions/Session_13424427243665985 and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Sessions/Tabs_13424426456496016 b/Covance_UCO3001/browser_profile/Default/Sessions/Tabs_13424426456496016 deleted file mode 100644 index 97586de..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Sessions/Tabs_13424426456496016 and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Sessions/Tabs_13424427243914634 b/Covance_UCO3001/browser_profile/Default/Sessions/Tabs_13424427243914634 deleted file mode 100644 index 14f5001..0000000 Binary files a/Covance_UCO3001/browser_profile/Default/Sessions/Tabs_13424427243914634 and /dev/null differ diff --git a/Covance_UCO3001/browser_profile/Default/Site Characteristics Database/000003.log b/Covance_UCO3001/browser_profile/Default/Site Characteristics Database/000003.log index a386906..bf34ba6 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Site Characteristics Database/000003.log and b/Covance_UCO3001/browser_profile/Default/Site Characteristics Database/000003.log differ diff --git a/Covance_UCO3001/browser_profile/Default/Site Characteristics Database/LOG b/Covance_UCO3001/browser_profile/Default/Site Characteristics Database/LOG index c4b96df..1800288 100644 --- a/Covance_UCO3001/browser_profile/Default/Site Characteristics Database/LOG +++ b/Covance_UCO3001/browser_profile/Default/Site Characteristics Database/LOG @@ -1,3 +1,3 @@ -2026/05/28-09:34:01.159 3804 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Site Characteristics Database/MANIFEST-000001 -2026/05/28-09:34:01.161 3804 Recovering log #3 -2026/05/28-09:34:01.161 3804 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Site Characteristics Database/000003.log +2026/05/29-13:24:16.027 3a94 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Site Characteristics Database/MANIFEST-000001 +2026/05/29-13:24:16.029 3a94 Recovering log #3 +2026/05/29-13:24:16.030 3a94 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Site Characteristics Database/000003.log diff --git a/Covance_UCO3001/browser_profile/Default/Site Characteristics Database/LOG.old b/Covance_UCO3001/browser_profile/Default/Site Characteristics Database/LOG.old index 9306f63..ffd942f 100644 --- a/Covance_UCO3001/browser_profile/Default/Site Characteristics Database/LOG.old +++ b/Covance_UCO3001/browser_profile/Default/Site Characteristics Database/LOG.old @@ -1,3 +1,3 @@ -2026/05/28-09:20:53.754 56d0 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Site Characteristics Database/MANIFEST-000001 -2026/05/28-09:20:53.757 56d0 Recovering log #3 -2026/05/28-09:20:53.758 56d0 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Site Characteristics Database/000003.log +2026/05/29-13:17:37.311 662c Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Site Characteristics Database/MANIFEST-000001 +2026/05/29-13:17:37.316 662c Recovering log #3 +2026/05/29-13:17:37.316 662c Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Site Characteristics Database/000003.log diff --git a/Covance_UCO3001/browser_profile/Default/Sync Data/LevelDB/LOG b/Covance_UCO3001/browser_profile/Default/Sync Data/LevelDB/LOG index 487589f..c2b36d3 100644 --- a/Covance_UCO3001/browser_profile/Default/Sync Data/LevelDB/LOG +++ b/Covance_UCO3001/browser_profile/Default/Sync Data/LevelDB/LOG @@ -1,3 +1,3 @@ -2026/05/28-09:34:01.147 5b28 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Sync Data\LevelDB/MANIFEST-000001 -2026/05/28-09:34:01.153 5b28 Recovering log #3 -2026/05/28-09:34:01.153 5b28 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Sync Data\LevelDB/000003.log +2026/05/29-13:24:16.017 6b88 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Sync Data\LevelDB/MANIFEST-000001 +2026/05/29-13:24:16.020 6b88 Recovering log #3 +2026/05/29-13:24:16.021 6b88 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Sync Data\LevelDB/000003.log diff --git a/Covance_UCO3001/browser_profile/Default/Sync Data/LevelDB/LOG.old b/Covance_UCO3001/browser_profile/Default/Sync Data/LevelDB/LOG.old index d942f20..fc0a62b 100644 --- a/Covance_UCO3001/browser_profile/Default/Sync Data/LevelDB/LOG.old +++ b/Covance_UCO3001/browser_profile/Default/Sync Data/LevelDB/LOG.old @@ -1,3 +1,3 @@ -2026/05/28-09:20:53.750 28cc Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Sync Data\LevelDB/MANIFEST-000001 -2026/05/28-09:20:53.756 28cc Recovering log #3 -2026/05/28-09:20:53.757 28cc Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Sync Data\LevelDB/000003.log +2026/05/29-13:17:37.299 6564 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Sync Data\LevelDB/MANIFEST-000001 +2026/05/29-13:17:37.306 6564 Recovering log #3 +2026/05/29-13:17:37.306 6564 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\Sync Data\LevelDB/000003.log diff --git a/Covance_UCO3001/browser_profile/Default/Top Sites b/Covance_UCO3001/browser_profile/Default/Top Sites index 6a20799..dd53fda 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Top Sites and b/Covance_UCO3001/browser_profile/Default/Top Sites differ diff --git a/Covance_UCO3001/browser_profile/Default/Web Data b/Covance_UCO3001/browser_profile/Default/Web Data index 6d6723c..286db1b 100644 Binary files a/Covance_UCO3001/browser_profile/Default/Web Data and b/Covance_UCO3001/browser_profile/Default/Web Data differ diff --git a/Covance_UCO3001/browser_profile/Default/WebStorage/QuotaManager b/Covance_UCO3001/browser_profile/Default/WebStorage/QuotaManager index b5d4db2..ba58fc2 100644 Binary files a/Covance_UCO3001/browser_profile/Default/WebStorage/QuotaManager and b/Covance_UCO3001/browser_profile/Default/WebStorage/QuotaManager differ diff --git a/Covance_UCO3001/browser_profile/Default/passkey_enclave_state b/Covance_UCO3001/browser_profile/Default/passkey_enclave_state index 084359a..d289fa0 100644 --- a/Covance_UCO3001/browser_profile/Default/passkey_enclave_state +++ b/Covance_UCO3001/browser_profile/Default/passkey_enclave_state @@ -1 +1 @@ -v10*E0I4Ǿ4"7>XzE@[ߜχ!,ճx#P \ No newline at end of file +v10%4{}x|P1dl[5ilp(ZON~ Bl\۴D%ɺ» \ No newline at end of file diff --git a/Covance_UCO3001/browser_profile/Default/shared_proto_db/000003.log b/Covance_UCO3001/browser_profile/Default/shared_proto_db/000003.log index 1d754cd..e5b7a1d 100644 Binary files a/Covance_UCO3001/browser_profile/Default/shared_proto_db/000003.log and b/Covance_UCO3001/browser_profile/Default/shared_proto_db/000003.log differ diff --git a/Covance_UCO3001/browser_profile/Default/shared_proto_db/LOG b/Covance_UCO3001/browser_profile/Default/shared_proto_db/LOG index 10b7314..391507f 100644 --- a/Covance_UCO3001/browser_profile/Default/shared_proto_db/LOG +++ b/Covance_UCO3001/browser_profile/Default/shared_proto_db/LOG @@ -1,3 +1,3 @@ -2026/05/28-09:34:01.405 26f4 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db/MANIFEST-000001 -2026/05/28-09:34:01.406 26f4 Recovering log #3 -2026/05/28-09:34:01.408 26f4 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db/000003.log +2026/05/29-13:24:16.339 6b88 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db/MANIFEST-000001 +2026/05/29-13:24:16.339 6b88 Recovering log #3 +2026/05/29-13:24:16.341 6b88 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db/000003.log diff --git a/Covance_UCO3001/browser_profile/Default/shared_proto_db/LOG.old b/Covance_UCO3001/browser_profile/Default/shared_proto_db/LOG.old index 6c2788e..ec96258 100644 --- a/Covance_UCO3001/browser_profile/Default/shared_proto_db/LOG.old +++ b/Covance_UCO3001/browser_profile/Default/shared_proto_db/LOG.old @@ -1,3 +1,3 @@ -2026/05/28-09:20:53.995 28cc Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db/MANIFEST-000001 -2026/05/28-09:20:53.996 28cc Recovering log #3 -2026/05/28-09:20:53.997 28cc Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db/000003.log +2026/05/29-13:17:37.597 5d84 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db/MANIFEST-000001 +2026/05/29-13:17:37.598 5d84 Recovering log #3 +2026/05/29-13:17:37.600 5d84 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db/000003.log diff --git a/Covance_UCO3001/browser_profile/Default/shared_proto_db/metadata/000003.log b/Covance_UCO3001/browser_profile/Default/shared_proto_db/metadata/000003.log index ac3bbd7..9fed043 100644 Binary files a/Covance_UCO3001/browser_profile/Default/shared_proto_db/metadata/000003.log and b/Covance_UCO3001/browser_profile/Default/shared_proto_db/metadata/000003.log differ diff --git a/Covance_UCO3001/browser_profile/Default/shared_proto_db/metadata/LOG b/Covance_UCO3001/browser_profile/Default/shared_proto_db/metadata/LOG index 3d7fec9..b526bfa 100644 --- a/Covance_UCO3001/browser_profile/Default/shared_proto_db/metadata/LOG +++ b/Covance_UCO3001/browser_profile/Default/shared_proto_db/metadata/LOG @@ -1,3 +1,3 @@ -2026/05/28-09:34:01.398 26f4 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db\metadata/MANIFEST-000001 -2026/05/28-09:34:01.399 26f4 Recovering log #3 -2026/05/28-09:34:01.399 26f4 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db\metadata/000003.log +2026/05/29-13:24:16.334 6b88 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db\metadata/MANIFEST-000001 +2026/05/29-13:24:16.334 6b88 Recovering log #3 +2026/05/29-13:24:16.335 6b88 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db\metadata/000003.log diff --git a/Covance_UCO3001/browser_profile/Default/shared_proto_db/metadata/LOG.old b/Covance_UCO3001/browser_profile/Default/shared_proto_db/metadata/LOG.old index 2efcbfe..7809016 100644 --- a/Covance_UCO3001/browser_profile/Default/shared_proto_db/metadata/LOG.old +++ b/Covance_UCO3001/browser_profile/Default/shared_proto_db/metadata/LOG.old @@ -1,3 +1,3 @@ -2026/05/28-09:20:53.987 28cc Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db\metadata/MANIFEST-000001 -2026/05/28-09:20:53.988 28cc Recovering log #3 -2026/05/28-09:20:53.988 28cc Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db\metadata/000003.log +2026/05/29-13:17:37.591 5d84 Reusing MANIFEST U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db\metadata/MANIFEST-000001 +2026/05/29-13:17:37.592 5d84 Recovering log #3 +2026/05/29-13:17:37.592 5d84 Reusing old log U:\PythonProject\Janssen\Covance_UCO3001\browser_profile\Default\shared_proto_db\metadata/000003.log diff --git a/Covance_UCO3001/browser_profile/GrShaderCache/data_0 b/Covance_UCO3001/browser_profile/GrShaderCache/data_0 index 3f1a679..194f9d4 100644 Binary files a/Covance_UCO3001/browser_profile/GrShaderCache/data_0 and b/Covance_UCO3001/browser_profile/GrShaderCache/data_0 differ diff --git a/Covance_UCO3001/browser_profile/GrShaderCache/data_1 b/Covance_UCO3001/browser_profile/GrShaderCache/data_1 index b40151c..2173ea1 100644 Binary files a/Covance_UCO3001/browser_profile/GrShaderCache/data_1 and b/Covance_UCO3001/browser_profile/GrShaderCache/data_1 differ diff --git a/Covance_UCO3001/browser_profile/GrShaderCache/data_3 b/Covance_UCO3001/browser_profile/GrShaderCache/data_3 index 69077ee..06c5e83 100644 Binary files a/Covance_UCO3001/browser_profile/GrShaderCache/data_3 and b/Covance_UCO3001/browser_profile/GrShaderCache/data_3 differ diff --git a/Covance_UCO3001/browser_profile/GraphiteDawnCache/data_1 b/Covance_UCO3001/browser_profile/GraphiteDawnCache/data_1 index ec21c8e..0acd5da 100644 Binary files a/Covance_UCO3001/browser_profile/GraphiteDawnCache/data_1 and b/Covance_UCO3001/browser_profile/GraphiteDawnCache/data_1 differ diff --git a/Covance_UCO3001/browser_profile/Local State b/Covance_UCO3001/browser_profile/Local State index 0ed3972..b34d4c6 100644 --- a/Covance_UCO3001/browser_profile/Local State +++ b/Covance_UCO3001/browser_profile/Local State @@ -1 +1 @@ -{"autofill":{"ablation_seed":"Pts3KboF9Gg="},"breadcrumbs":{"enabled":false,"enabled_time":"13423576449583774"},"browser":{"shortcut_migration_version":"145.0.7632.6","whats_new":{"enabled_order":["ReadAnythingReadAloud","SideBySide","PdfInk2"]}},"chrome_labs_activation_threshold":89,"chrome_labs_new_badge_dict":{},"hardware_acceleration_mode_previous":true,"legacy":{"profile":{"name":{"migrated":true}}},"local":{"password_hash_data_list":[]},"management":{"platform":{"azure_active_directory":8,"enterprise_mdm_win":0}},"network_time":{"network_time_mapping":{"local":1.77994815531412e+12,"network":1.779948155236e+12,"ticks":4838234648.0,"uncertainty":10134021.0}},"os_crypt":{"audit_enabled":true,"encrypted_key":"RFBBUEkBAAAA0Iyd3wEV0RGMegDAT8KX6wEAAADkezkwH4wQT6pFnkj5e+nkEAAAADQAAABHAG8AbwBnAGwAZQAgAEMAaAByAG8AbQBlACAAZgBvAHIAIABUAGUAcwB0AGkAbgBnAAAAA2YAAMAAAAAQAAAAD8GdBnyhPqKO+3clLuoubgAAAAAEgAAAoAAAABAAAADMD85LpYqkKeWfmsz19kEEKAAAADmxXqsmFE4qCIFVf7fbf6Lkktqe+GmWXWIQTJb2EHCeDDclpUygwFUUAAAAxudMuaV2vqrqS22DRgyN4Bw1/aI="},"performance_intervention":{"last_daily_sample":"13424420803777120"},"policy":{"last_statistics_update":"13424420803455233"},"profile":{"info_cache":{"Default":{"active_time":1779952853.947476,"avatar_icon":"chrome://theme/IDR_PROFILE_AVATAR_26","background_apps":false,"default_avatar_fill_color":-2890755,"default_avatar_stroke_color":-16166200,"enterprise_label":"","force_signin_profile_locked":false,"gaia_given_name":"","gaia_id":"","gaia_name":"","hosted_domain":"","is_consented_primary_account":false,"is_ephemeral":false,"is_glic_eligible":false,"is_managed":0,"is_using_default_avatar":true,"is_using_default_name":true,"managed_user_id":"","metrics_bucket_index":1,"name":"Your Chromium","profile_color_seed":-16033840,"profile_highlight_color":-2890755,"signin.with_credential_provider":false,"user_name":""}},"last_active_profiles":["Default"],"metrics":{"next_bucket_index":2},"profile_counts_reported":"13424420803460889","profiles_order":["Default"]},"profile_network_context_service":{"http_cache_finch_experiment_groups":"None None None None"},"session_id_generator_last_value":"1074085646","signin":{"active_accounts_last_emitted":"13424420803387923"},"subresource_filter":{"ruleset_version":{"checksum":0,"content":"","format":0}},"tab_stats":{"discards_external":0,"discards_frozen":0,"discards_proactive":0,"discards_suggested":0,"discards_urgent":0,"last_daily_sample":"13424420803441717","max_tabs_per_window":2,"reloads_external":0,"reloads_frozen":0,"reloads_proactive":0,"reloads_suggested":0,"reloads_urgent":0,"total_tab_count_max":2,"window_count_max":1},"toast":{"non_milestone_update_toast_version":"145.0.7632.6"},"ukm":{"persisted_logs":[]},"uninstall_metrics":{"installation_date2":"1779102849"},"user_experience_metrics":{"client_id2":"43a4d29b-dfa2-4f8b-9a46-fe2351fed503","client_id_timestamp":"1779102849","limited_entropy_randomization_source":"795E664817D8383D9992183FB246CB96","log_record_id":29,"low_entropy_source3":4488,"machine_id":6709466,"pseudo_low_entropy_source":1702,"session_id":28,"stability":{"browser_last_live_timestamp":"13424427286217033","exited_cleanly":true,"saved_system_profile":"CLzkm8sGEhUxNDUuMC43NjMyLjYtNjQtZGV2ZWwYsOKr0AYiBWVuLVVTKhgKCldpbmRvd3MgTlQSCjEwLjAuMTkwNDQyfgoGeDg2XzY0EMb9ARiAgNT7sP8fIhlIUCBaMjMwIFRvd2VyIFdvcmtzdGF0aW9uKAMwgBQ4oAtCCggAEAAaADIAOgBNiU3PQlXibM9CZQAAwD9qGAoMR2VudWluZUludGVsEMONDBgIIAEoAIIBAIoBAKoBBng4Nl82NLABAUoKDW0jOl4V0IbiWUoKDZK3V7MV3xdKP0oKDQUO8PQVgI19ylAAaggIABAAOABAAIABsOKr0AaYAQD4AYgjgAL///////////8BiAIAkgIkNDNhNGQyOWItZGZhMi00ZjhiLTlhNDYtZmUyMzUxZmVkNTAzqAKmDbICoAFkHjnSnstQPTfirX7FiAAqfsiwbNubM6kLj70v2MAtsf5bz4dGdDQ67motfyp+LMUZDNsJTLRUE0n9H/9UH43yOKroA8plfhtjdx59eUuqaR4MRo3j+04u52w1YviiiC9v2UFh7INtJFaBCRbIQET+tRCH0tbGCqYb9QXxOQvdoidEg0ktvAubY+tt3VOfvs9ZduhzQuDj64SLuP9M8w1d8QKiJMcGz0wjig==","saved_system_profile_hash":"D84CCF82A85C1BE2C9DA241E7E58399ECE4C5019","stats_buildtime":"1768354364","stats_version":"145.0.7632.6-64-devel","system_crash_count":0}},"variations_google_groups":{"Default":[]},"was":{"restarted":false}} \ No newline at end of file +{"autofill":{"ablation_seed":"Pts3KboF9Gg="},"breadcrumbs":{"enabled":false,"enabled_time":"13423576449583774"},"browser":{"shortcut_migration_version":"145.0.7632.6","whats_new":{"enabled_order":["ReadAnythingReadAloud","SideBySide","PdfInk2"]}},"chrome_labs_activation_threshold":89,"chrome_labs_new_badge_dict":{},"hardware_acceleration_mode_previous":true,"legacy":{"profile":{"name":{"migrated":true}}},"local":{"password_hash_data_list":[]},"management":{"platform":{"azure_active_directory":8,"enterprise_mdm_win":0}},"network_time":{"network_time_mapping":{"local":1.780042333499841e+12,"network":1.780042333448e+12,"ticks":8161390296.0,"uncertainty":10134152.0}},"os_crypt":{"audit_enabled":true,"encrypted_key":"RFBBUEkBAAAA0Iyd3wEV0RGMegDAT8KX6wEAAADkezkwH4wQT6pFnkj5e+nkEAAAADQAAABHAG8AbwBnAGwAZQAgAEMAaAByAG8AbQBlACAAZgBvAHIAIABUAGUAcwB0AGkAbgBnAAAAA2YAAMAAAAAQAAAAD8GdBnyhPqKO+3clLuoubgAAAAAEgAAAoAAAABAAAADMD85LpYqkKeWfmsz19kEEKAAAADmxXqsmFE4qCIFVf7fbf6Lkktqe+GmWXWIQTJb2EHCeDDclpUygwFUUAAAAxudMuaV2vqrqS22DRgyN4Bw1/aI="},"performance_intervention":{"last_daily_sample":"13424515424338664"},"policy":{"last_statistics_update":"13424515424054832"},"profile":{"info_cache":{"Default":{"active_time":1780050927.615976,"avatar_icon":"chrome://theme/IDR_PROFILE_AVATAR_26","background_apps":false,"default_avatar_fill_color":-2890755,"default_avatar_stroke_color":-16166200,"enterprise_label":"","force_signin_profile_locked":false,"gaia_given_name":"","gaia_id":"","gaia_name":"","hosted_domain":"","is_consented_primary_account":false,"is_ephemeral":false,"is_glic_eligible":false,"is_managed":0,"is_using_default_avatar":true,"is_using_default_name":true,"managed_user_id":"","metrics_bucket_index":1,"name":"Your Chromium","profile_color_seed":-16033840,"profile_highlight_color":-2890755,"signin.with_credential_provider":false,"user_name":""}},"last_active_profiles":[],"metrics":{"next_bucket_index":2},"profile_counts_reported":"13424515424059085","profiles_order":["Default"]},"profile_network_context_service":{"http_cache_finch_experiment_groups":"None None None None"},"session_id_generator_last_value":"1074088497","signin":{"active_accounts_last_emitted":"13424515423988667"},"subresource_filter":{"ruleset_version":{"checksum":0,"content":"","format":0}},"tab_stats":{"discards_external":0,"discards_frozen":0,"discards_proactive":0,"discards_suggested":0,"discards_urgent":0,"last_daily_sample":"13424515424040457","max_tabs_per_window":2,"reloads_external":0,"reloads_frozen":0,"reloads_proactive":0,"reloads_suggested":0,"reloads_urgent":0,"total_tab_count_max":2,"window_count_max":1},"toast":{"non_milestone_update_toast_version":"145.0.7632.6"},"ukm":{"persisted_logs":[]},"uninstall_metrics":{"installation_date2":"1779102849"},"user_experience_metrics":{"client_id2":"43a4d29b-dfa2-4f8b-9a46-fe2351fed503","client_id_timestamp":"1779102849","limited_entropy_randomization_source":"795E664817D8383D9992183FB246CB96","log_record_id":50,"low_entropy_source3":4488,"machine_id":6709466,"pseudo_low_entropy_source":1702,"session_id":49,"stability":{"browser_last_live_timestamp":"13424527980612017","exited_cleanly":true,"saved_system_profile":"CLzkm8sGEhUxNDUuMC43NjMyLjYtNjQtZGV2ZWwYsOKr0AYiBWVuLVVTKhgKCldpbmRvd3MgTlQSCjEwLjAuMTkwNDQyfgoGeDg2XzY0EMb9ARiAgJiqpv8fIhlIUCBaMjMwIFRvd2VyIFdvcmtzdGF0aW9uKAMwgBQ4oAtCCggAEAAaADIAOgBNiU3PQlXibM9CZQAAwD9qGAoMR2VudWluZUludGVsEMONDBgIIAEoAIIBAIoBAKoBBng4Nl82NLABAUoKDW0jOl4V0IbiWUoKDZK3V7MV3xdKP0oKDQUO8PQVgI19ylAAaggIABAAOABAAIABsOKr0AaYAQD4AYgjgAL///////////8BiAIAkgIkNDNhNGQyOWItZGZhMi00ZjhiLTlhNDYtZmUyMzUxZmVkNTAzqAKmDbICqAFkHjnSnstQPTfirX7FiAAqfsiwbNubM6kLj70v2MAtsf5bz4dGdDQ67motfyp+LMUZDNsJTLRUE0n9H/9UH43yOKroA8plfhtjdx59eUuqaR4MRo2A+Qiq4/tOLsZ/zmTnbDVi+KKIL2/ZQWHsg20kVoEJFshARP61EIfS1sYKphv1BfE5C92iJ0SDSS28C5tj623dU5++z1l26HNC4OPrhIu4/0zzDV3xAlCbVVVSD3qO","saved_system_profile_hash":"9DC8C008783143F7F046BE60F9A2BA31B59BCA3C","stats_buildtime":"1768354364","stats_version":"145.0.7632.6-64-devel","system_crash_count":0}},"variations_google_groups":{"Default":[]},"was":{"restarted":false}} \ No newline at end of file diff --git a/Covance_UCO3001/browser_profile/ShaderCache/data_1 b/Covance_UCO3001/browser_profile/ShaderCache/data_1 index f668b4a..49b8ea8 100644 Binary files a/Covance_UCO3001/browser_profile/ShaderCache/data_1 and b/Covance_UCO3001/browser_profile/ShaderCache/data_1 differ diff --git a/Covance_UCO3001/browser_profile/first_party_sets.db b/Covance_UCO3001/browser_profile/first_party_sets.db index 419cc10..4867f77 100644 Binary files a/Covance_UCO3001/browser_profile/first_party_sets.db and b/Covance_UCO3001/browser_profile/first_party_sets.db differ diff --git a/Covance_UCO3001/browser_profile/segmentation_platform/ukm_db b/Covance_UCO3001/browser_profile/segmentation_platform/ukm_db index b09eb1a..0ea773a 100644 Binary files a/Covance_UCO3001/browser_profile/segmentation_platform/ukm_db and b/Covance_UCO3001/browser_profile/segmentation_platform/ukm_db differ diff --git a/Covance_UCO3001/create_report.py b/Covance_UCO3001/create_report.py deleted file mode 100644 index cd75c06..0000000 --- a/Covance_UCO3001/create_report.py +++ /dev/null @@ -1,525 +0,0 @@ -import glob -import os -import shutil -import pandas as pd -from openpyxl import load_workbook -from openpyxl.styles import Font, PatternFill, Border, Side, Alignment -from openpyxl.utils import get_column_letter -from datetime import date, datetime - -# Paths -src_dir = os.path.dirname(os.path.abspath(__file__)) + "/" -out_dir = "U:/Dropbox/!!!Days/Downloads Z230/" - -# Find source files -src_files = glob.glob(src_dir + "Protocol 77242113UCO3001 - All Samples*.xlsx") -assert src_files, "Source file not found!" -src_file = src_files[0] -print(f"Source xlsx: {src_file}") - -csv_files = glob.glob(src_dir + "_EDCStdRpt-DataListing.csv") -assert csv_files, "CSV file not found!" -csv_file = csv_files[0] -print(f"Source csv: {csv_file}") - -kit_csv_files = glob.glob(src_dir + "sponsor-study-36940-kit-inventory-on-hand-expiration.csv") -assert kit_csv_files, "Kit inventory CSV not found!" -kit_csv_file = kit_csv_files[0] -print(f"Kit csv: {kit_csv_file}") - -eq_csv_files = glob.glob(src_dir + "sponsor-study-36940-activity-reports-documents-equery.csv") -assert eq_csv_files, "eQuery CSV not found!" -eq_csv_file = eq_csv_files[0] -print(f"eQuery csv: {eq_csv_file}") - -timestamp = datetime.now().strftime("%Y-%m-%d_%H%M%S") -out_filename = f"{timestamp} 77242113UCO3001 CZE Labcorp samples and kit inventory report.xlsx" -out_path = out_dir + out_filename - -# Copy source file to output — preserves all formatting perfectly -shutil.copy2(src_file, out_path) - -# Load data with pandas for analysis -df = pd.read_excel(src_file, sheet_name=0, header=0) - -# All unique patients -all_patients = sorted(df['Patient No.'].dropna().unique()) - -# BXSCR and DNA rows -bxscr = df[df['Protocol Visit Code'] == 'BXSCR'] -dna = df[df['Protocol Visit Code'] == 'DNA'] - -# Parse date value to datetime object -def fmt_date(val): - if pd.isna(val): - return None - if isinstance(val, str): - return datetime.strptime(val, '%d-%b-%Y') - return pd.to_datetime(val).to_pydatetime() - -OK_STATUSES = {'Received', 'In Inventory', 'Shipped'} - -def get_specimen_info(visit_df, patient, specimen_type=None): - rows = visit_df[visit_df['Patient No.'] == patient] - if specimen_type: - rows = rows[rows['Specimen Type'] == specimen_type] - rows = rows[rows['Sample Status'].isin(OK_STATUSES)] - if rows.empty: - return '', None - row = rows.iloc[0] - return fmt_date(row['Container Receipt Date']), rows.index[0] + 2 - -def get_label_info(patient, label_code, visit_code): - rows = df[(df['Patient No.'] == patient) & - (df['Protocol Visit Code'] == visit_code) & - (df['Container Label Line 1'] == label_code)] - rows = rows[rows['Sample Status'].isin(OK_STATUSES)] - if rows.empty: - return '', None - row = rows.iloc[0] - return fmt_date(row['Container Receipt Date']), rows.index[0] + 2 - -# Open copied workbook and add analysis sheet -out_wb = load_workbook(out_path) - -# Rename and autofit first sheet -src_ws = out_wb.active -src_ws.title = "Zdroj" -for col in src_ws.columns: - max_len = max((len(str(cell.value)) if cell.value is not None else 0) for cell in col) - src_ws.column_dimensions[get_column_letter(col[0].column)].width = min(max_len + 2, 50) - -# ── Styly ──────────────────────────────────────────────────────────────────── -thin = Side(style='thin') -border = Border(left=thin, right=thin, top=thin, bottom=thin) -header_fill = PatternFill("solid", fgColor="4472C4") -header_font = Font(name='Calibri', bold=True, size=11, color="FFFFFF") -data_font = Font(name='Calibri', size=11) -date_font_link = Font(name='Calibri', size=11, color="000000", underline='single') -yes_fill = PatternFill("solid", fgColor="E2EFDA") -no_fill = PatternFill("solid", fgColor="FFE7E7") -sum_header_font = Font(name='Calibri', bold=True, size=11, color="000000") -sum_total_font = Font(name='Calibri', bold=True, size=11) -zero_font = Font(name='Calibri', size=11, color="BFBFBF") -zero_red_font = Font(name='Calibri', size=11, color="C00000") -dark_blue_fill = PatternFill("solid", fgColor="203764") -orange_fill = PatternFill("solid", fgColor="FFF2CC") -green_fill = PatternFill("solid", fgColor="E2EFDA") -total_fill = PatternFill("solid", fgColor="D9E1F2") -exp_fill = PatternFill("solid", fgColor="FFE7E7") -ok_fill = PatternFill("solid", fgColor="E2EFDA") - -# ── List: Přehled vzorků ────────────────────────────────────────────────────── -analysis_ws = out_wb.create_sheet("Přehled vzorků") - -columns = [ - ("Investigator Name", 24), - ("Číslo pacienta", 20), - ("Máme biopsii SM11", 20), - ("Máme RNA", 16), - ("Máme Cryostor", 16), - ("DNA", 14), - ("PLASMPK I-0 TROUGH", 18), - ("PLASMA PK I-0 PEAK", 18), - ("SERUM ADA I-0 PRE", 18), - ("SM06/SERUM BIOM", 16), - ("SM07/WB RNA", 14), - ("SM10/FECAL", 14), - ("PLASMPK I-2 TROUGH", 18), - ("PLASMA PK I-2 PEAK", 18), - ("SERUM ADA I-2 PRE", 18), - ("STOOL I-2", 12), - ("PLASMPK I-4 TROUGH", 18), - ("PLASMA PK I-4 PEAK", 18), - ("SERUM ADA I-4 PRE", 18), - ("SM06/SERUM BIOM", 16), - ("SM07/WB RNA", 14), - ("STOOL I-4", 12), -] - -group_font = Font(name='Calibri', bold=True, size=11) -group_fill = PatternFill("solid", fgColor="FFFFFF") -group_border = Border(left=thin, right=thin, top=thin, bottom=thin) - -groups = [ - (3, 5, "SCREENING"), - (7, 12, "RANDOMIZACE I-0"), - (13, 16, "I-2"), - (17, 22, "I-4"), -] -for start_col, end_col, label in groups: - analysis_ws.merge_cells(start_row=1, start_column=start_col, end_row=1, end_column=end_col) - cell = analysis_ws.cell(row=1, column=start_col, value=label) - cell.font = group_font - cell.fill = group_fill - cell.alignment = Alignment(horizontal='center', vertical='center') - cell.border = group_border - for c in range(start_col, end_col + 1): - analysis_ws.cell(row=1, column=c).border = group_border - -analysis_ws.row_dimensions[1].height = 20 - -for col_idx, (hdr, width) in enumerate(columns, 1): - cell = analysis_ws.cell(row=2, column=col_idx, value=hdr) - cell.font = header_font - cell.fill = header_fill - cell.border = border - cell.alignment = Alignment(horizontal='center', vertical='center', wrap_text=True) - analysis_ws.column_dimensions[get_column_letter(col_idx)].width = width - -analysis_ws.row_dimensions[2].height = 30 -analysis_ws.freeze_panes = "C3" - -src_sheet_name = out_wb.sheetnames[0] -pat_sheet_name = "Seznam pacientů" - -_csv_df_pre = pd.read_csv(csv_file, encoding='utf-8') -_pat_pre = _csv_df_pre[['SiteNumber', 'Subject', 'Field4Value']].copy() -_pat_pre['Field4Value'] = _pat_pre['Field4Value'].apply(lambda v: datetime.strptime(str(v).strip(), '%d %b %Y') if pd.notna(v) else None) -_pat_pre = _pat_pre.sort_values(['SiteNumber', 'Subject', 'Field4Value']).reset_index(drop=True) -patient_row_map = {} -for i, row in _pat_pre.iterrows(): - pat = row['Subject'] - if pat not in patient_row_map: - patient_row_map[pat] = i + 2 - -bxscr_patients = sorted(bxscr['Patient No.'].dropna().unique()) - -for row_idx, patient in enumerate(bxscr_patients, 3): - investigator = bxscr[bxscr['Patient No.'] == patient].iloc[0]['Investigator Name'] - sm11, sm11_row = get_specimen_info(bxscr, patient, 'Tissue , Paraffin Block') - rna, rna_row = get_specimen_info(bxscr, patient, 'Biopsy RNA Later') - cryo, cryo_row = get_specimen_info(bxscr, patient, 'Biopsy, Frozen Tissue') - dna_date, dna_row = get_specimen_info(dna, patient) - trough, trough_row = get_label_info(patient, 'PLASMPK I-0 TROUGH', 'I-0') - peak, peak_row = get_label_info(patient, 'PLASMA PK I-0 PEAK', 'I-0') - ada, ada_row = get_label_info(patient, 'SERUM ADA I-0 PRE', 'I-0') - sm06, sm06_row = get_label_info(patient, 'SM06/SERUM BIOM', 'I-0') - sm07, sm07_row = get_label_info(patient, 'SM07/WB RNA', 'I-0') - sm10, sm10_row = get_label_info(patient, 'SM10/FECAL', 'I-0') - trough2, trough2_row = get_label_info(patient, 'PLASMPK I-2 TROUGH', 'I-2') - peak2, peak2_row = get_label_info(patient, 'PLASMA PK I-2 PEAK', 'I-2') - ada2, ada2_row = get_label_info(patient, 'SERUM ADA I-2 PRE', 'I-2') - stool2, stool2_row = get_label_info(patient, 'STOOL I-2', 'I-2') - trough4, trough4_row = get_label_info(patient, 'PLASMPK I-4 TROUGH', 'I-4') - peak4, peak4_row = get_label_info(patient, 'PLASMA PK I-4 PEAK', 'I-4') - ada4, ada4_row = get_label_info(patient, 'SERUM ADA I-4 PRE', 'I-4') - sm064, sm064_row = get_label_info(patient, 'SM06/SERUM BIOM', 'I-4') - sm074, sm074_row = get_label_info(patient, 'SM07/WB RNA', 'I-4') - stool4, stool4_row = get_label_info(patient, 'STOOL I-4', 'I-4') - - row_data = [investigator, patient, - (sm11, sm11_row), (rna, rna_row), (cryo, cryo_row), (dna_date, dna_row), - (trough, trough_row), (peak, peak_row), (ada, ada_row), - (sm06, sm06_row), (sm07, sm07_row), (sm10, sm10_row), - (trough2, trough2_row), (peak2, peak2_row), (ada2, ada2_row), (stool2, stool2_row), - (trough4, trough4_row), (peak4, peak4_row), (ada4, ada4_row), - (sm064, sm064_row), (sm074, sm074_row), (stool4, stool4_row)] - - for col_idx, value in enumerate(row_data, 1): - if col_idx <= 2: - cell = analysis_ws.cell(row=row_idx, column=col_idx, value=value) - if col_idx == 2 and patient in patient_row_map: - cell.hyperlink = f"#'{pat_sheet_name}'!B{patient_row_map[patient]}" - cell.font = Font(name='Calibri', size=11, underline='single') - else: - cell.font = data_font - else: - dt, excel_row = value - cell = analysis_ws.cell(row=row_idx, column=col_idx, value=dt) - if dt and excel_row is not None: - cell.hyperlink = f"#'{src_sheet_name}'!A{excel_row}" - cell.font = date_font_link - cell.fill = yes_fill - cell.number_format = 'DD-MMM-YYYY' - else: - cell.font = Font(name='Calibri', size=11, color="C00000") - cell.fill = no_fill - cell.border = border - cell.alignment = Alignment(horizontal='center', vertical='center') - -# ── List: Seznam pacientů ───────────────────────────────────────────────────── -csv_df = pd.read_csv(csv_file, encoding='utf-8') -patients_ws = out_wb.create_sheet("Seznam pacientů") - -pat_columns = [ - ("Číslo centra", 20), - ("Číslo pacienta", 20), - ("Kód návštěvy", 20), - ("Datum návštěvy", 16), - ("Typ návštěvy", 16), -] - -for col_idx, (col_name, width) in enumerate(pat_columns, 1): - cell = patients_ws.cell(row=1, column=col_idx, value=col_name) - cell.font = header_font - cell.fill = header_fill - cell.border = border - cell.alignment = Alignment(horizontal='center', vertical='center', wrap_text=True) - patients_ws.column_dimensions[get_column_letter(col_idx)].width = width - -patients_ws.row_dimensions[1].height = 30 -patients_ws.freeze_panes = "A2" - -def parse_date_edcstd(val): - if pd.isna(val) or str(val).strip() == '': - return None - try: - return datetime.strptime(str(val).strip(), '%d %b %Y') - except: - return None - -pat_df = csv_df[['SiteNumber', 'Subject', 'InstanceName', 'Field4Value', 'Field5Value']].copy() -pat_df['Field4Value'] = pat_df['Field4Value'].apply(parse_date_edcstd) -pat_df = pat_df.sort_values(['SiteNumber', 'Subject', 'Field4Value']).reset_index(drop=True) - -for row_idx, row in enumerate(pat_df.itertuples(index=False), 2): - for col_idx, value in enumerate(row, 1): - cell = patients_ws.cell(row=row_idx, column=col_idx, value=value) - cell.font = data_font - cell.border = border - cell.alignment = Alignment(horizontal='center', vertical='center') - if col_idx == 4 and value is not None: - cell.number_format = 'DD-MMM-YYYY' - -# ── Kit inventory — načtení a příprava dat ──────────────────────────────────── -kit_df_raw = pd.read_csv(kit_csv_file, encoding="utf-8") -cze = kit_df_raw[kit_df_raw["Country"] == "CZE"].copy() - -def parse_kit_date(val): - if pd.isna(val): - return None - try: - return datetime.strptime(str(val).strip(), "%b %d, %Y") - except: - return None - -cze["Shipped Date"] = cze["Shipped Date"].apply(parse_kit_date) -cze["Expiration Date"] = cze["Expiration Date"].apply(parse_kit_date) -cze = cze.sort_values(["Site", "Kit Type", "Expiration Date"]).reset_index(drop=True) - -today_dt = datetime.combine(date.today(), datetime.min.time()) - -def bucket(exp_date): - if exp_date is None: - return None - return "soon" if (exp_date - today_dt).days <= 30 else "ok" - -cze["_bucket"] = cze["Expiration Date"].apply(bucket) - -kit_order = sorted(cze["Kit Type"].unique(), key=lambda x: (str(x).lstrip("T-").zfill(5), str(x))) -kit_desc = cze.drop_duplicates("Kit Type").set_index("Kit Type")["Description"].to_dict() -kit_sites = sorted(cze["Site"].unique()) - -# ── Pomocná funkce pro souhrnné tabulky ─────────────────────────────────────── -def write_summary_table(ws, current_row, title, rows_data, col_a_header): - for c in range(1, 5): - cell = ws.cell(row=current_row, column=c) - cell.fill = dark_blue_fill - cell.border = border - ws.cell(row=current_row, column=1, value=title).font = Font(name='Calibri', bold=True, size=12, color="FFFFFF") - ws.cell(row=current_row, column=1).alignment = Alignment(horizontal="left", vertical="center") - ws.merge_cells(start_row=current_row, start_column=1, end_row=current_row, end_column=4) - ws.row_dimensions[current_row].height = 22 - current_row += 1 - - for col_idx, (h, f) in enumerate(zip( - [col_a_header, "Description", "Expiruje do 30 dní", "Expiruje později"], - [header_fill, header_fill, orange_fill, green_fill] - ), 1): - cell = ws.cell(row=current_row, column=col_idx, value=h) - cell.font = sum_header_font - cell.fill = f - cell.border = border - cell.alignment = Alignment(horizontal="center", vertical="center", wrap_text=True) - ws.row_dimensions[current_row].height = 28 - current_row += 1 - - totals = [0, 0] - for col_a, col_b, n_soon, n_ok in rows_data: - totals[0] += n_soon - totals[1] += n_ok - all_zero = (n_soon == 0 and n_ok == 0) - row_vals = [col_a, col_b, n_soon, n_ok] - row_fills = [None, None, - orange_fill if n_soon > 0 else None, - green_fill if n_ok > 0 else None] - for col_idx, (val, rfill) in enumerate(zip(row_vals, row_fills), 1): - cell = ws.cell(row=current_row, column=col_idx, value=val) - if col_idx >= 3 and val == 0: - cell.font = zero_red_font if all_zero else zero_font - else: - cell.font = data_font - cell.border = border - cell.alignment = Alignment(horizontal="center" if col_idx >= 2 else "left", vertical="center") - if rfill: - cell.fill = rfill - current_row += 1 - - for col_idx, val in enumerate(["CELKEM", "", totals[0], totals[1]], 1): - cell = ws.cell(row=current_row, column=col_idx, value=val) - cell.font = sum_total_font - cell.fill = total_fill - cell.border = border - cell.alignment = Alignment(horizontal="center" if col_idx >= 2 else "left", vertical="center") - current_row += 2 - return current_row - -# ── List: Kit Inventory CZE ─────────────────────────────────────────────────── -kit_ws = out_wb.create_sheet("Kit Inventory CZE") - -listing_columns = [ - ("Project No.", 14), - ("Region", 10), - ("Country", 10), - ("Site", 38), - ("Kit Type", 12), - ("Description", 22), - ("Accession", 18), - ("Shipped Date", 16), - ("Expiration Date", 16), - ("Days to Expiration", 20), -] - -for col_idx, (hdr, width) in enumerate(listing_columns, 1): - cell = kit_ws.cell(row=1, column=col_idx, value=hdr) - cell.font = header_font - cell.fill = header_fill - cell.border = border - cell.alignment = Alignment(horizontal="center", vertical="center", wrap_text=True) - kit_ws.column_dimensions[get_column_letter(col_idx)].width = width - -kit_ws.row_dimensions[1].height = 30 -kit_ws.freeze_panes = "A2" - -for row_idx, row in enumerate(cze.itertuples(index=False), 2): - days = row[9] - for col_idx, (col_name, _) in enumerate(listing_columns, 1): - value = row[col_idx - 1] - cell = kit_ws.cell(row=row_idx, column=col_idx, value=value) - cell.font = data_font - cell.border = border - cell.alignment = Alignment(horizontal="center", vertical="center") - if col_name in ("Shipped Date", "Expiration Date") and value is not None: - cell.number_format = "DD-MMM-YYYY" - if col_name == "Days to Expiration": - cell.fill = exp_fill if (pd.notna(days) and days <= 60) else ok_fill - -kit_ws.auto_filter.ref = f"A1:{get_column_letter(len(listing_columns))}1" - -# ── List: Přehled po centrech ───────────────────────────────────────────────── -ctr_ws = out_wb.create_sheet("Přehled po centrech") -ctr_ws.column_dimensions["A"].width = 22 -ctr_ws.column_dimensions["B"].width = 24 -ctr_ws.column_dimensions["C"].width = 22 -ctr_ws.column_dimensions["D"].width = 20 - -current_row = 1 -for site in kit_sites: - site_df = cze[cze["Site"] == site] - rows_data = [] - for kit in kit_order: - desc = kit_desc.get(kit, "") - kit_site_df = site_df[site_df["Kit Type"] == kit] - n_soon = (kit_site_df["_bucket"] == "soon").sum() - n_ok = (kit_site_df["_bucket"] == "ok").sum() - rows_data.append((f"{kit} — {desc}", desc, n_soon, n_ok)) - current_row = write_summary_table(ctr_ws, current_row, site, rows_data, "Kit Type") - -# ── List: Přehled po typech kitů ────────────────────────────────────────────── -sum_ws = out_wb.create_sheet("Přehled po typech") -sum_ws.column_dimensions["A"].width = 38 -sum_ws.column_dimensions["B"].width = 22 -sum_ws.column_dimensions["C"].width = 22 -sum_ws.column_dimensions["D"].width = 20 - -current_row = 1 -for kit in kit_order: - desc = kit_desc.get(kit, "") - kit_df = cze[cze["Kit Type"] == kit] - rows_data = [] - for site in sorted(kit_df["Site"].unique()): - site_df = kit_df[kit_df["Site"] == site] - n_soon = (site_df["_bucket"] == "soon").sum() - n_ok = (site_df["_bucket"] == "ok").sum() - rows_data.append((site, desc, n_soon, n_ok)) - current_row = write_summary_table(sum_ws, current_row, f"Kit Type {kit} — {desc}", rows_data, "Centrum") - -# ── List: eQueries ─────────────────────────────────────────────────────────── -eq_df = pd.read_csv(eq_csv_file, encoding="utf-8") -eq_cze = eq_df[eq_df["Country"] == "CZECH REPUBLIC"].copy() - -status_order = {"Open": 0, "Response Received": 1, "Closed": 2} -eq_cze["_status_order"] = eq_cze["Status"].map(status_order).fillna(99) -eq_cze = eq_cze.sort_values(["_status_order", "Site"]).reset_index(drop=True) - -def parse_eq_date(val): - if pd.isna(val): - return None - for fmt in ("%b %d, %Y %I:%M %p", "%b %d, %Y %I:%M %p"): - try: - return datetime.strptime(str(val).strip(), fmt) - except: - pass - try: - return datetime.strptime(str(val).strip().split(" 12:00")[0], "%b %d, %Y") - except: - return None - -eq_ws = out_wb.create_sheet("eQueries") - -eq_columns = [ - ("Site", 36), - ("Subject", 14), - ("Visit", 20), - ("Visit Collection Date", 20), - ("Accession", 16), - ("eQueryId", 12), - ("Issue Type", 30), - ("Status", 18), - ("Create Date", 20), - ("Response Date Time", 20), - ("Time Before Response", 20), - ("User Name", 20), -] - -status_fills = { - "Open": PatternFill("solid", fgColor="FFE7E7"), - "Response Received": PatternFill("solid", fgColor="FFF2CC"), - "Closed": PatternFill("solid", fgColor="E2EFDA"), -} - -for col_idx, (hdr, width) in enumerate(eq_columns, 1): - cell = eq_ws.cell(row=1, column=col_idx, value=hdr) - cell.font = header_font - cell.fill = header_fill - cell.border = border - cell.alignment = Alignment(horizontal="center", vertical="center", wrap_text=True) - eq_ws.column_dimensions[get_column_letter(col_idx)].width = width - -eq_ws.row_dimensions[1].height = 30 -eq_ws.freeze_panes = "A2" - -for row_idx, row in enumerate(eq_cze.itertuples(index=False), 2): - status = row[eq_cze.columns.get_loc("Status")] - rfill = status_fills.get(status) - for col_idx, (col_name, _) in enumerate(eq_columns, 1): - value = row[eq_cze.columns.get_loc(col_name)] - if col_name in ("Visit Collection Date", "Create Date", "Response Date Time"): - value = parse_eq_date(value) - cell = eq_ws.cell(row=row_idx, column=col_idx, value=value) - cell.font = data_font - cell.border = border - cell.alignment = Alignment(horizontal="center" if col_idx > 1 else "left", vertical="center") - if col_name in ("Visit Collection Date", "Create Date", "Response Date Time") and value: - cell.number_format = "DD-MMM-YYYY HH:MM" - if rfill: - cell.fill = rfill - -eq_ws.auto_filter.ref = f"A1:{get_column_letter(len(eq_columns))}1" - -out_wb.save(out_path) -print(f"Saved: {out_path}") -print(f"Patients with BXSCR: {len(bxscr_patients)}, All unique patients: {len(all_patients)}") -print(f"CZE kit rows: {len(cze)}, Kit types: {len(kit_order)}, Sites: {len(kit_sites)}") -print(f"CZE eQueries: {len(eq_cze)} (Open: {(eq_cze['Status']=='Open').sum()}, Response Received: {(eq_cze['Status']=='Response Received').sum()}, Closed: {(eq_cze['Status']=='Closed').sum()})") diff --git a/Covance_UCO3001/download_equeries_report_v1.1.py b/Covance_UCO3001/download_equeries_report_v1.1.py index cf5c988..0b4f624 100644 --- a/Covance_UCO3001/download_equeries_report_v1.1.py +++ b/Covance_UCO3001/download_equeries_report_v1.1.py @@ -23,6 +23,9 @@ PROFILE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "browser_ def login(page): page.goto(LOGIN_URL) page.wait_for_load_state("networkidle") + if not page.get_by_label("Email").is_visible(): + print(f"Session aktivni, prihlasen: {page.url}") + return page.get_by_label("Email").fill(EMAIL) page.get_by_role("button", name="Next").click() page.wait_for_load_state("networkidle") diff --git a/Covance_UCO3001/download_kit_inventory_v2.1.py b/Covance_UCO3001/download_kit_inventory_v2.1.py index b030469..a8b5e15 100644 --- a/Covance_UCO3001/download_kit_inventory_v2.1.py +++ b/Covance_UCO3001/download_kit_inventory_v2.1.py @@ -45,6 +45,9 @@ REPORTS = [ def login(page): page.goto(LOGIN_URL) page.wait_for_load_state("networkidle") + if not page.get_by_label("Email").is_visible(): + print(f"Session aktivni, prihlasen: {page.url}") + return page.get_by_label("Email").fill(EMAIL) page.get_by_role("button", name="Next").click() page.wait_for_load_state("networkidle") diff --git a/Covance_UCO3001/download_samples_report_v1.1.py b/Covance_UCO3001/download_samples_report_v1.1.py index e4ba636..881ecae 100644 --- a/Covance_UCO3001/download_samples_report_v1.1.py +++ b/Covance_UCO3001/download_samples_report_v1.1.py @@ -1,11 +1,11 @@ # ============================================================================= # Název: download_samples_report_v1.1.py # Verze: 1.1 -# Datum: 2026-05-28 +# Datum: 2026-05-29 # Popis: Automatické stažení CSV reportu All Samples ze xsp.labcorp.com pro # studie 77242113UCO3001 (study 36940) a 42847922MDD3003 (study 35472). -# Aplikuje country filtr CZ, date range od FROM_DATE, čeká na stabilní -# Record Count. Výstup do příslušné složky Source/ každé studie. +# Aplikuje country filtr CZ, date range od FROM_DATE, čeká na zmizení +# "Fetching Data" před exportem. Výstup do Source/ každé studie. # ============================================================================= from playwright.sync_api import sync_playwright from datetime import datetime @@ -31,6 +31,9 @@ TILE_SUFFIX = "allSamples" def login(page): page.goto(LOGIN_URL) page.wait_for_load_state("networkidle", timeout=120000) + if not page.get_by_label("Email").is_visible(): + print(f"Session aktivni, prihlasen: {page.url}") + return page.get_by_label("Email").fill(EMAIL) page.get_by_role("button", name="Next").click() page.wait_for_load_state("networkidle", timeout=120000) @@ -83,19 +86,14 @@ def export_tile(page, tile_label, file_suffix, timestamp, study_id, out_dir): page.wait_for_load_state("networkidle", timeout=120000) page.wait_for_timeout(3000) - # Čekej dokud: - # 1. se neobjeví "No Data Available" (= record count je 0), nebo - # 2. record count není nenulový - page.wait_for_function("""() => { - const noData = document.querySelector('div.table-row.no-data'); - if (noData) return true; - const countEl = document.querySelector('div.grid-count span'); - if (countEl) { - const n = parseInt(countEl.innerText.trim().replace(/,/g, ''), 10); - return !isNaN(n) && n > 0; - } - return false; - }""", timeout=30000) + # Čekej až zmizí "Fetching Data": po filtru 5s, pak opakuj kontrolu každých 5s + page.wait_for_timeout(5000) + for _ in range(24): # max 2 minuty + if not page.get_by_text("Fetching Data").is_visible(): + break + print(" Fetching Data... cekam 5s") + page.wait_for_timeout(5000) + page.wait_for_timeout(5000) # extra buffer po zmizení if page.locator("div.table-row.no-data").is_visible(): print(f" Record Count: 0 — preskakuji.") @@ -128,7 +126,12 @@ if __name__ == "__main__": context = p.chromium.launch_persistent_context( user_data_dir=PROFILE_DIR, headless=False, - args=["--disable-blink-features=AutomationControlled", "--start-maximized"], + args=[ + "--disable-blink-features=AutomationControlled", + "--start-maximized", + "--disable-restore-session-state", + "--disable-session-crashed-bubble", + ], user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36", accept_downloads=True, no_viewport=True, diff --git a/Covance_UCO3001/download_test_results_v1.0.py b/Covance_UCO3001/download_test_results_v1.0.py deleted file mode 100644 index 5514e44..0000000 --- a/Covance_UCO3001/download_test_results_v1.0.py +++ /dev/null @@ -1,83 +0,0 @@ -# Název: download_test_results_v1.0.py -# Verze: 1.0 -# Datum: 2026-05-28 -# Popis: Stahuje Standard Test Results ze Covance/Labcorp XSP -# pro studii 77242113UCO3001 (study 36940, report 930556). -# Login přes xsp.covance.com → Okta, pak přímá URL na report. -# Výstup: timestampované CSV do adresáře Source/. - -from playwright.sync_api import sync_playwright -from datetime import datetime -import os - -EMAIL = "vbuzalka@its.jnj.com" -PASSWORD = "%zT3Wqfc9)cWua5" -LOGIN_URL = "https://xsp.covance.com/" -OUT_DIR = r"U:\PythonProject\Janssen\Covance_UCO3001\Source" -PROFILE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "browser_profile") - -REPORTS = [ - { - "site": "CZ10003", - "url": "https://xsp.labcorp.com/sponsor/study/36940/test-results/930556/standard-test-results", - "filename": "sponsor-study-36940-test-results-930556-standard-test-results.csv", - }, -] - - -def login(page): - page.goto(LOGIN_URL) - page.wait_for_load_state("networkidle") - page.get_by_label("Email").fill(EMAIL) - page.get_by_role("button", name="Next").click() - page.wait_for_load_state("networkidle") - page.get_by_label("Password").fill(PASSWORD) - page.get_by_role("button", name="Verify").click() - page.wait_for_url(lambda url: "code=" not in url, timeout=60000) - page.wait_for_load_state("networkidle", timeout=60000) - page.wait_for_timeout(2000) - print(f"Prihlaseni OK: {page.url}") - - -def download_report(page, report): - print(f"\n--- {report['site']} ---") - page.goto(report["url"]) - page.wait_for_load_state("networkidle", timeout=60000) - page.wait_for_timeout(3000) - print(f"Report nacteny: {page.url}") - - # Kliknout 3 tečky (more_horiz) vpravo od filtrovacího řádku - page.locator("button").filter(has_text="more_horiz").last.click() - - timestamp = datetime.now().strftime("%Y-%m-%d_%H%M%S") - dest = os.path.join(OUT_DIR, f"{timestamp} {report['filename']}") - - with page.expect_download(timeout=60000) as dl: - page.get_by_text("Export to CSV").click() - - dl.value.save_as(dest) - print(f"Stazeno: {dest}") - - -if __name__ == "__main__": - with sync_playwright() as p: - context = p.chromium.launch_persistent_context( - user_data_dir=PROFILE_DIR, - headless=False, - args=["--disable-blink-features=AutomationControlled", "--start-maximized"], - no_viewport=True, - user_agent=( - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " - "AppleWebKit/537.36 (KHTML, like Gecko) " - "Chrome/136.0.0.0 Safari/537.36" - ), - accept_downloads=True, - ) - context.add_init_script( - "Object.defineProperty(navigator, 'webdriver', {get: () => undefined})" - ) - page = context.new_page() - login(page) - for report in REPORTS: - download_report(page, report) - context.close() diff --git a/EmailsImport/DockerCustomApp/app.py b/EmailsImport/DockerCustomApp/app.py index 37e52de..d30b06e 100644 --- a/EmailsImport/DockerCustomApp/app.py +++ b/EmailsImport/DockerCustomApp/app.py @@ -1,3 +1,7 @@ +# app.py | v1.0 | 2026-05-29 +# FastAPI server pro příjem .msg a .db souborů a upload do Dropboxu. +# Endpointy: /upload (.msg → /msgs), /upload-db (.db → /msgs/db), /upload-dropbox (→ Dropbox /!!!Days/Downloads Z230). + from fastapi import FastAPI, UploadFile, File, Header, HTTPException import shutil from pathlib import Path @@ -47,6 +51,8 @@ async def upload_db( raise HTTPException(status_code=401, detail="Unauthorized") if not file.filename.endswith(".db"): raise HTTPException(status_code=400, detail="Only .db files accepted") + for old in DB_DIR.glob("*.db"): + old.unlink() dest = DB_DIR / file.filename with dest.open("wb") as f: shutil.copyfileobj(file.file, f)