[
  {
    "index": 3,
    "heading": "2026-04-06 23:56:33 AREA: F",
    "published_at": "2026-04-06 23:56:33",
    "area": "F",
    "message_id": "FA88",
    "text": "ZCZC FA88\n151\n,__4\n2 \n)\n\n_+\n1_)___:_)_-8,-.348.\nDUE TO HEAVY ICE CONDITIONS PILOTAGE OF \nTRANSIT TRAFFIC THROUGH VAINAMERFMDJMONLPPMJCJ_PWPW_\nNNNN",
    "clean_text": "ZCZC FA88\n151\n,__4\n2\n)\n\n_+\n1_)___:_)_-8,-.348.\nDUE TO HEAVY ICE CONDITIONS PILOTAGE OF\nTRANSIT TRAFFIC THROUGH VAINAMERFMDJMONLPPMJCJ_PWPW_\nNNNN",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code F. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Due to heavy ice conditions pilotage of",
      "Transit traffic through vainamerfmdjmonlppmjcj pwpw"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 6,
    "heading": "2026-04-06 23:53:35 AREA: F",
    "published_at": "2026-04-06 23:53:35",
    "area": "F",
    "message_id": "FA03",
    "text": "ZCZC FA03\n251840 _TC MAR\nPPHM\nM_Y_M__YL_O_XHS_ UT_ APR\nIN AREA TEMP DANGEROUS TO SHIPPING\n60-00.50N 027-16.50E 60-05.40N 027-34.00E\n59-53.00N 027 __59-48.00N 027-3_.00E_\nC_V_IS MESSAGE 302200 UTC APR.\nNNNN",
    "clean_text": "ZCZC FA03\n251840 _TC MAR\nPPHM\nM_Y_M__YL_O_XHS_ UT_ APR\nIN AREA TEMP DANGEROUS TO SHIPPING\n60-00.50N 027-16.50E 60-05.40N 027-34.00E\n59-53.00N 027 __59-48.00N 027-3_.00E_\nC_V_IS MESSAGE 302200 UTC APR.\nNNNN",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code F. Readable text says: In area temp dangerous to shipping. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "In area temp dangerous to shipping"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 8,
    "heading": "2026-04-06 23:51:38 AREA: F",
    "published_at": "2026-04-06 23:51:38",
    "area": "F",
    "message_id": "FA69",
    "text": "ZCZC FA69\n21059 UTC JUL\n_BALTIC SEA NAV WARN 026/25.\nSOUTHERN, SOUTHEASTERN, CENTRAL AND \nNORTHERN BALTIC, GULF Z._!_)7B_RIGA AND SEA OF AASANJGM\nGNSS, AIS, RADAR_W_WZ_JMFHPY_PY__PMONZLJPY_PWMFMYQ__O_G_YFPYJMW_FJ_WMHZMP_PYXFJ_M_CHFZONWMLP\n_YPYPWM_ZYM\nF_HFZMF_X_J\n_OG_XPSMLSHF__KBLKOBKCE_B_:,_:$)_+___+,'!!___\nZCZC",
    "clean_text": "ZCZC FA69\n21059 UTC JUL\n_BALTIC SEA NAV WARN 026/25.\nSOUTHERN, SOUTHEASTERN, CENTRAL AND\nNORTHERN BALTIC, GULF Z._!_)7B_RIGA AND SEA OF AASANJGM\nGNSS, AIS, RADAR_W_WZ_JMFHPY_PY__PMONZLJPY_PWMFMYQ__O_G_YFPYJMW_FJ_WMHZMP_PYXFJ_M_CHFZONWMLP\n_YPYPWM_ZYM\nF_HFZMF_X_J\n_OG_XPSMLSHF__KBLKOBKCE_B_:,_:$)_+___+,'!!___\nZCZC",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code F. Readable text says: Gnss, ais, radar w wz jmfhpy py pmonzljpy pwmfmyq o g yfpyjmw fj wmhzmp pyxfj m chfzonwmlp. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gnss, ais, radar w wz jmfhpy py pmonzljpy pwmfmyq o g yfpyjmw fj wmhzmp pyxfj m chfzonwmlp",
      "Northern baltic, gulf z. ! )7b riga and sea of aasanjgm",
      "Baltic sea nav warn 026/25"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 9,
    "heading": "2026-04-06 23:50:21 AREA: F",
    "published_at": "2026-04-06 23:50:21",
    "area": "F",
    "message_id": "FB04",
    "text": "ZCZC FB04\n061019 UTC APR\nBALTIC SEA MET WAR_I_M\nNEAR GAA_MA_F__O_G_PHYSMLSHF_\nW 14-17 M/F\n_MGHCPJW_M_06++.\n___:0*2_.0\n0__.20/6__9,_+6_$06.)'_!/_\nNW 14-17 M/S. TUESDAY EVENING DECR.\nGULF OF RIGA: \nW-NW 14-17 M/S. TUESDAY MORNING DECR.\nSEA OF AALAND: \nNW 14-17 M/S. MONDAY E_NG DECR. \nOVERNIGHTVTU\nF__MUM_ YICM__. \nTUESDA_ __YK_MW_XY_BONG_Y_DFPS_ZMV__MONGUM_ Y CM_B_M TUESDAY MORNING DECR.\n__NN\n\nU_U _\nZCZC",
    "clean_text": "ZCZC FB04\n061019 UTC APR\nBALTIC SEA MET WAR_I_M\nNEAR GAA_MA_F__O_G_PHYSMLSHF_\nW 14-17 M/F\n_MGHCPJW_M_06++.\n___:0*2_.0\n0__.20/6__9,_+6_$06.)'_!/_\nNW 14-17 M/S. TUESDAY EVENING DECR.\nGULF OF RIGA:\nW-NW 14-17 M/S. TUESDAY MORNING DECR.\nSEA OF AALAND:\nNW 14-17 M/S. MONDAY E_NG DECR.\nOVERNIGHTVTU\nF__MUM_ YICM__.\nTUESDA_ __YK_MW_XY_BONG_Y_DFPS_ZMV__MONGUM_ Y CM_B_M TUESDAY MORNING DECR.\n__NN\n\nU_U _\nZCZC",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code F. Readable text says: Baltic sea met war i m. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Baltic sea met war i m",
      "Nw 14-17 m/s. tuesday evening decr",
      "W-nw 14-17 m/s. tuesday morning decr"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 10,
    "heading": "2026-04-06 23:45:50 AREA: E",
    "published_at": "2026-04-06 23:45:50",
    "area": "E",
    "message_id": "EA21",
    "text": "ZCZC EA21\nWZ 182/26 \nLUNDY. \nSPANIEL BUOY 51-38.1N 004-39.7W UNLIT.\nNNNN",
    "clean_text": "ZCZC EA21\nWZ 182/26\nLUNDY.\nSPANIEL BUOY 51-38.1N 004-39.7W UNLIT.\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "LUNDY",
      "SPANIEL BUOY"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. Readable text says: Spaniel buoy 51-38.1n 004-39.7w unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Spaniel buoy 51-38.1n 004-39.7w unlit"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 11,
    "heading": "2026-04-06 23:45:28 AREA: E",
    "published_at": "2026-04-06 23:45:28",
    "area": "E",
    "message_id": "EA22",
    "text": "ZCZC EA22\nWZ 1855__.9__7!___\n_.9,_002'0*.'!_$_.\n__0+_:__.\n_ _H_HGUM+_.*!_!.!+_06_!\n0__8(\nNNNN",
    "clean_text": "ZCZC EA22\nWZ 1855__.9__7!___\n_.9,_002'0*.'!_$_.\n__0+_:__.\n_ _H_HGUM+_.*!_!.!+_06_!\n0__8(\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 12,
    "heading": "2026-04-06 23:45:08 AREA: E",
    "published_at": "2026-04-06 23:45:08",
    "area": "E",
    "message_id": "EA27",
    "text": "ZCZC EA27\nWZ 192/26 \nLUNDY. \nLAVURNOCVMJFHMLCZEM\nH U__G_PEAQPMIW UNLIT. \n \nNNNN",
    "clean_text": "ZCZC EA27\nWZ 192/26\nLUNDY.\nLAVURNOCVMJFHMLCZEM\nH U__G_PEAQPMIW UNLIT.\n\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "LUNDY"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. Readable text says: Lavurnocvmjfhmlczem. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Lavurnocvmjfhmlczem"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 13,
    "heading": "2026-04-06 23:44:44 AREA: E",
    "published_at": "2026-04-06 23:44:44",
    "area": "E",
    "message_id": "EA40",
    "text": "ZCZC EA40\nWZ 215/26 \nGMDSS. \nMRCC DOVER. \nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.5E OFF AIR. \nNNNN",
    "clean_text": "ZCZC EA40\nWZ 215/26\nGMDSS.\nMRCC DOVER.\nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.5E OFF AIR.\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. This is a weather bulletin; readable sections mention ice across the covered waters.",
    "decoded_highlights": [
      "Mf r/t service from bawdsey site 51-59.6n 001-24.5e off air",
      "Mrcc dover"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 14,
    "heading": "2026-04-06 23:44:20 AREA: E",
    "published_at": "2026-04-06 23:44:20",
    "area": "E",
    "message_id": "EA46",
    "text": "ZCZC EA46\nWZ 234/26 \nPLYMOUTH. LANDS END SOUTHEASTWARDS. \nSOUTH CARDINAL BUOY 50-01.2N 005-40.4W UNLIT. \nNNNN",
    "clean_text": "ZCZC EA46\nWZ 234/26\nPLYMOUTH. LANDS END SOUTHEASTWARDS.\nSOUTH CARDINAL BUOY 50-01.2N 005-40.4W UNLIT.\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: South cardinal buoy 50-01.2n 005-40.4w unlit.",
    "decoded_highlights": [
      "South cardinal buoy 50-01.2n 005-40.4w unlit",
      "Plymouth. lands end southeastwards"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 15,
    "heading": "2026-04-06 23:43:51 AREA: E",
    "published_at": "2026-04-06 23:43:51",
    "area": "E",
    "message_id": "EA49",
    "text": "ZCZC EA49\n272048Z MAR 2026 \nEA49 \nWZ 240/26 \nFASTNET. \nBLACKBALL LEDGE SOUTHEASTWARDS. \nEAST CARDINAL BUOY 51-55.3N 007-48.5W UNLIT. \n\nNNNN",
    "clean_text": "ZCZC EA49\n272048Z MAR 2026\nEA49\nWZ 240/26\nFASTNET.\nBLACKBALL LEDGE SOUTHEASTWARDS.\nEAST CARDINAL BUOY 51-55.3N 007-48.5W UNLIT.\n\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: East cardinal buoy 51-55.3n 007-48.5w unlit.",
    "decoded_highlights": [
      "East cardinal buoy 51-55.3n 007-48.5w unlit",
      "Blackball ledge southeastwards"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 16,
    "heading": "2026-04-06 23:43:27 AREA: E",
    "published_at": "2026-04-06 23:43:27",
    "area": "E",
    "message_id": "EA54",
    "text": "ZCZC EA54\n_AM\nUH T_EMO_G_JHPH_\nGREAT SALTEE SOUTHWARDS. \nCONINGBEG BUOY 52-03.2N 006-38.6W OFF STATFZ_NNNN",
    "clean_text": "ZCZC EA54\n_AM\nUH T_EMO_G_JHPH_\nGREAT SALTEE SOUTHWARDS.\nCONINGBEG BUOY 52-03.2N 006-38.6W OFF STATFZ_NNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: Coningbeg buoy 52-03.2n 006-38.6w off statfz nnnn. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Coningbeg buoy 52-03.2n 006-38.6w off statfz nnnn",
      "Great saltee southwards"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 17,
    "heading": "2026-04-06 23:40:17 AREA: E",
    "published_at": "2026-04-06 23:40:17",
    "area": "E",
    "message_id": "EE07",
    "text": "ZCZC EE07\nISSUED BY THE MET OFFICE AT 1900 ON MON 06 APR\n\nGALE WARNINGS: FITZROY\n\nTHQMPPYSMJFHCHFZMHM_FW__ONGDF_DMPHDPYSWJM\n _UFM_P_M_YBMLF_DH_\n_PMGLEM_FW__MHZ_ZY_ZU___ NEW LOW EXP S FITZROY 1007 BY SAME TIME\n\n24-HR FORECASTS\n\nTHAMES DOVER\nVRB 2 TO 4 BECMG E OR SE 3 TO 5. SLT OR MOD IN HUMBER, BUT EL_P_DPYPMJ_ZZHDMZYMJSH_FAIR. GOOD\n\nWIGHT PORTLAND PLYMOUTH BISCAY\nE OR SE 4 TO 6,.__0_:6:)9,8: 3 TO 5 IN PLYMOUTH AND BISCAY. SLT OR MOD, BECMG MOD OR ROUGH IN PLYMOUTH AND BISCAY, AND LTR ALSO IN PORTLAND. SHWRS LTR IN LJXE\n__GZZWONONG_FHAYZ_MJZSPONGJMZYMJPMLPX__XE_IC, 4 TO 6, INCR 7 OR GALE 8 IN W FI_ROY, PERHAPS SEV GALE 9 LTR IN SW FITZROY. MOD AT FIRST IN\nAL FITZROY, OTHERWISE ROUGH OR VERY ROUGH, OCNL _I_H IN W. RAIN OR SD_YJ\nMGHDCWPY____3-_MOD OR GOOD, OCNL POOR\n\nLUNDY FASTNET\nSE 4 TO 6, OCNL 7 AT FIRST, BECMG CYCLONIC 3 TO 5 LTR. IN FASTNET, MOD ZYMYZC_DM_PX_OUGH OR VERY ROUGH, ELSEWHERE SLT OR MOD, BUT BECMG ROUGH IN W LUNDY. RAIN AT TIMES IN FASTNET. GOOD, OCNL POOR IN FASTNET\n\nOUTLOOK FLU _UYMGDZCYJ_GALES EXP IN FITZROY, MAINLY IN THE SW. STRG WINDS EXP AT FIRST IN W SOLE\nNNNN",
    "clean_text": "ZCZC EE07\nISSUED BY THE MET OFFICE AT 1900 ON MON 06 APR\n\nGALE WARNINGS: FITZROY\n\nTHQMPPYSMJFHCHFZMHM_FW__ONGDF_DMPHDPYSWJM\n_UFM_P_M_YBMLF_DH_\n_PMGLEM_FW__MHZ_ZY_ZU___ NEW LOW EXP S FITZROY 1007 BY SAME TIME\n\n24-HR FORECASTS\n\nTHAMES DOVER\nVRB 2 TO 4 BECMG E OR SE 3 TO 5. SLT OR MOD IN HUMBER, BUT EL_P_DPYPMJ_ZZHDMZYMJSH_FAIR. GOOD\n\nWIGHT PORTLAND PLYMOUTH BISCAY\nE OR SE 4 TO 6,.__0_:6:)9,8: 3 TO 5 IN PLYMOUTH AND BISCAY. SLT OR MOD, BECMG MOD OR ROUGH IN PLYMOUTH AND BISCAY, AND LTR ALSO IN PORTLAND. SHWRS LTR IN LJXE\n__GZZWONONG_FHAYZ_MJZSPONGJMZYMJPMLPX__XE_IC, 4 TO 6, INCR 7 OR GALE 8 IN W FI_ROY, PERHAPS SEV GALE 9 LTR IN SW FITZROY. MOD AT FIRST IN\nAL FITZROY, OTHERWISE ROUGH OR VERY ROUGH, OCNL _I_H IN W. RAIN OR SD_YJ\nMGHDCWPY____3-_MOD OR GOOD, OCNL POOR\n\nLUNDY FASTNET\nSE 4 TO 6, OCNL 7 AT FIRST, BECMG CYCLONIC 3 TO 5 LTR. IN FASTNET, MOD ZYMYZC_DM_PX_OUGH OR VERY ROUGH, ELSEWHERE SLT OR MOD, BUT BECMG ROUGH IN W LUNDY. RAIN AT TIMES IN FASTNET. GOOD, OCNL POOR IN FASTNET\n\nOUTLOOK FLU _UYMGDZCYJ_GALES EXP IN FITZROY, MAINLY IN THE SW. STRG WINDS EXP AT FIRST IN W SOLE\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "WIGHT",
      "LUNDY",
      "PORTLAND"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for United Kingdom - English Channel and western approaches. This is a weather bulletin; readable sections mention gales, ice, rain across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gzzwonong fhayz mjzspongjmzymjpmlpx xe ic, 4 to 6, incr 7 or gale 8 in w fi roy, perhaps sev gale 9 ltr in sw fitzroy. mod at first in",
      "Outlook flu uymgdzcyj gales exp in fitzroy, mainly in the sw. strg winds exp at first in w sole",
      "Gale warnings: fitzroy"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 19,
    "heading": "2026-04-06 23:30:32 AREA: N",
    "published_at": "2026-04-06 23:30:32",
    "area": "N",
    "message_id": "",
    "text": "ZCZC NA_TP\nFYZPMFIGATIONAL WAR_ING NO_ 7 /2026\n _.....................+,__$0.6:23_,24)*_$79+3___4_0_6(6:.___+!39(39)___,($____/99(319(_1_/*__!+__94'_-=,\n27200_UTC MARFM_U_EONONGONNONIII_\nZCZC",
    "clean_text": "ZCZC NA_TP\nFYZPMFIGATIONAL WAR_ING NO_ 7 /2026\n_.....................+,__$0.6:23_,24)*_$79+3___4_0_6(6:.___+!39(39)___,($____/99(319(_1_/*__!+__94'_-=,\n27200_UTC MARFM_U_EONONGONNONIII_\nZCZC",
    "display_region_heading": "Unresolved B1 code N",
    "display_region_label": "B1 code N",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code N. Readable text says: Fyzpmfigational war ing no 7 /2026. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Fyzpmfigational war ing no 7 /2026"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 20,
    "heading": "2026-04-06 23:00:11 AREA: A",
    "published_at": "2026-04-06 23:00:11",
    "area": "A",
    "message_id": "AE82",
    "text": "ZCZC AE82\nAY OF BISCAY BULLETIN (MHYPM__SONG_PH_Z_G__K_POO_ZM\n_M_DYM\nCXKPBHC_BCKXDBHMD_Z_K7__KY_AERZ___9_==_171__6\n6+__)4\n3_)!\n1__6 AT 12 UTC\nLOW 96_ 57N27W, MOV N.\nTHUNDARCW DPI QVJD _9_.__/(:9729G__+__$_,49W BY\n_ _TIY UTC, THEN 97 _+__5_34 !-4-$-6.\n7__\n\n\n\nE C EKMST TO A$WI A\nM\n_BU_EB_OKBHBAOIBT\nZ_PPP K_H___\n\nAFA_MKQP_H_ _EBH_ R175:=__ (':___5_2!__+S_KEKBSN._MR_MZM_YCJR_\nNN GUB_\nGX_XU_R\nWZS___W_U_\n____U\n_I__Z_A_M__MZ\n_WY\nCAKBHEE_RCE CSZPN_ZB_US__J_010832 KT_MYM\nUYXWYN  _QTXW_V BREST\n_ QTS__+__):__7_7_(___7__\n787_7__7(ZCZC",
    "clean_text": "ZCZC AE82\nAY OF BISCAY BULLETIN (MHYPM__SONG_PH_Z_G__K_POO_ZM\n_M_DYM\nCXKPBHC_BCKXDBHMD_Z_K7__KY_AERZ___9_==_171__6\n6+__)4\n3_)!\n1__6 AT 12 UTC\nLOW 96_ 57N27W, MOV N.\nTHUNDARCW DPI QVJD _9_.__/(:9729G__+__$_,49W BY\n_ _TIY UTC, THEN 97 _+__5_34 !-4-$-6.\n7__\n\nE C EKMST TO A$WI A\nM\n_BU_EB_OKBHBAOIBT\nZ_PPP K_H___\n\nAFA_MKQP_H_ _EBH_ R175:=__ (':___5_2!__+S_KEKBSN._MR_MZM_YCJR_\nNN GUB_\nGX_XU_R\nWZS___W_U_\n____U\n_I__Z_A_M__MZ\n_WY\nCAKBHEE_RCE CSZPN_ZB_US__J_010832 KT_MYM\nUYXWYN _QTXW_V BREST\n_ QTS__+__):__7_7_(___7__\n787_7__7(ZCZC",
    "display_region_heading": "Unresolved B1 code A",
    "display_region_label": "B1 code A",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Unresolved B1 code A. Readable text says: E c ekmst to a$wi a. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "E c ekmst to a$wi a",
      "Low 96 57n27w, mov n",
      "Uyxwyn qtxw v brest"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 21,
    "heading": "2026-04-06 22:48:05 AREA: T",
    "published_at": "2026-04-06 22:48:05",
    "area": "T",
    "message_id": "",
    "text": "ZCZ_MU_\nU_AVURNAV HZCSZM\nUETUE_\nTW_OI_)___\n_034-589,'\n+__8_4 __00 UH_M_MNKQOL_PYWETO UTC A___\n_ROV IMPLEMANTHFZMFMKECBJ_B\n RWARLMU_0:__8_0$_))1_\n 42-4$_ 003_K_,,_3((3/)3_'+_\nXGU_YPYV1!6__.6__._56.40E/42-4!.+__9,$:+__\n 42_+_____9/\n2/_*___2)_:_-45 !GXFMB_QIL_HX_UHPWON\nCAN_PSMHDFJMBJ_\n_GONKQNII\nUALLOOOOOOOOV_OC_OO\nOOL___5_)4_-___-_ZCZC",
    "clean_text": "ZCZ_MU_\nU_AVURNAV HZCSZM\nUETUE_\nTW_OI_)___\n_034-589,'\n+__8_4 __00 UH_M_MNKQOL_PYWETO UTC A___\n_ROV IMPLEMANTHFZMFMKECBJ_B\nRWARLMU_0:__8_0$_))1_\n42-4$_ 003_K_,,_3((3/)3_'+_\nXGU_YPYV1!6__.6__._56.40E/42-4!.+__9,$:+__\n42_+_____9/\n2/_*___2)_:_-45 !GXFMB_QIL_HX_UHPWON\nCAN_PSMHDFJMBJ_\n_GONKQNII\nUALLOOOOOOOOV_OC_OO\nOOL___5_)4_-___-_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: U avurnav hzcszm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "U avurnav hzcszm",
      "Rov implemanthfzmfmkecbj b",
      "Gonkqnii"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 23,
    "heading": "2026-04-06 22:30:57 AREA: V",
    "published_at": "2026-04-06 22:30:57",
    "area": "V",
    "message_id": "VA69",
    "text": "ZCZC VA69\n191638 ITC MAR 2026\nWZ 215/26\nGMDSS.\nMRCC DOVER99_ 4/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.5E OFF AIR.\nNNNN",
    "clean_text": "ZCZC VA69\n191638 ITC MAR 2026\nWZ 215/26\nGMDSS.\nMRCC DOVER99_ 4/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.5E OFF AIR.\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "DOVER"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mrcc dover99 4/t service from bawdsey site 51-59.6n 001-24.5e off air"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 24,
    "heading": "2026-04-06 22:30:23 AREA: V",
    "published_at": "2026-04-06 22:30:23",
    "area": "V",
    "message_id": "VA75",
    "text": "ZCZC VA75\n3015__.___/._6_\n_\nWZ 242/26 \nTHAMES. \nGUNFLEET SANDS WIND FARM. \n1. TURBFPM\n_QARTMPN 001-14.6E FOG SIGNAL INOPERATIVE. \n2. CANCEL WZ 126/26 (VA58).\nNNNN",
    "clean_text": "ZCZC VA75\n3015__.___/._6_\n_\nWZ 242/26\nTHAMES.\nGUNFLEET SANDS WIND FARM.\n1. TURBFPM\n_QARTMPN 001-14.6E FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 126/26 (VA58).\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text reports a fog signal outage. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Qartmpn 001-14.6e fog signal inoperative",
      "Gunfleet sands wind farm",
      "2. cancel wz 126/26 (va58)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 25,
    "heading": "2026-04-06 22:20:23 AREA: U",
    "published_at": "2026-04-06 22:20:23",
    "area": "U",
    "message_id": "",
    "text": "ZCZC UE6__,_ _UMG_H_OK4(49,_-8-79 4-2!+9,9,_0\n_48_+7//$_,:_=_:_ 6_85344-,3-, -43-' 8''73$ _690._+__+_06+:0,=49)9_._.0.5_: !.+._ZHGNHGRHCGCP_07/04/2026\n1. WARNIJ_XO__HWXUEQAS UNDER COCYJP_OVERMSP_HFPMLJFMQNKBHQAX_WB_PMJPONWMSG_QKBQNC_HDWXIC_PK_JNFU__AZ_: OVER L_______=_(_(7_1-/_2______)___\nGASPJMCEBU_SE: NIS_GALES FORECA\n_THER SITUATION:\nINSTABILITY AREA ZVPY_SFAB G__I GGIL_JFWP_HIGH AND FLAT FIELD OF\n1024 HPMZ_PYM_PJH_GXPHYS S_6 8_34!__BH_32_:7_ 0__ __0()1020 HPA OVEYMQE_QIGCSLINK_KI D_GI_R\n_PYM_Y_B_QLVG_BGIHIPGIZD\nI WV_N\nRSV_\n0___+6*\n0_1$_1__._! 07/04/2026 AND 12 HOURS OUTLOO__NAE_WAAB_E\n__\n\nAVZ_H\n_E_V___YLX__2 :_,_.*__$:_$04*1_()7_)=___!3!3_3__8_01_+9$._!*)*______46_$ '3- / OUHSZZ_LSPMXBCH VM\nCENTRASMWYFHF_MJ__BHGEV_ OFFSHORE -FF_M_GZZW_SIBILITY -SMOOJPJPMJAXEWB_K: NORTHWESTERLUOEVHDPYMKUE($ 9_\n_F_SQ_VX_G_LY -.__0/+_/.,1_EJQBKLU_ENING -FAIR -GOOD VISIBFSFHEM_G_AA_WB G__GV_W_OR /\nOUHSZZV_NORTHWESTERLY 2 -FEW CLOUDS EAST SECTZ__R ITSFMJPJM_YZBMM__/,)2_!(_-(\nNORTHERN ARFHF_MQNK_OKQO10_)_)$_Y_SOUTHERLY 1 JPM\n_ASTERS_ON\nYMGJPM\nPCQ_0_)/_54-) -$48-5!_.*__,945_23'534)6 2 SEA 1/SOUTHWESSPMPKSHKBKB_XNORTHERLY 2 SEA 3/NORTHERLY 3 /'3- 2.\n,_*+:_$06.26!_!_.*__23'534)6 3 SEA 1/WESTERLY_THWESHPYSEM_PMGJPM\n_ORTHWESTERLY 4 SEA 3.\n\nEND _T_V__Y\n_ONGZ_XOSG_O_HI_ZCZC",
    "clean_text": "ZCZC UE6__,_ _UMG_H_OK4(49,_-8-79 4-2!+9,9,_0\n_48_+7//$_,:_=_:_ 6_85344-,3-, -43-' 8''73$ _690._+__+_06+:0,=49)9_._.0.5_: !.+._ZHGNHGRHCGCP_07/04/2026\n1. WARNIJ_XO__HWXUEQAS UNDER COCYJP_OVERMSP_HFPMLJFMQNKBHQAX_WB_PMJPONWMSG_QKBQNC_HDWXIC_PK_JNFU__AZ_: OVER L_______=_(_(7_1-/_2______)___\nGASPJMCEBU_SE: NIS_GALES FORECA\n_THER SITUATION:\nINSTABILITY AREA ZVPY_SFAB G__I GGIL_JFWP_HIGH AND FLAT FIELD OF\n1024 HPMZ_PYM_PJH_GXPHYS S_6 8_34!__BH_32_:7_ 0__ __0()1020 HPA OVEYMQE_QIGCSLINK_KI D_GI_R\n_PYM_Y_B_QLVG_BGIHIPGIZD\nI WV_N\nRSV_\n0___+6*\n0_1$_1__._! 07/04/2026 AND 12 HOURS OUTLOO__NAE_WAAB_E\n__\n\nAVZ_H\n_E_V___YLX__2 :_,_.*__$:_$04*1_()7_)=___!3!3_3__8_01_+9$._!*)*______46_$ '3- / OUHSZZ_LSPMXBCH VM\nCENTRASMWYFHF_MJ__BHGEV_ OFFSHORE -FF_M_GZZW_SIBILITY -SMOOJPJPMJAXEWB_K: NORTHWESTERLUOEVHDPYMKUE($ 9_\n_F_SQ_VX_G_LY -.__0/+_/.,1_EJQBKLU_ENING -FAIR -GOOD VISIBFSFHEM_G_AA_WB G__GV_W_OR /\nOUHSZZV_NORTHWESTERLY 2 -FEW CLOUDS EAST SECTZ__R ITSFMJPJM_YZBMM__/,)2_!(_-(\nNORTHERN ARFHF_MQNK_OKQO10_)_)$_Y_SOUTHERLY 1 JPM\n_ASTERS_ON\nYMGJPM\nPCQ_0_)/_54-) -$48-5!_.*__,945_23'534)6 2 SEA 1/SOUTHWESSPMPKSHKBKB_XNORTHERLY 2 SEA 3/NORTHERLY 3 /'3- 2.\n,_*+:_$06.26!_!_.*__23'534)6 3 SEA 1/WESTERLY_THWESHPYSEM_PMGJPM\n_ORTHWESTERLY 4 SEA 3.\n\nEND _T_V__Y\n_ONGZ_XOSG_O_HI_ZCZC",
    "display_region_heading": "Unresolved B1 code U",
    "display_region_label": "B1 code U",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code U. This is a weather bulletin; readable sections mention gales across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gaspjmcebu se: nis gales foreca",
      "Instability area zvpy sfab g i ggil jfwp high and flat field of",
      "Centrasmwyfhf mj bhgev offshore -ff m gzzw sibility -smoojpjpmjaxewb k: northwesterluoevhdpymkue($ 9"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 26,
    "heading": "2026-04-06 22:18:04 AREA: T",
    "published_at": "2026-04-06 22:18:04",
    "area": "T",
    "message_id": "TA79",
    "text": "ZCZC TA79\n _::4!_4_!_-*_6311=099'53,$34-$89 9_1_4___*_:_71_(/'3_3\n46.2+/__7-_7\n_8'7!!(8!_=9__\n_1-20,05N 003_0___Z_NPM_RN_EFNH_XRHRBCG_JZYMHZMIIVB\n_NCS_S_KIF_W_9,,88__/-/-__9(__$+________1+'___631!_/_0_0206(--_1_9XM_XI_PMPPAONHN_=_.'!0.)888_,\n(__GW\n__\nW_CF7)._676__!336+3_.47E \nAND 51--:__ 003-00__!3_0__12)4__XXP_U_NOT TO ANCHOR NOR TOM_FJ____=8:8,856_NNNN",
    "clean_text": "ZCZC TA79\n_::4!_4_!_-*_6311=099'53,$34-$89 9_1_4___*_:_71_(/'3_3\n46.2+/__7-_7\n_8'7!!(8!_=9__\n_1-20,05N 003_0___Z_NPM_RN_EFNH_XRHRBCG_JZYMHZMIIVB\n_NCS_S_KIF_W_9,,88__/-/-__9(__$+________1+'___631!_/_0_0206(--_1_9XM_XI_PMPPAONHN_=_.'!0.)888_,\n(__GW\n__\nW_CF7)._676__!336+3_.47E\nAND 51--:__ 003-00__!3_0__12)4__XXP_U_NOT TO ANCHOR NOR TOM_FJ____=8:8,856_NNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code T. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "And 51--: 003-00 !3 0 12)4 xxp u not to anchor nor tom fj 8:8,856 nnnn"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 34,
    "heading": "2026-04-06 22:11:39 AREA: T",
    "published_at": "2026-04-06 22:11:39",
    "area": "T",
    "message_id": "TA23",
    "text": "ZCZC TA23\n011244 UTC ANYONGZZJHPWPYWFZM_JF__XWY\nTSS-WESTHINDER\nCALIBRATION BEACON LOST BY VESSEL GEOSURVEYOR 11\nIN THE VICINITY OF POS 51 2_.3_,=\nU_RE\nDFNGJ_.!/_3173'53$ ,95 59 -,:_94 ,94 59 !8'_ \nIN THE VICINITY\nNONNIII_ZCZC",
    "clean_text": "ZCZC TA23\n011244 UTC ANYONGZZJHPWPYWFZM_JF__XWY\nTSS-WESTHINDER\nCALIBRATION BEACON LOST BY VESSEL GEOSURVEYOR 11\nIN THE VICINITY OF POS 51 2_.3_,=\nU_RE\nDFNGJ_.!/_3173'53$ ,95 59 -,:_94 ,94 59 !8'_\nIN THE VICINITY\nNONNIII_ZCZC",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "WESTHINDER"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Calibration beacon lost by vessel geosurveyor 11. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Calibration beacon lost by vessel geosurveyor 11",
      "In the vicinity of pos 51 2 .3",
      "Tss-westhinder"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 36,
    "heading": "2026-04-06 22:07:22 AREA: S",
    "published_at": "2026-04-06 22:07:22",
    "area": "S",
    "message_id": "",
    "text": "ZCZC SA369,_:_)=___'7___:_676_461\n2/71 _726\nNAV. WAR__NO. 1299,__**_3,3)(+_5 23'534,=_-:_\n1'!_,)LQQBH_32_QP_BDECX)90:(._)__8__6=10__3)!_\nNNONN_VVVVV\n____\nU__ZC TE12\n061910 _ -04\n_53,$34-$89 2/_/26\nTHAMES, DOL_ND BELGIAN COAST:\nE TO ESE 3, TONIGHT INCR TO 4. THIS EVENING FEW CLOUDS, \nTONIGHT BECMG C_ORNING _D_. MAINLY _ VIS_VBQ__B___ZCZC",
    "clean_text": "ZCZC SA369,_:_)=___'7___:_676_461\n2/71 _726\nNAV. WAR__NO. 1299,__**_3,3)(+_5 23'534,=_-:_\n1'!_,)LQQBH_32_QP_BDECX)90:(._)__8__6=10__3)!_\nNNONN_VVVVV\n____\nU__ZC TE12\n061910 _ -04\n_53,$34-$89 2/_/26\nTHAMES, DOL_ND BELGIAN COAST:\nE TO ESE 3, TONIGHT INCR TO 4. THIS EVENING FEW CLOUDS,\nTONIGHT BECMG C_ORNING _D_. MAINLY _ VIS_VBQ__B___ZCZC",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: E to ese 3, tonight incr to 4. this evening few clouds. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "E to ese 3, tonight incr to 4. this evening few clouds",
      "Nnonn vvvvv",
      "Thames, dol nd belgian coast"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 37,
    "heading": "2026-04-06 22:06:47 AREA: T",
    "published_at": "2026-04-06 22:06:47",
    "area": "T",
    "message_id": "",
    "text": "ZCZCMS_CH_NM_AHAMBURG\n7:_H__._90-\n__3_NAV. _YZ_BHL_BMG___5 !4!*!.!*'(80_M_\n.__,_=51*QBOJ32_*__+______86!_''!55E MISSING.9+_(===================_==_7_ZCZC",
    "clean_text": "ZCZCMS_CH_NM_AHAMBURG\n7:_H__._90-\n__3_NAV. _YZ_BHL_BMG___5 !4!*!.!*'(80_M_\n.__,_=51*QBOJ32_*__+______86!_''!55E MISSING.9+_(===================_==_7_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 38,
    "heading": "2026-04-06 22:06:09 AREA: S",
    "published_at": "2026-04-06 22:06:09",
    "area": "S",
    "message_id": "",
    "text": "ZCZC S_CZONGX_NAV. _Y__NO. 187\nGERMA32_,_\nOFFSHORE WINW_YVMQ_EUQBAQ_NQU_W_IVE ACROSSMHDPMPHFYPMKL_ARM.\n,_9,,=====\n999999999999+++++++++_77_ZCZC",
    "clean_text": "ZCZC S_CZONGX_NAV. _Y__NO. 187\nGERMA32_,_\nOFFSHORE WINW_YVMQ_EUQBAQ_NQU_W_IVE ACROSSMHDPMPHFYPMKL_ARM.\n,_9,,=====\n999999999999+++++++++_77_ZCZC",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code S. Readable text says: Offshore winw yvmq euqbaq nqu w ive acrossmhdpmphfypmkl arm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Offshore winw yvmq euqbaq nqu w ive acrossmhdpmphfypmkl arm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 39,
    "heading": "2026-04-06 22:05:33 AREA: S",
    "published_at": "2026-04-06 22:05:33",
    "area": "S",
    "message_id": "SA80",
    "text": "ZCZC SA80\nNCBGKSY__OKKELBHLA_M_GP7EBQ_XA__EU_FI_EYM_FL LIGHTBUOY  54-16__08-29_09,_),___0=1)_/_6,9245* ____ZCZC",
    "clean_text": "ZCZC SA80\nNCBGKSY__OKKELBHLA_M_GP7EBQ_XA__EU_FI_EYM_FL LIGHTBUOY 54-16__08-29_09,_),___0=1)_/_6,9245* ____ZCZC",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code S. Readable text says: Ncbgksy okkelbhla m gp7ebq xa eu fi eym fl lightbuoy 54-16 08-29 09, ), 0 1) / 6,9245 zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ncbgksy okkelbhla m gp7ebq xa eu fi eym fl lightbuoy 54-16 08-29 09, ), 0 1) / 6,9245 zczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 40,
    "heading": "2026-04-06 22:03:39 AREA: S",
    "published_at": "2026-04-06 22:03:39",
    "area": "S",
    "message_id": "SA82",
    "text": "ZCZC SA82\n_:-HAMBURG\n0 _30MG_H_MYM\n_GERMAN BF_DH\n_MGZYHD_PJ_P\nJ_V'LYWMZ_ORE 1'$_7_9_,0_-,$94 94:-', CS 'MK!__*4_7!___,!!_7,__! _0:4_5N 005-30,8E.\nRESTRI_ MAOP_YS*____:50_80__//P_U__ZNMVVVVVVOOOOOZZZZZZZZZZZZAAAAAAAAAA_XAXA_MJ\nF_ZN_-HAMLCY_ON\nPLBB_C MAR \n_NAV. _76_BHL__BS__04__.\nCWPY_HPYMZ_P_KD_19_1_8+)6__$_'C6FO_*9,_6+:2._+*!_!+__EC QF_F_YPJHYF_HP_B__B_S.\nBEYHDMZ.__9_)_NP_LP__M_X_\nNNMN\n\nUU_ZCZC",
    "clean_text": "ZCZC SA82\n_:-HAMBURG\n0 _30MG_H_MYM\n_GERMAN BF_DH\n_MGZYHD_PJ_P\nJ_V'LYWMZ_ORE 1'$_7_9_,0_-,$94 94:-', CS 'MK!__*4_7!___,!!_7,__! _0:4_5N 005-30,8E.\nRESTRI_ MAOP_YS*____:50_80__//P_U__ZNMVVVVVVOOOOOZZZZZZZZZZZZAAAAAAAAAA_XAXA_MJ\nF_ZN_-HAMLCY_ON\nPLBB_C MAR\n_NAV. _76_BHL__BS__04__.\nCWPY_HPYMZ_P_KD_19_1_8+)6__$_'C6FO_*9,_6+:2._+*!_!+__EC QF_F_YPJHYF_HP_B__B_S.\nBEYHDMZ.__9_)_NP_LP__M_X_\nNNMN\n\nUU_ZCZC",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code S. Readable text says: Plbb c mar. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Plbb c mar"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 41,
    "heading": "2026-04-06 22:00:16 AREA: S",
    "published_at": "2026-04-06 22:00:16",
    "area": "S",
    "message_id": "SE87",
    "text": "ZCZC SE87\n061900 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAS__PENEKO_ 2$++_-8:1_ WEST TO NORTHWPJHMLZCHM_HMGSHPYM_YFLSPM_FWJMLZCHM\nP__N\nMGNLGE_LC\nJN\n_S_RST 3 MEX__FM\n\n_VARIAB_71_(_3, LATER SHIFTINGEY2_1/\n1)\n2_56+__7_ GOOD VISIBILITY.\nSEA2*__10_6/6_! =___ZCACMJ\nZ__-H_LCY_ON\nPYPOPP UTC _F_\n '_$0'_+'_7K__  LIGHTBUOY M\nHY_ZOB\nKAXTEE T__ARILS_G_U _G_F V_ONNK__CZC SA85\n,/-09_QVRI_WPYQP UTC _YM\nNA\n_WARN..__+__. _GERMAN BIGHT. DORTHWPJHPYS_OAL_IB__45\n88)5\n__1'.\nUXZMJCY_PY BYO_V_V 'OCEANMY_J_DGIBE__09'1_\n2__-__)__\nWX_D MANOEUVRABILITY DURINGMZPYHFZJ__UC_SAFEMLPYHDMA_OXBH\nUQY_WYLXED.\nNNNN",
    "clean_text": "ZCZC SE87\n061900 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAS__PENEKO_ 2$++_-8:1_ WEST TO NORTHWPJHMLZCHM_HMGSHPYM_YFLSPM_FWJMLZCHM\nP__N\nMGNLGE_LC\nJN\n_S_RST 3 MEX__FM\n\n_VARIAB_71_(_3, LATER SHIFTINGEY2_1/\n1)\n2_56+__7_ GOOD VISIBILITY.\nSEA2*__10_6/6_! =___ZCACMJ\nZ__-H_LCY_ON\nPYPOPP UTC _F_\n'_$0'_+'_7K__ LIGHTBUOY M\nHY_ZOB\nKAXTEE T__ARILS_G_U _G_F V_ONNK__CZC SA85\n,/-09_QVRI_WPYQP UTC _YM\nNA\n_WARN..__+__. _GERMAN BIGHT. DORTHWPJHPYS_OAL_IB__45\n88)5\n__1'.\nUXZMJCY_PY BYO_V_V 'OCEANMY_J_DGIBE__09'1_\n2__-__)__\nWX_D MANOEUVRABILITY DURINGMZPYHFZJ__UC_SAFEMLPYHDMA_OXBH\nUQY_WYLXED.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NAVTEX HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Germany - German Bight and German North Sea. Readable text says: ' $0' ' 7k lightbuoy m. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "' $0' ' 7k lightbuoy m",
      "Weatherforecas peneko 2$ -8:1 west to northwpjhmlzchm hmgshpym yflspm fwjmlzchm",
      "Wx d manoeuvrability duringmzpyhfzj uc safemlpyhdma oxbh"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 42,
    "heading": "2026-04-06 21:41:12 AREA: Q",
    "published_at": "2026-04-06 21:41:12",
    "area": "Q",
    "message_id": "QE96",
    "text": "ZCZC QE96\n\n061840 UTC APR 26\nSPLIT RADIO\n\nWEATHER BULLETIN FOR ADRIATIC ISSUED BY THE MARINE METEOROLOGICAL CENTER SPLIT ON 06/04/2026 AT 1700 UTC\n\n1. WARNING:\nIN THE SECOND PART OF THE NIGHT ON SENJ AREA POSS GUSTS OF NE WIND 35-40 KT.\n\n2. SYNOPSIS:\nFIELD OF HIGH STNR OVER THE ADRIATIC.\n\n3. FORECAST FOR THE NEXT 24 HOURS VALID UNTIL 07/04/2026 AT 1700 UTC\n\nN-ERN ADRIATIC:\nCALM OR VRB WIND 4-10 KT. TOMORROW IN VELEBITSKI KANAL FPM\n MM_HHZ\nJ_BQ_BQ_KBKB_BOONK_ TOWARD MIDDAY COMPLETELY DECR. \nSEA 1-2, TOMORROW MORNING IN VELEBITSKI KANAL POSS 3.\nVIS 10-20 KM.\nMOSTLY CLEAR.\n\nCENTRAL ADRIATIC:\nNW WIND 4-10 KT, ON S-ERN PART OF AREA  LOC TO 15 KT.\nSEA 1-2. VIS 10-20 KM.\nMOSTLY CLEAR.\n\nS-ERN ADRIATIC:\n\nNW 4-12__=____+_+66+_._06++.'+_._$0._+*_._+.\n_(5.TO_ZY_ZUM_ZYF_MSZ_MHDPM_ZJHMJPM_Y _MGVH_BONGJPM_ UBMG\nFJ\n __I___LZOSTLY CL_UH_OZ\n\nNNNN",
    "clean_text": "ZCZC QE96\n\n061840 UTC APR 26\nSPLIT RADIO\n\nWEATHER BULLETIN FOR ADRIATIC ISSUED BY THE MARINE METEOROLOGICAL CENTER SPLIT ON 06/04/2026 AT 1700 UTC\n\n1. WARNING:\nIN THE SECOND PART OF THE NIGHT ON SENJ AREA POSS GUSTS OF NE WIND 35-40 KT.\n\n2. SYNOPSIS:\nFIELD OF HIGH STNR OVER THE ADRIATIC.\n\n3. FORECAST FOR THE NEXT 24 HOURS VALID UNTIL 07/04/2026 AT 1700 UTC\n\nN-ERN ADRIATIC:\nCALM OR VRB WIND 4-10 KT. TOMORROW IN VELEBITSKI KANAL FPM\nMM_HHZ\nJ_BQ_BQ_KBKB_BOONK_ TOWARD MIDDAY COMPLETELY DECR.\nSEA 1-2, TOMORROW MORNING IN VELEBITSKI KANAL POSS 3.\nVIS 10-20 KM.\nMOSTLY CLEAR.\n\nCENTRAL ADRIATIC:\nNW WIND 4-10 KT, ON S-ERN PART OF AREA LOC TO 15 KT.\nSEA 1-2. VIS 10-20 KM.\nMOSTLY CLEAR.\n\nS-ERN ADRIATIC:\n\nNW 4-12__=____+_+66+_._06++.'+_._$0._+*_._+.\n_(5.TO_ZY_ZUM_ZYF_MSZ_MHDPM_ZJHMJPM_Y _MGVH_BONGJPM_ UBMG\nFJ\n__I___LZOSTLY CL_UH_OZ\n\nNNNN",
    "resolved_station_name": "Split",
    "resolved_country": "Croatia",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "SPLIT RADIO"
    ],
    "display_region_heading": "Croatia - Adriatic Sea",
    "display_region_label": "Split, Croatia",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Croatia - Adriatic Sea. Readable text says: Weather bulletin for adriatic issued by the marine meteorological center split on 06/04/2026 at 1700 utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Weather bulletin for adriatic issued by the marine meteorological center split on 06/04/2026 at 1700 utc",
      "3. forecast for the next 24 hours valid until 07/04/2026 at 1700 utc",
      "In the second part of the night on senj area poss gusts of ne wind 35-40 kt"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 43,
    "heading": "2026-04-06 21:40:20 AREA: Q",
    "published_at": "2026-04-06 21:40:20",
    "area": "Q",
    "message_id": "QA05",
    "text": "ZCZC QA05\n061840 UTC APR 26\nSPLIT RAAIHO\n\nNAVIGATIONAL WNG. NR.: 67/2026\n\nNORTHERMMWYFHFXM_MG_CS_MFZY___W_RD_OM:.0+__- 0945, BREAKWATER, EXPLOSIVE DEVICE IN VICINITY 44-52,59 N 013-47,71 E. NAVIGATION, ANCHORING AND OTHER ACTIVITIES IN 150 METERS RADIUS FROM POSITION PROHIBITED.\n\n\nNNNN",
    "clean_text": "ZCZC QA05\n061840 UTC APR 26\nSPLIT RAAIHO\n\nNAVIGATIONAL WNG. NR.: 67/2026\n\nNORTHERMMWYFHFXM_MG_CS_MFZY___W_RD_OM:.0+__- 0945, BREAKWATER, EXPLOSIVE DEVICE IN VICINITY 44-52,59 N 013-47,71 E. NAVIGATION, ANCHORING AND OTHER ACTIVITIES IN 150 METERS RADIUS FROM POSITION PROHIBITED.\n\nNNNN",
    "display_region_heading": "Unresolved B1 code Q",
    "display_region_label": "B1 code Q",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code Q. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Northermmwyfhfxm mg cs mfzy w rd om:.0 - 0945, breakwater, explosive device in vicinity 44-52,59 n 013-47,71 e. navigation, anchoring and other activities in 150 meters radius from position prohibited",
      "Split raaiho",
      "Navigational wng. nr.: 67/2026"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 44,
    "heading": "2026-04-06 21:32:05 AREA: P",
    "published_at": "2026-04-06 21:32:05",
    "area": "P",
    "message_id": "PA",
    "text": "ZCZC PA\nU__PIRI UHXM_KYONKQ_SI 99/26\n/_6\n__!6.!9))928._'$_-3___(_BING\n_NG__BBBBBBBBL__VW_RS_GNE_ FOGHORN UNRELIALSPON\nCWXMTZV_LLLLLLSSSU)90:.4,__94, 8,9034-59=!_9__94,+.!+!069(14_)\n_......._0_ 003-34E UNLIT\nK_-1    ....._0(EB\n/_YLSN__ANCEL _JFM_ZPT_NNNN",
    "clean_text": "ZCZC PA\nU__PIRI UHXM_KYONKQ_SI 99/26\n/_6\n__!6.!9))928._'$_-3___(_BING\n_NG__BBBBBBBBL__VW_RS_GNE_ FOGHORN UNRELIALSPON\nCWXMTZV_LLLLLLSSSU)90:.4,__94, 8,9034-59=!_9__94,+.!+!069(14_)\n_......._0_ 003-34E UNLIT\nK_-1 ....._0(EB\n/_YLSN__ANCEL _JFM_ZPT_NNNN",
    "display_region_heading": "Unresolved B1 code P",
    "display_region_label": "B1 code P",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code P. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ng bbbbbbbbl vw rs gne foghorn unrelialspon"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 45,
    "heading": "2026-04-06 20:10:09 AREA: T",
    "published_at": "2026-04-06 20:10:09",
    "area": "T",
    "message_id": "",
    "text": "_CZC GA89\n'2+ 61/26\nCROMARTY.\n5_+_-0 $ !)9-58,: 28,$ !-4..\n1. TURBI_E_HS2, 57-2_.,_01-21.1W, FOG SIWY KGA12).\n__!.9_KKKKKKVK_VVVVVVVTN_Z\nHX_YJ__OIA VK_JLKI__WE_OT_JD_A_I_W_UZZC OLVU\n_I_ISH SEA.\nDMOCDE WIND FAO_\n.\nCENCEL WZ XQUXQ_ OZK\n_SBONV_ONSKK_KKKU_KKKKKKFHH_QJ_))*9_'___+:+: 0-98\n041900 UHXM_KOKQ_SI 2/26\nBUOY WP2 53-18.7N XIXR_I\n _\n___SZK_FSZVDSQG__$__JPLPWZ__U_U____ZC P_MC__O_TC APR 26\n__*!_,/_._:1_$*09*9=9* (9\n5_3 !___2._:3'_ )'=))!_,_\n2_8_7::+629,\n_(6__4')__R_R_MIE HNI4 _+__+3___VWWAJJKUC GLT_ACFWT_AQOMWM_RAPYMTE HZZ6 UNS_HW_22.6N_RAQQMEE HZX_)_4:_-_,__!9_$+6.!+_06(___+_$__+_\n_1__04'_:_/==0,,,,\n\n\n__+/-/._AA_GXMMMEBHX_PR 26\n__*!_,._0_:0_8,$!-4. _9))-,$'_._:*_.-:!__4( )8_$_.):+_*.'_=__0,(__.8\n$/_.1=__16\n1/))9))928._+**_1+72__'_+ 3 52-10,4420N 003-56,3420E\nMTD_AM\nYMHU_VZXXE_PEATYNRRTPE..\n\nNNNN",
    "clean_text": "_CZC GA89\n'2+ 61/26\nCROMARTY.\n5_+_-0 $ !)9-58,: 28,$ !-4..\n1. TURBI_E_HS2, 57-2_.,_01-21.1W, FOG SIWY KGA12).\n__!.9_KKKKKKVK_VVVVVVVTN_Z\nHX_YJ__OIA VK_JLKI__WE_OT_JD_A_I_W_UZZC OLVU\n_I_ISH SEA.\nDMOCDE WIND FAO_\n.\nCENCEL WZ XQUXQ_ OZK\n_SBONV_ONSKK_KKKU_KKKKKKFHH_QJ_))*9_'___+:+: 0-98\n041900 UHXM_KOKQ_SI 2/26\nBUOY WP2 53-18.7N XIXR_I\n_\n___SZK_FSZVDSQG__$__JPLPWZ__U_U____ZC P_MC__O_TC APR 26\n__*!_,/_._:1_$*09*9=9* (9\n5_3 !___2._:3'_ )'=))!_,_\n2_8_7::+629,\n_(6__4')__R_R_MIE HNI4 _+__+3___VWWAJJKUC GLT_ACFWT_AQOMWM_RAPYMTE HZZ6 UNS_HW_22.6N_RAQQMEE HZX_)_4:_-_,__!9_$+6.!+_06(___+_$__+_\n_1__04'_:_/==0,,,,\n\n__+/-/._AA_GXMMMEBHX_PR 26\n__*!_,._0_:0_8,$!-4. _9))-,$'_._:*_.-:!__4( )8_$_.):+_*.'_=__0,(__.8\n$/_.1=__16\n1/))9))928._+**_1+72__'_+ 3 52-10,4420N 003-56,3420E\nMTD_AM\nYMHU_VZXXE_PEATYNRRTPE..\n\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. turbi e hs2, 57-2 ., 01-21.1w, fog siwy kga12)",
      "Buoy wp2 53-18.7n xixr i",
      "Cromarty"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 46,
    "heading": "2026-04-06 20:09:14 AREA: G",
    "published_at": "2026-04-06 20:09:14",
    "area": "G",
    "message_id": "GA97",
    "text": "ZCZC GA97\nNAVAREA I 43/26 \nNORTH SEA. \nT_PWMFBMHH__ A_YNVZM__.5N 001-25.6E UNL_T. \n_NNNN",
    "clean_text": "ZCZC GA97\nNAVAREA I 43/26\nNORTH SEA.\nT_PWMFBMHH__ A_YNVZM__.5N 001-25.6E UNL_T.\n_NNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: Navarea i 43/26. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Navarea i 43/26",
      "North sea"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 47,
    "heading": "2026-04-06 20:08:37 AREA: G",
    "published_at": "2026-04-06 20:08:37",
    "area": "G",
    "message_id": "GA61",
    "text": "ZCZC GA61\nWZ 180/26 \n__1.__574_8,3 !9_ -8_,_'__34-58=3_: \nS._D01, 9__:3) 2+:58/72 (GA-9). \nNH N\n\nP__\nJ_UZCZC",
    "clean_text": "ZCZC GA61\nWZ 180/26\n__1.__574_8,3 !9_ -8_,_'__34-58=3_:\nS._D01, 9__:3) 2+:58/72 (GA-9).\nNH N\n\nP__\nJ_UZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 48,
    "heading": "2026-04-06 20:08:05 AREA: G",
    "published_at": "2026-04-06 20:08:05",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\n__Z_ORTHWESTWARDS.\n1.4MET MAST 53-10.___\n__2. IANC_LVWZ 82/2! _GA___ZCZC",
    "clean_text": "ZCZC GA71\n__Z_ORTHWESTWARDS.\n1.4MET MAST 53-10.___\n__2. IANC_LVWZ 82/2! _GA___ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 49,
    "heading": "2026-04-06 20:06:46 AREA: G",
    "published_at": "2026-04-06 20:06:46",
    "area": "G",
    "message_id": "GA83",
    "text": "ZCZC GA83\nWZ 215/_*,._=+.2____.9,__66/._+_06__.9___/T SER\n_\n\nA\nBUCK_BNQBQP_QB_/,$8_)_ \nNNNN",
    "clean_text": "ZCZC GA83\nWZ 215/_*,._=+.2____.9,__66/._+_06__.9___/T SER\n_\n\nA\nBUCK_BNQBQP_QB_/,$8_)_\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 50,
    "heading": "2026-04-06 20:06:19 AREA: G",
    "published_at": "2026-04-06 20:06:19",
    "area": "G",
    "message_id": "GA94",
    "text": "ZCZC GA94\n/2+=77T_EON_H_P\n_O_GLS_HD_IBCRL__OVJ\nIZJ_R_NPCBXLJW_BKUB-__2-ZCZC",
    "clean_text": "ZCZC GA94\n/2+=77T_EON_H_P\n_O_GLS_HD_IBCRL__OVJ\nIZJ_R_NPCBXLJW_BKUB-__2-ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 52,
    "heading": "2026-04-06 20:05:16 AREA: G",
    "published_at": "2026-04-06 20:05:16",
    "area": "G",
    "message_id": "GA04",
    "text": "ZCZC GA04\nWZ 25/26\nGMDSS.\nMRCC SHETLAND.\n21. MF R/T AND DZC _ERVICES FROM GREG_EASS_TE 57-07.7NC002-03.2W O_F\nUIV_\n_QAM CANCEL WZ 213_26 (GA80).\nNNNN",
    "clean_text": "ZCZC GA04\nWZ 25/26\nGMDSS.\nMRCC SHETLAND.\n21. MF R/T AND DZC _ERVICES FROM GREG_EASS_TE 57-07.7NC002-03.2W O_F\nUIV_\n_QAM CANCEL WZ 213_26 (GA80).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "21. mf r/t and dzc ervices from greg eass te 57-07.7nc002-03.2w o f",
      "Qam cancel wz 213 26 (ga80)",
      "Mrcc shetland"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 53,
    "heading": "2026-04-06 20:04:20 AREA: G",
    "published_at": "2026-04-06 20:04:20",
    "area": "G",
    "message_id": "",
    "text": "ZCZC G_QK_\nWZN32/2_ \nHUMBER. \nINNER BANK._\nPLATFORM SOUTHWARK 53-11.0N 002705.7E UN__LIT AND_ALL HZKAQHH_UZU_Q___X_Z 226/26_\nHUMBER.\nBESSEMER CAS _IELD.\n_. PLAHFZBMHXZT_E,8FOG SIGNAL INOP RATIVE.\n2. CANCEL WZ 10X_B KGA54).\nNNN_\nBM____\n77_ZCZC",
    "clean_text": "ZCZC G_QK_\nWZN32/2_\nHUMBER.\nINNER BANK._\nPLATFORM SOUTHWARK 53-11.0N 002705.7E UN__LIT AND_ALL HZKAQHH_UZU_Q___X_Z 226/26_\nHUMBER.\nBESSEMER CAS _IELD.\n_. PLAHFZBMHXZT_E,8FOG SIGNAL INOP RATIVE.\n2. CANCEL WZ 10X_B KGA54).\nNNN_\nBM____\n77_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER",
      "INNER BANK"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Plahfzbmhxzt e,8fog signal inop rative",
      "2. cancel wz 10x b kga54)",
      "Inner bank"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 54,
    "heading": "2026-04-06 20:03:10 AREA: T",
    "published_at": "2026-04-06 20:03:10",
    "area": "T",
    "message_id": "",
    "text": "ZCDC GA18\nWZ 243/2 \nFORTH. \n,3-45 ,- _-985_3 28,$!-4.. \n1. NNG E BUOY 56-14. _, 002-08.0W WND NHG S_BUD\n_UELM \nNN_N\n\nC_EZ_ZC HAWQT\n_AAM\nWTTAPPMQ_N 02--09.5. \nB.,TBT TRATQ_T_N\n002-_2. CANCEL H_C_RND__\nQ\nU\nUFUUUIZCZC",
    "clean_text": "ZCDC GA18\nWZ 243/2\nFORTH.\n,3-45 ,- _-985_3 28,$!-4..\n1. NNG E BUOY 56-14. _, 002-08.0W WND NHG S_BUD\n_UELM\nNN_N\n\nC_EZ_ZC HAWQT\n_AAM\nWTTAPPMQ_N 02--09.5.\nB.,TBT TRATQ_T_N\n002-_2. CANCEL H_C_RND__\nQ\nU\nUFUUUIZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: 1. nng e buoy 56-14. , 002-08.0w wnd nhg s bud. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. nng e buoy 56-14. , 002-08.0w wnd nhg s bud",
      "Wttappmq n 02--09.5",
      "Ufuuuizczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 56,
    "heading": "2026-04-06 18:05:28 AREA: S",
    "published_at": "2026-04-06 18:05:28",
    "area": "S",
    "message_id": "SAGEL",
    "text": "ZCZC SAGEL\nNCC-HAMTURGO_SLW_X____ZC_P MRTERSTR__JU_JF_ I__ZC_K ZE_I_\n0615:,.___\n0_\nKDXEECAST FLR_LSPG_PUHEI_A WMMM_V_DBS_EAGW_A _AX__Q__U_\n\nUU_U U_U\nI_WWZWZCZI GA2 \nWZN254_26 \nVIKI\n_. \nBERYL OIL FIERO_M_\n1. BERY_E_A__EXWY KKGA82). \nN_DOO\nE_I_SUZCZC",
    "clean_text": "ZCZC SAGEL\nNCC-HAMTURGO_SLW_X____ZC_P MRTERSTR__JU_JF_ I__ZC_K ZE_I_\n0615:,.___\n0_\nKDXEECAST FLR_LSPG_PUHEI_A WMMM_V_DBS_EAGW_A _AX__Q__U_\n\nUU_U U_U\nI_WWZWZCZI GA2\nWZN254_26\nVIKI\n_.\nBERYL OIL FIERO_M_\n1. BERY_E_A__EXWY KKGA82).\nN_DOO\nE_I_SUZCZC",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code S. Readable text says: I wwzwzczi ga2. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "I wwzwzczi ga2"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 59,
    "heading": "2026-04-06 14:03:20 AREA: N",
    "published_at": "2026-04-06 14:03:20",
    "area": "N",
    "message_id": "",
    "text": "ZCZC N__LWV\n_BV_W_EOL__ZO_AC_PW_ZC SA79\n_,::=_HAM____U_ MAR 26_\n_,-=. \n2-, . NO_ 1_9_,_3!' _34_-, _8__5 23'534, -_49_:_\n'GW/7*._7__G_T-VESSEL\n54_12N_T_NUAWYKYFSEM_PB_N__\n_ONGONNK_KCKKKKKKKKKKKKVK1_1===_.=====__+_22_0_1_-7\n7\n_8_8)83_\n55-0$0__\n9_+_48-_)3 28,$' -_975 3, !)-5 4 '_8758:_ *_3_594__7_\n_=)')\n8_+++_-++++++++2_)'--)---4--'__2062_+.+__\n +:+: 0385\n061306 UTC APR _A_O\nG_ZYP_JHMWCH_DMPPAMFJJCPWMHM\n _XHUMG_HXM\n__UEONGHDPYPMYPMZM_YFJ_BONONGJ_ZJFJONDFD__M _ OVER THEMPHDPYSWJM_FS_MBZ_PMHZMHDPM_PYBMONLF_DH\n_ONONG_ZYP_J_M_ TILL TUESDAY 03:00 UTC\n\nTHAMES \nVARIABLE 1-3, INCREASING EAST TO SOUTHEAST 3-4, \nOCCASIONALLY 5.\nGOOD__O_GU_PD_F_DH_\n_QMP METER.\n\n\nHUMBER \nVARIABLE 1-3, INCREASING EAST_TO SOUTHEAST 3-4.\nGOOD.\nWAVEHEIGHT 1.0-1.5 METER, DECREASING 0.57 _.3534.\n\n\nGERMA BF_DHMON_PJHMHZMZYHD_PJ_M_PYMGWP_YPJFM_YFLSPM__PBONG_ZZ__WAVEHEIGHT 1.5-2.0 METER, DECREASING 1.0-1.5 METER.\n\n\nDOGGER \nSOUTHWEST 2-4, BACKING SOUTH.\nGOODQM\nWAVEHEIGHT 1.5-2.0 METER, DECREASING 1.0-1.5 METER.\n\n\nFORECAST VALID TUESDAY 03:00 TILL TUESDAY 15:00 UTC\n_\nTHAMES HUMBER \nSOUTHEAST 3-4,._)__ 3-'5.\nGOOD.\nWAVEHEIGHT 0.5-1.0 METER.\n\n\nGERMAN BIGHT \nVARIABLE 1-3, INCREASING SOUTHEAST 2-4.\nGOOD.\nWAVEHEIGHT 1.0-1.5 METER.\n\n\nDOGGER \nSOUTH 2-3, INCREASING SOUTHEAST 3-4.\nGOOD.\nWAVEHEIGHT 1.0-1.5 METER.\n\n\n\n\nNNNN",
    "clean_text": "ZCZC N__LWV\n_BV_W_EOL__ZO_AC_PW_ZC SA79\n_,::=_HAM____U_ MAR 26_\n_,-=.\n2-, . NO_ 1_9_,_3!' _34_-, _8__5 23'534, -_49_:_\n'GW/7*._7__G_T-VESSEL\n54_12N_T_NUAWYKYFSEM_PB_N__\n_ONGONNK_KCKKKKKKKKKKKKVK1_1===_.=====__+_22_0_1_-7\n7\n_8_8)83_\n55-0$0__\n9_+_48-_)3 28,$' -_975 3, !)-5 4 '_8758:_ *_3_594__7_\n_=)')\n8_+++_-++++++++2_)'--)---4--'__2062_+.+__\n+:+: 0385\n061306 UTC APR _A_O\nG_ZYP_JHMWCH_DMPPAMFJJCPWMHM\n_XHUMG_HXM\n__UEONGHDPYPMYPMZM_YFJ_BONONGJ_ZJFJONDFD__M _ OVER THEMPHDPYSWJM_FS_MBZ_PMHZMHDPM_PYBMONLF_DH\n_ONONG_ZYP_J_M_ TILL TUESDAY 03:00 UTC\n\nTHAMES\nVARIABLE 1-3, INCREASING EAST TO SOUTHEAST 3-4,\nOCCASIONALLY 5.\nGOOD__O_GU_PD_F_DH_\n_QMP METER.\n\nHUMBER\nVARIABLE 1-3, INCREASING EAST_TO SOUTHEAST 3-4.\nGOOD.\nWAVEHEIGHT 1.0-1.5 METER, DECREASING 0.57 _.3534.\n\nGERMA BF_DHMON_PJHMHZMZYHD_PJ_M_PYMGWP_YPJFM_YFLSPM__PBONG_ZZ__WAVEHEIGHT 1.5-2.0 METER, DECREASING 1.0-1.5 METER.\n\nDOGGER\nSOUTHWEST 2-4, BACKING SOUTH.\nGOODQM\nWAVEHEIGHT 1.5-2.0 METER, DECREASING 1.0-1.5 METER.\n\nFORECAST VALID TUESDAY 03:00 TILL TUESDAY 15:00 UTC\n_\nTHAMES HUMBER\nSOUTHEAST 3-4,._)__ 3-'5.\nGOOD.\nWAVEHEIGHT 0.5-1.0 METER.\n\nGERMAN BIGHT\nVARIABLE 1-3, INCREASING SOUTHEAST 2-4.\nGOOD.\nWAVEHEIGHT 1.0-1.5 METER.\n\nDOGGER\nSOUTH 2-3, INCREASING SOUTHEAST 3-4.\nGOOD.\nWAVEHEIGHT 1.0-1.5 METER.\n\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Forecast valid tuesday 03:00 till tuesday 15:00 utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Forecast valid tuesday 03:00 till tuesday 15:00 utc",
      "Variable 1-3, increasing east to southeast 3-4",
      "Waveheight 1.0-1.5 meter, decreasing 0.57 .3534"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 60,
    "heading": "2026-04-06 12:09:16 AREA: G",
    "published_at": "2026-04-06 12:09:16",
    "area": "G",
    "message_id": "GA61",
    "text": "ZCZC GA61\n_WZONNI_CJ JCCCCK_UAZCCC_N WIND F_ M. \nDUDGEONTSOUT\nEBUOXT53-12.5N ___)_57_22___+: _-_9\n7++ 161/26\nC_OM_ TUAWOMRN 0'0-21.1W, F_L SIGNAL INOWERAE_VET__U___WKZJZC\n_AVOQ\nNAVTEXNAO_ UTC AHR_VS\n__VEA_\n_:-,:3),,-. _-5.4)(3__*2_02_0_30__!*3-*:_\n8__,_0+1_147:.'_5_$_:246___*__======2,_345_\n9! 2 NM _E_U-__F\nV_W__PZCZC",
    "clean_text": "ZCZC GA61\n_WZONNI_CJ JCCCCK_UAZCCC_N WIND F_ M.\nDUDGEONTSOUT\nEBUOXT53-12.5N ___)_57_22___+: _-_9\n7++ 161/26\nC_OM_ TUAWOMRN 0'0-21.1W, F_L SIGNAL INOWERAE_VET__U___WKZJZC\n_AVOQ\nNAVTEXNAO_ UTC AHR_VS\n__VEA_\n_:-,:3),,-. _-5.4)(3__*2_02_0_30__!*3-*:_\n8__,_0+1_147:.'_5_$_:246___*__======2,_345_\n9! 2 NM _E_U-__F\nV_W__PZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: Dudgeontsout. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Dudgeontsout",
      "Navtexnao utc ahr vs"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 61,
    "heading": "2026-04-06 12:08:14 AREA: T",
    "published_at": "2026-04-06 12:08:14",
    "area": "T",
    "message_id": "",
    "text": "ZCZC_G_74\nWZ 207/26 \n=\n_7._34.=_\n__\n,!_:.+6_$._*/_6ZI_TW,_9_-_-3=* , $:-)) ,-=-8$' 8,9034-58_3. \nNNNN",
    "clean_text": "ZCZC_G_74\nWZ 207/26\n=\n_7._34.=_\n__\n,!_:.+6_$._*/_6ZI_TW,_9_-_-3=* , $:-)) ,-=-8$' 8,9034-58_3.\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 62,
    "heading": "2026-04-06 12:07:49 AREA: G",
    "published_at": "2026-04-06 12:07:49",
    "area": "G",
    "message_id": "GA81",
    "text": "ZCZC GA81\nWZ 214/26.\n___!'!7-!_\n\n_ZCZC",
    "clean_text": "ZCZC GA81\nWZ 214/26.\n___!'!7-!_\n\n_ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 63,
    "heading": "2026-04-06 12:06:58 AREA: T",
    "published_at": "2026-04-06 12:06:58",
    "area": "T",
    "message_id": "",
    "text": "OCZC GA94\nWZ 2__.-6\nTYN .\nBLYTH OFFSHZYPM0++*__+-4_(18___)/(.:,_._:_70_-1ZCZJ\n_'=9__8-.8__ZCZC",
    "clean_text": "OCZC GA94\nWZ 2__.-6\nTYN .\nBLYTH OFFSHZYPM0++*__+-4_(18___)/(.:,_._:_70_-1ZCZJ\n_'=9__8-.8__ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 64,
    "heading": "2026-04-06 12:05:55 AREA: T",
    "published_at": "2026-04-06 12:05:55",
    "area": "T",
    "message_id": "",
    "text": "ZCZCM___ KGA80).\n7NNNN",
    "clean_text": "ZCZCM___ KGA80).\n7NNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 65,
    "heading": "2026-04-06 12:04:58 AREA: G",
    "published_at": "2026-04-06 12:04:58",
    "area": "G",
    "message_id": "GA12",
    "text": "ZCZC GA12\nW_ VU_\nLEV_LIT AND ALL NAVAIDS I_OPEOATIV _.3___\n\nH\nV\nEU\n\nII_M PLA\n_ZJBM__ZB_LH_\nA\nE_M_\nLONG::._*7\n*(ZCZC",
    "clean_text": "ZCZC GA12\nW_ VU_\nLEV_LIT AND ALL NAVAIDS I_OPEOATIV _.3___\n\nH\nV\nEU\n\nII_M PLA\n_ZJBM__ZB_LH_\nA\nE_M_\nLONG::._*7\n*(ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 66,
    "heading": "2026-04-06 12:04:24 AREA: T",
    "published_at": "2026-04-06 12:04:24",
    "area": "T",
    "message_id": "",
    "text": "ZCZC_W__T\nG__M\nU_N_UDO__M_BJN_NZB__A_OONX_LM \nNNNFK_\n\n_I EQ__\n\n_ZCZC",
    "clean_text": "ZCZC_W__T\nG__M\nU_N_UDO__M_BJN_NZB__A_OONX_LM\nNNNFK_\n\n_I EQ__\n\n_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 67,
    "heading": "2026-04-06 12:03:48 AREA: G",
    "published_at": "2026-04-06 12:03:48",
    "area": "G",
    "message_id": "GA18",
    "text": "ZCZC GA18\nWZ 24326 \nFORTH. \n__,3-_5(,___2(9+_((7__3\nBO_NXAOOLWJ_ET_B__L_1_5+:_:(___ZCZC",
    "clean_text": "ZCZC GA18\nWZ 24326\nFORTH.\n__,3-_5(,___2(9+_((7__3\nBO_NXAOOLWJ_ET_B__L_1_5+:_:(___ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 68,
    "heading": "2026-04-06 12:03:18 AREA: G",
    "published_at": "2026-04-06 12:03:18",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA_A_\n_WZ MOVED. \n____ANCE_KA_M_WZCZC",
    "clean_text": "ZCZC GA_A_\n_WZ MOVED.\n____ANCE_KA_M_WZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 69,
    "heading": "2026-04-06 12:00:18 AREA: G",
    "published_at": "2026-04-06 12:00:18",
    "area": "G",
    "message_id": "",
    "text": "ZCZC G_L_HONG_ARTY FORTH TYNEVDORG_D\nJ 4 TOT6, '_-:= '3 23__59 5 OTRK_ _SLT OR M__N_NE, _3)'32_34=.9+/___:+(6_.__,9_:_+4_7._34,8_+5_3428' _ '3 3\n__+.\n_.'_6__.5_+_')5 94,.9$, BECMHMC_H_ 2 O_C_L \n8'_60.0__2ZGZC _B_WT\n_E NOW CEASED\nNNNN",
    "clean_text": "ZCZC G_L_HONG_ARTY FORTH TYNEVDORG_D\nJ 4 TOT6, '_-:= '3 23__59 5 OTRK_ _SLT OR M__N_NE, _3)'32_34=.9+/___:+(6_.__,9_:_+4_7._34,8_+5_3428' _ '3 3\n__+.\n_.'_6__.5_+_')5 94,.9$, BECMHMC_H_ 2 O_C_L\n8'_60.0__2ZGZC _B_WT\n_E NOW CEASED\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "TYNE"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom - North Sea and north-east UK coast. Readable text says: E now ceased. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "E now ceased"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 70,
    "heading": "2026-04-06 10:31:24 AREA: V",
    "published_at": "2026-04-06 10:31:24",
    "area": "V",
    "message_id": "VA63",
    "text": "ZCZC VA63\n081043 UTC MARV_WS \n_XWA_THAD___NGLIA ONE WIND FARM. \nTURBINQG27, 52-0_6_002'__777_7!-_-_7__\n7(7'!___7_7*_7ZCZC",
    "clean_text": "ZCZC VA63\n081043 UTC MARV_WS\n_XWA_THAD___NGLIA ONE WIND FARM.\nTURBINQG27, 52-0_6_002'__777_7!-_-_7__\n7(7'!___7_7*_7ZCZC",
    "display_region_heading": "Unresolved B1 code V",
    "display_region_label": "B1 code V",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code V. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 73,
    "heading": "2026-04-06 10:18:53 AREA: T",
    "published_at": "2026-04-06 10:18:53",
    "area": "T",
    "message_id": "",
    "text": "ZCZC TKNCA_UQREI U_CVMSI 189_-09,_*060.\n___KPDJZ_XUNEKK_NE_\n3__ 4-=34'8*$_ 0__)'!*$02.)__70_\n__(_2__(7_B\nCO_AV__D WITH NORT_V __IAH__ _UOY 'JDN'\nUNJ_IWAT RPI_EA_NK_LOMBARDSIJW_MPJHLSFJWPWS_BKLB__K_WB_KUB_0_!_45.01E MARKED\nMARKED WITH NOR\nM__WFS_LBSPPBQ_IG_OR TO FISH ABOVE \nBH_GONNKKKKKKKKKKKVVVVVVR_O\nI__ $_____7ZCZC",
    "clean_text": "ZCZC TKNCA_UQREI U_CVMSI 189_-09,_*060.\n___KPDJZ_XUNEKK_NE_\n3__ 4-=34'8*$_ 0__)'!*$02.)__70_\n__(_2__(7_B\nCO_AV__D WITH NORT_V __IAH__ _UOY 'JDN'\nUNJ_IWAT RPI_EA_NK_LOMBARDSIJW_MPJHLSFJWPWS_BKLB__K_WB_KUB_0_!_45.01E MARKED\nMARKED WITH NOR\nM__WFS_LBSPPBQ_IG_OR TO FISH ABOVE\nBH_GONNKKKKKKKKKKKVVVVVVR_O\nI__ $_____7ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: M wfs lbsppbq ig or to fish above. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "M wfs lbsppbq ig or to fish above",
      "Marked with nor",
      "Bh gonnkkkkkkkkkkkvvvvvvr o"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 74,
    "heading": "2026-04-06 10:16:56 AREA: T",
    "published_at": "2026-04-06 10:16:56",
    "area": "T",
    "message_id": "",
    "text": "ZVZC _QCZON_\nOO_TWPYB_-__+*_08KSRX_AJ__A\nGHUACKIUFHUVP_HA_OMYHQUQX_D_VICINITY_ON_Z_MN_MCKGGDLONT___0_\n_'53$.+_._+._$+_9-5_8:_+26(_8,856\n+_)+!!!/____\nBEMJ_AONGP_SIVEMSZJHDQ_JB_STLIIIQN_K_LZ\nC_\nW\n_I _G_BXGWMIHNOT TO ANCDOZMG_ZYQ__UWQBB_L_\nITY.\nNNNN",
    "clean_text": "ZVZC _QCZON_\nOO_TWPYB_-__+*_08KSRX_AJ__A\nGHUACKIUFHUVP_HA_OMYHQUQX_D_VICINITY_ON_Z_MN_MCKGGDLONT___0_\n_'53$.+_._+._$+_9-5_8:_+26(_8,856\n+_)+!!!/____\nBEMJ_AONGP_SIVEMSZJHDQ_JB_STLIIIQN_K_LZ\nC_\nW\n_I _G_BXGWMIHNOT TO ANCDOZMG_ZYQ__UWQBB_L_\nITY.\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 76,
    "heading": "2026-04-06 10:14:47 AREA: T",
    "published_at": "2026-04-06 10:14:47",
    "area": "T",
    "message_id": "T",
    "text": "ZCZC T\n___G09'___= 24\nOOSTENDERADIO MSI 59:)3' 9, 5_3 '3-_3$ 8, !9))+_'._-_\n,$.8___(_8.482_\n\n_.943N  00258.492E\nSHI_STED NOT TO ANCHOR NOR TO FISH IN THE VICINITY\nNNNN",
    "clean_text": "ZCZC T\n___G09'___= 24\nOOSTENDERADIO MSI 59:)3' 9, 5_3 '3-_3$ 8, !9))+_'._-_\n,$.8___(_8.482_\n\n_.943N 00258.492E\nSHI_STED NOT TO ANCHOR NOR TO FISH IN THE VICINITY\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium - Belgian coast and southern North Sea. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shi sted not to anchor nor to fish in the vicinity"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 78,
    "heading": "2026-04-06 10:13:04 AREA: T",
    "published_at": "2026-04-06 10:13:04",
    "area": "T",
    "message_id": "",
    "text": "ZCZC TAKWW_\n_  Y \n_WPYWFZBQ9__6_$_8,$34  \n_MWEN \n_U__K_BQBJQD__: 151041 UTC APR 26\nNNNN",
    "clean_text": "ZCZC TAKWW_\n_ Y\n_WPYWFZBQ9__6_$_8,$34\n_MWEN\n_U__K_BQBJQD__: 151041 UTC APR 26\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 80,
    "heading": "2026-04-06 10:07:29 AREA: S",
    "published_at": "2026-04-06 10:07:29",
    "area": "S",
    "message_id": "",
    "text": "ZCZC S06_::-HAMBURG\n050930.___/._6_\n__(3)BHLAOMCA_DQQZ _I_IZJT WESTERN A_ACH\n'VUPSTK_VWN__HT-VESSEL 54-10N 006-21E TEMX___PVQ_SC_D.\n,39__77__\n1_77_ZCZC",
    "clean_text": "ZCZC S06_::-HAMBURG\n050930.___/._6_\n__(3)BHLAOMCA_DQQZ _I_IZJT WESTERN A_ACH\n'VUPSTK_VWN__HT-VESSEL 54-10N 006-21E TEMX___PVQ_SC_D.\n,39__77__\n1_77_ZCZC",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code S. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 81,
    "heading": "2026-04-06 10:07:29 AREA: T",
    "published_at": "2026-04-06 10:07:29",
    "area": "T",
    "message_id": "",
    "text": "ZOZCZC",
    "clean_text": "ZOZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 82,
    "heading": "2026-04-06 10:06:16 AREA: S",
    "published_at": "2026-04-06 10:06:16",
    "area": "S",
    "message_id": "SA79",
    "text": "ZCZC SA79\nNCC-H_LCY_ONN_PP_EYTC MAR 26\nNAZZG_LBHLGI_\n_SHORE WINDPARK *_+62*00._.(_7(!_:_0) ___T_\n__\nE_ATIVE ACYZ_KCU_SS__K8__:4)_ONNKKKKKKVVVVVVAAAAAAA_U_AXA_MJ__ONKQZNO. 183\nEAST FFFL___\n+1_)_ 0'2)5.\n \n+5\n!8'58'5+__5_79!..\n_0_339_=__\nNNNN",
    "clean_text": "ZCZC SA79\nNCC-H_LCY_ONN_PP_EYTC MAR 26\nNAZZG_LBHLGI_\n_SHORE WINDPARK *_+62*00._.(_7(!_:_0) ___T_\n__\nE_ATIVE ACYZ_KCU_SS__K8__:4)_ONNKKKKKKVVVVVVAAAAAAA_U_AXA_MJ__ONKQZNO. 183\nEAST FFFL___\n+1_)_ 0'2)5.\n\n+5\n!8'58'5+__5_79!..\n_0_339_=__\nNNNN",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code S. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 83,
    "heading": "2026-04-06 10:05:40 AREA: S",
    "published_at": "2026-04-06 10:05:40",
    "area": "S",
    "message_id": "",
    "text": "ZCZC SA8)_::-HAMBURG\n30100MG_ONKQZAV. WARN__MG_ZLBMG_V_QYDER ESTUARY.\n'EIDEY_JMGSF_DHT_ _TRAQYN_IAWOE\nI_RA_K_S\n__GRYNOYHQM_QUNLIT BUOYZDU_F_FF_C_ZZZZZZZZZZZZZAAAAAAAAAAVVVVVVVVVVVVX__XZCZC",
    "clean_text": "ZCZC SA8)_::-HAMBURG\n30100MG_ONKQZAV. WARN__MG_ZLBMG_V_QYDER ESTUARY.\n'EIDEY_JMGSF_DHT_ _TRAQYN_IAWOE\nI_RA_K_S\n__GRYNOYHQM_QUNLIT BUOYZDU_F_FF_C_ZZZZZZZZZZZZZAAAAAAAAAAVVVVVVVVVVVVX__XZCZC",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code S. Readable text says: Grynoyhqm qunlit buoyzdu f ff c zzzzzzzzzzzzzaaaaaaaaaavvvvvvvvvvvvx xzczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Grynoyhqm qunlit buoyzdu f ff c zzzzzzzzzzzzzaaaaaaaaaavvvvvvvvvvvvx xzczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 84,
    "heading": "2026-04-06 10:04:45 AREA: T",
    "published_at": "2026-04-06 10:04:45",
    "area": "T",
    "message_id": "",
    "text": "ZCZCMJ\nF__NY___AHAMBKY_ON\nP_ N__._9,(1_-=. WARN. NO. 191\nGERMAN _ODNIA_E_ D__ WEISS_M __!_=_02\n534 9034-58 3_*=_*7_8_3$::01_26)/_CS _H_W_O2',\nAROUND POSITION 54-46,6N 004_5E\nRESTRI_HP_M__P_YLFSFH_MWVG_0_=___9,'.\nBERTH OF 50M_ERS REQUESTED.\nNNNN",
    "clean_text": "ZCZCMJ\nF__NY___AHAMBKY_ON\nP_ N__._9,(1_-=. WARN. NO. 191\nGERMAN _ODNIA_E_ D__ WEISS_M __!_=_02\n534 9034-58 3_*=_*7_8_3$::01_26)/_CS _H_W_O2',\nAROUND POSITION 54-46,6N 004_5E\nRESTRI_HP_M__P_YLFSFH_MWVG_0_=___9,'.\nBERTH OF 50M_ERS REQUESTED.\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Around position 54-46,6n 004 5e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Around position 54-46,6n 004 5e",
      "Berth of 50m ers requested"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 88,
    "heading": "2026-04-06 08:43:43 AREA: K",
    "published_at": "2026-04-06 08:43:43",
    "area": "K",
    "message_id": "KA28",
    "text": "ZCZC KA28\nWIGHT - LARGE CAYEUX-SUR-MER\nWORKS\nCABLE LAYING Z_PYHFZONG_YZBM_H__\nUNTIL FURTHER NOTICE\nNO FISHING, TRAWLIB_DREDGING, ANCHORING AND DIVING WITHIN THIS AREA\nAREA BOUNDED BY:\n50-10.84N 001-29.44E\n50-10.44N 001-29.13E\n50-13.61N 001-21.02E\n50-15.86N 001-19.41E\n50-19.01__:01-12.02E\n5 Z_CYGM\n_ Y_CCGPON\nH_UB  GMIIKK\n Y_ZPGPON\nH ZBP_G_\n_ _ UBYEGPON\nH H_ZCGM\n_ _U_FGPON\nH P_CPGM\n_ _U BZUGPONGONNIII_ZC KA26\nAVURNAV CHERBOURG 26/26\nDOVER - DST MANCHE EST\nAIDS TO NAVIGATION CHANGES\nAIS TRANSMITTER O_ OF SERVICE - LIGHT UNLIT\nBOUEE BASJCYPSSPON\nH__PUBFG_\n_K_XL__AVIGATE WITH CAUTION\nNNNN",
    "clean_text": "ZCZC KA28\nWIGHT - LARGE CAYEUX-SUR-MER\nWORKS\nCABLE LAYING Z_PYHFZONG_YZBM_H__\nUNTIL FURTHER NOTICE\nNO FISHING, TRAWLIB_DREDGING, ANCHORING AND DIVING WITHIN THIS AREA\nAREA BOUNDED BY:\n50-10.84N 001-29.44E\n50-10.44N 001-29.13E\n50-13.61N 001-21.02E\n50-15.86N 001-19.41E\n50-19.01__:01-12.02E\n5 Z_CYGM\n_ Y_CCGPON\nH_UB GMIIKK\nY_ZPGPON\nH ZBP_G_\n_ _ UBYEGPON\nH H_ZCGM\n_ _U_FGPON\nH P_CPGM\n_ _U BZUGPONGONNIII_ZC KA26\nAVURNAV CHERBOURG 26/26\nDOVER - DST MANCHE EST\nAIDS TO NAVIGATION CHANGES\nAIS TRANSMITTER O_ OF SERVICE - LIGHT UNLIT\nBOUEE BASJCYPSSPON\nH__PUBFG_\n_K_XL__AVIGATE WITH CAUTION\nNNNN",
    "resolved_station_name": "Niton (France relay)",
    "resolved_country": "United Kingdom / France",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Channel Islands and north-east French coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV CHERBOURG",
      "CHERBOURG"
    ],
    "display_region_heading": "United Kingdom / France - Channel Islands and north-east French coast",
    "display_region_label": "Niton (France relay), United Kingdom / France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom / France - Channel Islands and north-east French coast. Readable text reports an aid-to-navigation fault near 50-10.84N 001-29.44E; 50-10.44N 001-29.13E. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "No fishing, trawlib dredging, anchoring and diving within this area",
      "Ais transmitter o of service - light unlit",
      "Cable laying z pyhfzong yzbm h"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 89,
    "heading": "2026-04-06 08:43:09 AREA: K",
    "published_at": "2026-04-06 08:43:09",
    "area": "K",
    "message_id": "KA29",
    "text": "ZCZC KA29\nAVURNAV CHERBOURG 029/26\nDOVER - DST MANCHE EST\n_\nAIDS TO NAVIGATION CHANGES\nLIGHT BUOY - LIGHT UNLIT\nBYOY FAIRY SUD\n51-21.20N 002-17.30E\nNAVIGATE WITH CAUTION\nNNNN",
    "clean_text": "ZCZC KA29\nAVURNAV CHERBOURG 029/26\nDOVER - DST MANCHE EST\n_\nAIDS TO NAVIGATION CHANGES\nLIGHT BUOY - LIGHT UNLIT\nBYOY FAIRY SUD\n51-21.20N 002-17.30E\nNAVIGATE WITH CAUTION\nNNNN",
    "resolved_station_name": "Niton (France relay)",
    "resolved_country": "United Kingdom / France",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Channel Islands and north-east French coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV CHERBOURG",
      "CHERBOURG"
    ],
    "display_region_heading": "United Kingdom / France - Channel Islands and north-east French coast",
    "display_region_label": "Niton (France relay), United Kingdom / France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom / France - Channel Islands and north-east French coast. Readable text reports an aid-to-navigation fault near 51-21.20N 002-17.30E.",
    "decoded_highlights": [
      "Light buoy - light unlit",
      "Avurnav cherbourg 029/26",
      "Dover - dst manche est"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 90,
    "heading": "2026-04-06 08:41:14 AREA: K",
    "published_at": "2026-04-06 08:41:14",
    "area": "K",
    "message_id": "KA39",
    "text": "ZCZC KA39\nAVURNAV CHERBOURG 39/26\nWIGHT -.52\n!_9,_*P_FSMZ_PYKH__1+_,/9_3_3_HE_1Z__F_V\nR_LONGXMGG9_._04 26 TO 061200 UTC APR 26\n\nAREA BOUNDED BY:\n49-59\n_____\n'_U U_E_GUOI_IKN\n_ZKY/)9,_::_:+(,_-:D_,__9_:._-,___9-32.33N V_ _BEUGU_N\nYZPYBC_G_PATTMQUGUONG\nF_H_M_FH_M_CHFZONON\n_CANCEL THIS MSG 061200 UTC APR 26\n\nAV_M_\nM_DPYLZCYM__ZO_IC WBMGHF_PYM_M_W\nF_ON_Z_PYKHFZJMJP_FSPJON\n_EXERCICE DE TIR\nDU 011000 UTC AVR 26 AU 06120.._(__.\n6.\n\n\nZONE DELIMITEE PAR :\n49-5_.92N 000-12.63W\n49-40.78N 0_CH_ ON_GARFNFETOF._-10.93W\n49-32.33N 000-18.62W\n49-34.72N 0,'-\n_\n87__9,_\n!_:06.\n0/._6:20_09,9888(_\n_-,,7)34 :3 .'_ )3 061200 UTC AVR 26\nNNNN",
    "clean_text": "ZCZC KA39\nAVURNAV CHERBOURG 39/26\nWIGHT -.52\n!_9,_*P_FSMZ_PYKH__1+_,/9_3_3_HE_1Z__F_V\nR_LONGXMGG9_._04 26 TO 061200 UTC APR 26\n\nAREA BOUNDED BY:\n49-59\n_____\n'_U U_E_GUOI_IKN\n_ZKY/)9,_::_:+(,_-:D_,__9_:._-,___9-32.33N V_ _BEUGU_N\nYZPYBC_G_PATTMQUGUONG\nF_H_M_FH_M_CHFZONON\n_CANCEL THIS MSG 061200 UTC APR 26\n\nAV_M_\nM_DPYLZCYM__ZO_IC WBMGHF_PYM_M_W\nF_ON_Z_PYKHFZJMJP_FSPJON\n_EXERCICE DE TIR\nDU 011000 UTC AVR 26 AU 06120.._(__.\n6.\n\nZONE DELIMITEE PAR :\n49-5_.92N 000-12.63W\n49-40.78N 0_CH_ ON_GARFNFETOF._-10.93W\n49-32.33N 000-18.62W\n49-34.72N 0,'-\n_\n87__9,_\n!_:06.\n0/._6:20_09,9888(_\n_-,,7)34 :3 .'_ )3 061200 UTC AVR 26\nNNNN",
    "resolved_station_name": "Niton (France relay)",
    "resolved_country": "United Kingdom / France",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Channel Islands and north-east French coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV CHERBOURG",
      "CHERBOURG"
    ],
    "display_region_heading": "United Kingdom / France - Channel Islands and north-east French coast",
    "display_region_label": "Niton (France relay), United Kingdom / France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom / France - Channel Islands and north-east French coast. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Exercice de tir",
      "49-40.78n 0 ch on garfnfetof. -10.93w",
      "Avurnav cherbourg 39/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 91,
    "heading": "2026-04-06 08:40:18 AREA: K",
    "published_at": "2026-04-06 08:40:18",
    "area": "K",
    "message_id": "KA40",
    "text": "ZCZC KA40\nAVURNAV CHERBOURG 40/26\n__7!_$_._._2\n!_9,_*P_FSMZ_PYHFZJON_FIRING EXERCISE\nFRAV__V_TC APR 26 TO 111500 UTC APR 26\nAREA BOUNDED BY:\n49-59.92N 000-12.63W\n49-40.78N 000-00.25W\n4+=_N 000-18.62W\n49-34.72N 000-55.12W\nNAVIGATE WITH CAUTION\n2. CANCEL THIS MSG 111500 UTC _AM\n_NNNN",
    "clean_text": "ZCZC KA40\nAVURNAV CHERBOURG 40/26\n__7!_$_._._2\n!_9,_*P_FSMZ_PYHFZJON_FIRING EXERCISE\nFRAV__V_TC APR 26 TO 111500 UTC APR 26\nAREA BOUNDED BY:\n49-59.92N 000-12.63W\n49-40.78N 000-00.25W\n4+=_N 000-18.62W\n49-34.72N 000-55.12W\nNAVIGATE WITH CAUTION\n2. CANCEL THIS MSG 111500 UTC _AM\n_NNNN",
    "resolved_station_name": "Niton (France relay)",
    "resolved_country": "United Kingdom / France",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Channel Islands and north-east French coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV CHERBOURG",
      "CHERBOURG"
    ],
    "display_region_heading": "United Kingdom / France - Channel Islands and north-east French coast",
    "display_region_label": "Niton (France relay), United Kingdom / France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom / France - Channel Islands and north-east French coast. Readable text says: ! 9, p fsmz pyhfzjon firing exercise. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "! 9, p fsmz pyhfzjon firing exercise",
      "2. cancel this msg 111500 utc am",
      "Avurnav cherbourg 40/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 92,
    "heading": "2026-04-06 08:36:10 AREA: J",
    "published_at": "2026-04-06 08:36:10",
    "area": "J",
    "message_id": "JA42",
    "text": "ZCZC JA42\n071600 UTC APR\nPOLND_ NAVM_XWPWY\nSOU_H__N BALTUC. (0+!94 8.8=32\n_Z_: \nS-63CEHTELEE 54-39.2( 016-36.59EB\n_P_P TO 14:00\n8 APRIL F_OMV__:___\nO 21_59\n7'+9,-53 8' ___$!*._*._\n_ 6_MG_ZCZC",
    "clean_text": "ZCZC JA42\n071600 UTC APR\nPOLND_ NAVM_XWPWY\nSOU_H__N BALTUC. (0+!94 8.8=32\n_Z_:\nS-63CEHTELEE 54-39.2( 016-36.59EB\n_P_P TO 14:00\n8 APRIL F_OMV__:___\nO 21_59\n7'+9,-53 8' ___$!*._*._\n_ 6_MG_ZCZC",
    "display_region_heading": "Unresolved B1 code J",
    "display_region_label": "B1 code J",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code J. Readable text says: S-63cehtelee 54-39.2( 016-36.59eb. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "S-63cehtelee 54-39.2( 016-36.59eb"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 93,
    "heading": "2026-04-06 08:34:48 AREA: J",
    "published_at": "2026-04-06 08:34:48",
    "area": "J",
    "message_id": "JAXRE",
    "text": "ZCZC JAXRE\n012201 UTC ACR\nPOLISH NAV WARN 072/26\nSOUTHERN BJL_ICV_SEL RAMFORM VANGUARD / C6JF5 MMSI: 311_01_61 \nIN AREA_TTAEPMORN 017-04.66E  55-28.37N 017-04.15E \n55-26.60N 017-07.74E  557__:\n_.\n_12.81PMON_D___DLM_H_QUAWEMOUE  55-779 ___.\n_28.2 =_.\n,____0_N 017-3__03_0_.____0__:G_\n_WUMTEE \n55-35.22N 017-22.8\nT_ 55-32.88N 017 __!!_0.9,___(0__+6_.\n_04.66E \nWIDE BERTH REQUESTE_NAT LEASTVQ OM_N\n\nZCZC",
    "clean_text": "ZCZC JAXRE\n012201 UTC ACR\nPOLISH NAV WARN 072/26\nSOUTHERN BJL_ICV_SEL RAMFORM VANGUARD / C6JF5 MMSI: 311_01_61\nIN AREA_TTAEPMORN 017-04.66E 55-28.37N 017-04.15E\n55-26.60N 017-07.74E 557__:\n_.\n_12.81PMON_D___DLM_H_QUAWEMOUE 55-779 ___.\n_28.2 =_.\n,____0_N 017-3__03_0_.____0__:G_\n_WUMTEE\n55-35.22N 017-22.8\nT_ 55-32.88N 017 __!!_0.9,___(0__+6_.\n_04.66E\nWIDE BERTH REQUESTE_NAT LEASTVQ OM_N\n\nZCZC",
    "display_region_heading": "Unresolved B1 code J",
    "display_region_label": "B1 code J",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code J. Readable text says: In area ttaepmorn 017-04.66e 55-28.37n 017-04.15e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "In area ttaepmorn 017-04.66e 55-28.37n 017-04.15e",
      "Southern bjl icv sel ramform vanguard / c6jf5 mmsi: 311 01 61",
      "Wide berth requeste nat leastvq om n"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 94,
    "heading": "2026-04-06 08:33:11 AREA: J",
    "published_at": "2026-04-06 08:33:11",
    "area": "J",
    "message_id": "JA49",
    "text": "ZCZC JA49\n0 -04\nDANISH NAV WARN 183/26\nDENMA_K. 3+97,$.:W_Z_WP___ONGMC_ZLJPYMPW\nN_H_P_QWARWMEE.\nOBSTRUCTION VIZIBLE ABOVE SEA SURFLJMLCZJ\nDO_____ZCZC",
    "clean_text": "ZCZC JA49\n0 -04\nDANISH NAV WARN 183/26\nDENMA_K. 3+97,$.:W_Z_WP___ONGMC_ZLJPYMPW\nN_H_P_QWARWMEE.\nOBSTRUCTION VIZIBLE ABOVE SEA SURFLJMLCZJ\nDO_____ZCZC",
    "display_region_heading": "Unresolved B1 code J",
    "display_region_label": "B1 code J",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code J. Readable text says: Obstruction vizible above sea surfljmlczj. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Obstruction vizible above sea surfljmlczj",
      "Danish nav warn 183/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 96,
    "heading": "2026-04-06 08:31:23 AREA: J",
    "published_at": "2026-04-06 08:31:23",
    "area": "J",
    "message_id": "JB29",
    "text": "ZCZC JB29\n060230 UTC APR\nBALTIC SEA MET WAYF_JO_G_S_M_YF_ONGJ_CHERN BALTICGC SW-W 15-20 M/S. MONDA_ EVENING W _QGAV_/S. LAHPMZ_PY_F_DHMHCPJW_MWPX___O_G_SHF_IIIK\nX_S.\nNEAR GALE WARNING\n_WTFTERN_B_ W 14-17 M/S.__ONDAY EVANING__ EEC_.\nSOU_SERN BALTIC: W 1$'17 M_X_S. IA_E_MOND_Y EVTNING DECR.\nNN_CAUUZCZC",
    "clean_text": "ZCZC JB29\n060230 UTC APR\nBALTIC SEA MET WAYF_JO_G_S_M_YF_ONGJ_CHERN BALTICGC SW-W 15-20 M/S. MONDA_ EVENING W _QGAV_/S. LAHPMZ_PY_F_DHMHCPJW_MWPX___O_G_SHF_IIIK\nX_S.\nNEAR GALE WARNING\n_WTFTERN_B_ W 14-17 M/S.__ONDAY EVANING__ EEC_.\nSOU_SERN BALTIC: W 1$'17 M_X_S. IA_E_MOND_Y EVTNING DECR.\nNN_CAUUZCZC",
    "display_region_heading": "Unresolved B1 code J",
    "display_region_label": "B1 code J",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code J. Readable text says: Near gale warning. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Near gale warning",
      "Nn cauuzczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 97,
    "heading": "2026-04-06 08:26:49 AREA: J",
    "published_at": "2026-04-06 08:26:49",
    "area": "J",
    "message_id": "JE57",
    "text": "ZCZC JE57\n060230 UTC APR\nBALTIC SEA WEATHERFORECAST\n\nNEAR GALEM_YF_ONGJZCHDPYMLSHG___ NORTHERN BALTIC, SOUTHERN SEA OF BOTHNIA, SEA OF AALAND, ARCHIPELAGO SEA, GULF OF RIGA, THE BELTS, __$0.*+:2_._'_0.\n006_.__0*_06.)'_!_____:'.+._!'29,9,__'_._6!_9,_*=_0878_(, KATTEGAT, SOUTHEASTERN BALTIC, CENTRAL BALTIC\n\nLOW SEA LEVEL\nTHE SOUND, WESTERN BWLT_\nWEATHER SUMMARY:\nA MINOR L SITUATED IN NZGIAN SEA AND L DAVE PASSES E-WARDS OVER SCANDINAVIA AND MOV AWAY OVER FINLAND.\n\nFORECAST VALID 24 HOURS (WIND SCALE IN METERS PER SECOND)\n\nSKAGERRAK, KATTEGAT\nSW 25-30. OVERNIGHT W-NW 13-18. TOMORROW AFTERNOON 10-15. UNTIL OVERNIGHT RAIN WITH MOD VIS.\n\nLAKE VAENERN\nSE 7-12, THIS AFTERNOON SW 18-23. OVERNIGHT W 13-16. TOMORROW AFTERNOON NW 6-11. TEMPO RAIN WITHMAFH_M_ZWM_FJ\nM_Z_PY_F_DH_F_VIS.\n\nTHE SOUND, THE BELTS, WESTERN BALTIC\nW 12-17. _59.+6_+_._06++._.2.*+)_(2(__7_ROHLK_VVY GOOD VIS, SOME SHWRS.\n\nSOUTHERN BALTIC, SOUTHEASTERN BALTIC, CENTRAL BALTIC, NORTHERN BALTIC S-SW 12-17. THIS AFTERNOON W-SW. THIS EVENING 15-20. TOMORROW AFT_ANOON W-NW. T\n__Z_YFMZYMJD_EPOK_9$ =8'.\n\nGULF OF RIGA_N GULF OF FIOIAN_\nSVAX_IIKU15. TOMO_NINGVAGA_N ,-)-,$_,_-0!__6.*0.+_.)+_$!__._+6_$0888_8,:4 12-17. OVERNIGHT SW AND\nSO_ADHMW_XY\nMGF_MJP\nZJ__BMZ_JZ_MAX_EV_ZW\n__ZZ_MO_J\nN_ BAY OFTBOTHNIA\nSC_TQ_M THIS EVENING _VAIE. TOMORROW AFTERNOON N-NE. TEMPO RAIN OR RAIN AND SNOW WITH MOD-POOR VIS.\nNNNN",
    "clean_text": "ZCZC JE57\n060230 UTC APR\nBALTIC SEA WEATHERFORECAST\n\nNEAR GALEM_YF_ONGJZCHDPYMLSHG___ NORTHERN BALTIC, SOUTHERN SEA OF BOTHNIA, SEA OF AALAND, ARCHIPELAGO SEA, GULF OF RIGA, THE BELTS, __$0.*+:2_._'_0.\n006_.__0*_06.)'_!_____:'.+._!'29,9,__'_._6!_9,_*=_0878_(, KATTEGAT, SOUTHEASTERN BALTIC, CENTRAL BALTIC\n\nLOW SEA LEVEL\nTHE SOUND, WESTERN BWLT_\nWEATHER SUMMARY:\nA MINOR L SITUATED IN NZGIAN SEA AND L DAVE PASSES E-WARDS OVER SCANDINAVIA AND MOV AWAY OVER FINLAND.\n\nFORECAST VALID 24 HOURS (WIND SCALE IN METERS PER SECOND)\n\nSKAGERRAK, KATTEGAT\nSW 25-30. OVERNIGHT W-NW 13-18. TOMORROW AFTERNOON 10-15. UNTIL OVERNIGHT RAIN WITH MOD VIS.\n\nLAKE VAENERN\nSE 7-12, THIS AFTERNOON SW 18-23. OVERNIGHT W 13-16. TOMORROW AFTERNOON NW 6-11. TEMPO RAIN WITHMAFH_M_ZWM_FJ\nM_Z_PY_F_DH_F_VIS.\n\nTHE SOUND, THE BELTS, WESTERN BALTIC\nW 12-17. _59.+6_+_._06++._.2.*+)_(2(__7_ROHLK_VVY GOOD VIS, SOME SHWRS.\n\nSOUTHERN BALTIC, SOUTHEASTERN BALTIC, CENTRAL BALTIC, NORTHERN BALTIC S-SW 12-17. THIS AFTERNOON W-SW. THIS EVENING 15-20. TOMORROW AFT_ANOON W-NW. T\n__Z_YFMZYMJD_EPOK_9$ =8'.\n\nGULF OF RIGA_N GULF OF FIOIAN_\nSVAX_IIKU15. TOMO_NINGVAGA_N ,-)-,$_,_-0!__6.*0.+_.)+_$!__._+6_$0888_8,:4 12-17. OVERNIGHT SW AND\nSO_ADHMW_XY\nMGF_MJP\nZJ__BMZ_JZ_MAX_EV_ZW\n__ZZ_MO_J\nN_ BAY OFTBOTHNIA\nSC_TQ_M THIS EVENING _VAIE. TOMORROW AFTERNOON N-NE. TEMPO RAIN OR RAIN AND SNOW WITH MOD-POOR VIS.\nNNNN",
    "display_region_heading": "Unresolved B1 code J",
    "display_region_label": "B1 code J",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Unresolved B1 code J. Readable text says: Sw 25-30. overnight w-nw 13-18. tomorrow afternoon 10-15. until overnight rain with mod vis. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Sw 25-30. overnight w-nw 13-18. tomorrow afternoon 10-15. until overnight rain with mod vis",
      "Se 7-12, this afternoon sw 18-23. overnight w 13-16. tomorrow afternoon nw 6-11. tempo rain withmafh m zwm fj",
      "Sc tq m this evening vaie. tomorrow afternoon n-ne. tempo rain or rain and snow with mod-poor vis"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 98,
    "heading": "2026-04-06 08:26:36 AREA: J",
    "published_at": "2026-04-06 08:26:36",
    "area": "J",
    "message_id": "JA53",
    "text": "ZCZC JA53\nCANCEHVWFJDM_M_Y_M_ F T_E_ZCZC",
    "clean_text": "ZCZC JA53\nCANCEHVWFJDM_M_Y_M_ F T_E_ZCZC",
    "display_region_heading": "Unresolved B1 code J",
    "display_region_label": "B1 code J",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code J. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 99,
    "heading": "2026-04-06 08:26:23 AREA: J",
    "published_at": "2026-04-06 08:26:23",
    "area": "J",
    "message_id": "",
    "text": "ZCZC JA_TR\nCANCEL DANISH NAV WARN 185/26\nNNNN",
    "clean_text": "ZCZC JA_TR\nCANCEL DANISH NAV WARN 185/26\nNNNN",
    "display_region_heading": "Unresolved B1 code J",
    "display_region_label": "B1 code J",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code J. Readable text says: Cancel danish nav warn 185/26. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Cancel danish nav warn 185/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 100,
    "heading": "2026-04-06 08:08:29 AREA: G",
    "published_at": "2026-04-06 08:08:29",
    "area": "G",
    "message_id": "GA96",
    "text": "ZCZC GA96\nWZ 171/26 \nHUMBER. \nDUDGEON WIND FARM. \nDUDGEOMJZCHDMLCZEM_HP_ _N 001-25.6E U_X_X_YM__,:0__7_7ZCZ_K_TYV__KS_\n__LLW\nCROMARTY_ATING WIND FARM.\n1. TCYLFPMDJ_TUAWOMR)9_01-21.1W, FOG SIGNAL INOPEYHF\nP_BO_\n_CANCEL W_KDB_ZB_PNL_VYX_ONNIKKKKKKKVVVVVVVV_XZ_Q___Z_BZCZC",
    "clean_text": "ZCZC GA96\nWZ 171/26\nHUMBER.\nDUDGEON WIND FARM.\nDUDGEOMJZCHDMLCZEM_HP_ _N 001-25.6E U_X_X_YM__,:0__7_7ZCZ_K_TYV__KS_\n__LLW\nCROMARTY_ATING WIND FARM.\n1. TCYLFPMDJ_TUAWOMR)9_01-21.1W, FOG SIGNAL INOPEYHF\nP_BO_\n_CANCEL W_KDB_ZB_PNL_VYX_ONNIKKKKKKKVVVVVVVV_XZ_Q___Z_BZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER",
      "CROMARTY"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. tcylfpmdj tuawomr)9 01-21.1w, fog signal inopeyhf",
      "Dudgeon wind farm",
      "Cromarty ating wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 101,
    "heading": "2026-04-06 08:07:57 AREA: G",
    "published_at": "2026-04-06 08:07:57",
    "area": "G",
    "message_id": "",
    "text": "ZCZC G_ZCONG_YPM_M_YPT__MOOWA_DWBQNCB_D_KJBK_U_P_EMOT OIL FIELDS. \nCHART GB 278. \nSAFETY ZONE, RADIUS 500 METRES, ESTABLISHED IN 57-16.48N 000-46.38E\nNNNN",
    "clean_text": "ZCZC G_ZCONG_YPM_M_YPT__MOOWA_DWBQNCB_D_KJBK_U_P_EMOT OIL FIELDS.\nCHART GB 278.\nSAFETY ZONE, RADIUS 500 METRES, ESTABLISHED IN 57-16.48N 000-46.38E\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code G. Readable text says: Safety zone, radius 500 metres, established in 57-16.48n 000-46.38e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Safety zone, radius 500 metres, established in 57-16.48n 000-46.38e"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 102,
    "heading": "2026-04-06 08:06:47 AREA: G",
    "published_at": "2026-04-06 08:06:47",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NZOD_PJH_Y_J_1. MET MAST 53-10.7N 002-59.1E UNLIT AND ALL NSXJMJMFZ_PYHF\nP_BO_\n_CANCEL WZ 82/26 (GA42).\nNNNN",
    "clean_text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NZOD_PJH_Y_J_1. MET MAST 53-10.7N 002-59.1E UNLIT AND ALL NSXJMJMFZ_PYHF\nP_BO_\n_CANCEL WZ 82/26 (GA42).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER",
      "ORWELL GAS FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Orwell gas field nzod pjh y j 1. met mast 53-10.7n 002-59.1e unlit and all nsxjmjmfz pyhf. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Orwell gas field nzod pjh y j 1. met mast 53-10.7n 002-59.1e unlit and all nsxjmjmfz pyhf",
      "Cancel wz 82/26 (ga42)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 103,
    "heading": "2026-04-06 08:06:18 AREA: G",
    "published_at": "2026-04-06 08:06:18",
    "area": "G",
    "message_id": "GA74",
    "text": "ZCZC GA74\nWZ 207/26 \nHUMBER. \nRAVENSPURN NORTH GAS FIELD. \nPLATFORMMZYHDM_YPT_ST2,_.__P_UG_PQAPWMPE, UNLIT AND ALL NAVAIDS INOPERATIVE. _ _9,,888_ZCZC",
    "clean_text": "ZCZC GA74\nWZ 207/26\nHUMBER.\nRAVENSPURN NORTH GAS FIELD.\nPLATFORMMZYHDM_YPT_ST2,_.__P_UG_PQAPWMPE, UNLIT AND ALL NAVAIDS INOPERATIVE. _ _9,,888_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Platformmzyhdm ypt st2, . p ug pqapwmpe, unlit and all navaids inoperative. 9,,888 zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Platformmzyhdm ypt st2, . p ug pqapwmpe, unlit and all navaids inoperative. 9,,888 zczc",
      "Ravenspurn north gas field"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 104,
    "heading": "2026-04-06 08:05:53 AREA: G",
    "published_at": "2026-04-06 08:05:53",
    "area": "G",
    "message_id": "GA81",
    "text": "ZCZC GA81\n___-.\n_ _57*.9___'. \nMRCC HUMBER. \nMF R/T SERVICE FROM CULLERCOATS SITE 55-04.4N 001-27.8_2=+_._6__9,,888_ZCZC",
    "clean_text": "ZCZC GA81\n___-.\n_ _57*.9___'.\nMRCC HUMBER.\nMF R/T SERVICE FROM CULLERCOATS SITE 55-04.4N 001-27.8_2=+_._6__9,,888_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "CULLERCOATS"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mf r/t service from cullercoats site 55-04.4n 001-27.8 2 . 6 9,,888 zczc",
      "Mrcc humber"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 105,
    "heading": "2026-04-06 08:05:35 AREA: G",
    "published_at": "2026-04-06 08:05:35",
    "area": "G",
    "message_id": "",
    "text": "ZCZC G_\nGALE WARNING MONDAY 06 APRIL 0357 UTC\n\nVIKINGGAGALPMZUM_PJPWONGONNIII_ZCZC",
    "clean_text": "ZCZC G_\nGALE WARNING MONDAY 06 APRIL 0357 UTC\n\nVIKINGGAGALPMZUM_PJPWONGONNIII_ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code G. Readable text says: Gale warning monday 06 april 0357 utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gale warning monday 06 april 0357 utc",
      "Vikinggagalpmzum pjpwongonniii zczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 106,
    "heading": "2026-04-06 08:05:10 AREA: T",
    "published_at": "2026-04-06 08:05:10",
    "area": "T",
    "message_id": "GA83",
    "text": "ZCZC\nGA83\n.\n___57_ _\nGMDSS. \nMRCC DOVER. \nMF R/T SERVICE FROM BAWDJ__MJFHPM\nH_H__ 001-24.5_ Z_IR. \nNNNN",
    "clean_text": "ZCZC\nGA83\n.\n___57_ _\nGMDSS.\nMRCC DOVER.\nMF R/T SERVICE FROM BAWDJ__MJFHPM\nH_H__ 001-24.5_ Z_IR.\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code T. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mf r/t service from bawdj mjfhpm",
      "Mrcc dover"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 107,
    "heading": "2026-04-06 08:04:43 AREA: G",
    "published_at": "2026-04-06 08:04:43",
    "area": "G",
    "message_id": "GA94",
    "text": "ZCZC GA94\nWZ 220/26\nTYNE._)65_ 9!!'0.20.20_+*_6_+6._ !-4..\nTURBINE B\n_TAPYMIN 001-23.6W UNLIT AND FOG SI_SM_Z_K____9,,8_ZCZC",
    "clean_text": "ZCZC GA94\nWZ 220/26\nTYNE._)65_ 9!!'0.20.20_+*_6_+6._ !-4..\nTURBINE B\n_TAPYMIN 001-23.6W UNLIT AND FOG SI_SM_Z_K____9,,8_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "TYNE"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Tapymin 001-23.6w unlit and fog si sm z k 9,,8 zczc",
      "Turbine b"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 108,
    "heading": "2026-04-06 08:04:11 AREA: G",
    "published_at": "2026-04-06 08:04:11",
    "area": "G",
    "message_id": "GA02",
    "text": "ZCZC GA02\nWZ 22157_9,_$:_)0__\nLEMAN GAS FIELD_._ 49/27-ED 53-03.6N 002-12.6E, UNLIT AND ALLM_FWJMFZ_PYHF\nP_BM_M CANCEL WZ_TUEMVG\nHUS_ONGONNIII_ZCZC",
    "clean_text": "ZCZC GA02\nWZ 22157_9,_$:_)0__\nLEMAN GAS FIELD_._ 49/27-ED 53-03.6N 002-12.6E, UNLIT AND ALLM_FWJMFZ_PYHF\nP_BM_M CANCEL WZ_TUEMVG\nHUS_ONGONNIII_ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: Leman gas field . 49/27-ed 53-03.6n 002-12.6e, unlit and allm fwjmfz pyhf. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Leman gas field . 49/27-ed 53-03.6n 002-12.6e, unlit and allm fwjmfz pyhf",
      "Hus ongonniii zczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 109,
    "heading": "2026-04-06 08:03:40 AREA: G",
    "published_at": "2026-04-06 08:03:40",
    "area": "G",
    "message_id": "GA04",
    "text": "ZCZC GA04\nWZ 225/26\nG_W_\nMRCC SDPHSW_1. MF R/T AND DJVY_MJNQ_3_B_RKLBG__L __  TE 57-07.7N 002-03.2W OFF AIR.\n_:-,:3) 2+ 213/26 (_G\nHJ_F_ZVZCZC",
    "clean_text": "ZCZC GA04\nWZ 225/26\nG_W_\nMRCC SDPHSW_1. MF R/T AND DJVY_MJNQ_3_B_RKLBG__L __ TE 57-07.7N 002-03.2W OFF AIR.\n_:-,:3) 2+ 213/26 (_G\nHJ_F_ZVZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 110,
    "heading": "2026-04-06 08:00:43 AREA: G",
    "published_at": "2026-04-06 08:00:43",
    "area": "G",
    "message_id": "GB45",
    "text": "ZCZC GB45\n_.__'\n._!94583' !8_.!*'09,.__':.)+(_,(______NNNN",
    "clean_text": "ZCZC GB45\n_.__'\n._!94583' !8_.!*'09,.__':.)+(_,(______NNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code G. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 111,
    "heading": "2026-04-06 07:45:24 AREA: E",
    "published_at": "2026-04-06 07:45:24",
    "area": "E",
    "message_id": "EA21",
    "text": "ZCZC EA21\nWZ 182/26 \nLUNDY. \nSPANIELMLCZEM\nH_P__ 004-39.7W _NLIT.\nNNNN",
    "clean_text": "ZCZC EA21\nWZ 182/26\nLUNDY.\nSPANIELMLCZEM\nH_P__ 004-39.7W _NLIT.\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "LUNDY"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. Readable text says: Spanielmlczem. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Spanielmlczem"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 112,
    "heading": "2026-04-06 07:45:03 AREA: E",
    "published_at": "2026-04-06 07:45:03",
    "area": "E",
    "message_id": "EA22",
    "text": "ZCZC EA22\nWZ 185/2_=\nWIGHT. \nNEEDLES LIGHT 50-39.7N 001-35.5W FOG SIGNAL INOPERATIVE. \nNNNN",
    "clean_text": "ZCZC EA22\nWZ 185/2_=\nWIGHT.\nNEEDLES LIGHT 50-39.7N 001-35.5W FOG SIGNAL INOPERATIVE.\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "WIGHT",
      "NEEDLES"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. Readable text reports a fog signal outage near 50-39.7N 001-35.5W. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Needles light 50-39.7n 001-35.5w fog signal inoperative"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 113,
    "heading": "2026-04-06 07:44:43 AREA: E",
    "published_at": "2026-04-06 07:44:43",
    "area": "E",
    "message_id": "EA27",
    "text": "ZCZC EA27\nWZ 192/26 \nLUNDY. \nLAVERNOCK SPIT BUOY 51-23.0N 003-10.8W UNLIT. \n \nNNNN",
    "clean_text": "ZCZC EA27\nWZ 192/26\nLUNDY.\nLAVERNOCK SPIT BUOY 51-23.0N 003-10.8W UNLIT.\n\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "LUNDY"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. Readable text says: Lavernock spit buoy 51-23.0n 003-10.8w unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Lavernock spit buoy 51-23.0n 003-10.8w unlit"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 114,
    "heading": "2026-04-06 07:44:19 AREA: E",
    "published_at": "2026-04-06 07:44:19",
    "area": "E",
    "message_id": "",
    "text": "ZCZC EA_'9,__-.\n_ _57_.+._3700BMRCC DOVER. \n_.! 4/T SERVICE FROM BAWDSEY SITE 51_N 001-24.5E OF_R. \nNNNN",
    "clean_text": "ZCZC EA_'9,__-.\n_ _57_.+._3700BMRCC DOVER.\n_.! 4/T SERVICE FROM BAWDSEY SITE 51_N 001-24.5E OF_R.\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code E. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "! 4/t service from bawdsey site 51 n 001-24.5e of r"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 116,
    "heading": "2026-04-06 07:43:26 AREA: E",
    "published_at": "2026-04-06 07:43:26",
    "area": "E",
    "message_id": "EA49",
    "text": "ZCZC EA49\n272048Z MAR 2026 \nEA49 \nWZ 240/26 \nFASTNET. \nBLACKBALL LEDGE SOUTHEASTWARDS. \nEAST CARDINAL BUOY 51-55.3_007-48.5W UNLIT. \n\nNNNN",
    "clean_text": "ZCZC EA49\n272048Z MAR 2026\nEA49\nWZ 240/26\nFASTNET.\nBLACKBALL LEDGE SOUTHEASTWARDS.\nEAST CARDINAL BUOY 51-55.3_007-48.5W UNLIT.\n\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: East cardinal buoy 51-55.3 007-48.5w unlit.",
    "decoded_highlights": [
      "East cardinal buoy 51-55.3 007-48.5w unlit",
      "Blackball ledge southeastwards"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 117,
    "heading": "2026-04-06 07:41:04 AREA: E",
    "published_at": "2026-04-06 07:41:04",
    "area": "E",
    "message_id": "EA52",
    "text": "ZCZC EA52\nNAVAREA I 68/26\n1. NAVAREA I WARNINGS IN FORCE AT 031000 UTC APR 2026:\n\n2026 SERIES: 43, 61, 67, 68.\n\nNOTES:\nA. TEXTS OF NAVAREA I WARNINGS ISSUED EACH WEEK ARE PUBLISHED IN WEEKLY EDITIONS OF THE ADMIRALTJMZHF_PJMHZM_YFPYJMLCSSPHFM_NMB).\n\nB. NAVAREA I WARNINGS LESS THAN 42 DAYS OLD (43/26 ONWARD) ARE PROMULGATED VIA ENHANCED GROUP CALL (EGC) _2_4 43)3=-,5 ,-=53/ 54-,'.85534'.\n\nC. THE COMPLETE TEXTS OF ALL IN-FORCE NAVAREA I WARNINGS, INCSCWF_MHDZJPM_DFXDMYPMZMSZ_PYMLPF_MLYZW_JH_MGYPMYP_YFHPWMFMJP_HFZMFFFMZ_M_II_IN WEEKS 1, 13, 26 AND 39 AND ARPMSJZM_FSLSPM_YZBMHDPMC_DZM_PLJFHPMH_PS://MSI.ADMIRALTY.CO.UK/RADIONAVIGATIONALWARNINGS.\n\nALTERNATIVELY, THESE B_MLPMYPXXQ_UO_QOK_MAIL FROM NAVAREA I CO-ORDINATOR AT: NAVWARNINGS(AT)UKHO.GOV.UK\n\n2. CANCEL NAVAREA I 62/26 (EA47)(GAQ ESVGZNCCS_ZB___/ZCZC",
    "clean_text": "ZCZC EA52\nNAVAREA I 68/26\n1. NAVAREA I WARNINGS IN FORCE AT 031000 UTC APR 2026:\n\n2026 SERIES: 43, 61, 67, 68.\n\nNOTES:\nA. TEXTS OF NAVAREA I WARNINGS ISSUED EACH WEEK ARE PUBLISHED IN WEEKLY EDITIONS OF THE ADMIRALTJMZHF_PJMHZM_YFPYJMLCSSPHFM_NMB).\n\nB. NAVAREA I WARNINGS LESS THAN 42 DAYS OLD (43/26 ONWARD) ARE PROMULGATED VIA ENHANCED GROUP CALL (EGC) _2_4 43)3=-,5 ,-=53/ 54-,'.85534'.\n\nC. THE COMPLETE TEXTS OF ALL IN-FORCE NAVAREA I WARNINGS, INCSCWF_MHDZJPM_DFXDMYPMZMSZ_PYMLPF_MLYZW_JH_MGYPMYP_YFHPWMFMJP_HFZMFFFMZ_M_II_IN WEEKS 1, 13, 26 AND 39 AND ARPMSJZM_FSLSPM_YZBMHDPMC_DZM_PLJFHPMH_PS://MSI.ADMIRALTY.CO.UK/RADIONAVIGATIONALWARNINGS.\n\nALTERNATIVELY, THESE B_MLPMYPXXQ_UO_QOK_MAIL FROM NAVAREA I CO-ORDINATOR AT: NAVWARNINGS(AT)UKHO.GOV.UK\n\n2. CANCEL NAVAREA I 62/26 (EA47)(GAQ ESVGZNCCS_ZB___/ZCZC",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: A. texts of navarea i warnings issued each week are published in weekly editions of the admiraltjmzhf pjmhzm yfpyjmlcssphfm nmb). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "A. texts of navarea i warnings issued each week are published in weekly editions of the admiraltjmzhf pjmhzm yfpyjmlcssphfm nmb)",
      "B. navarea i warnings less than 42 days old (43/26 onward) are promulgated via enhanced group call (egc) 2 4 43)3 -,5 ,- 53/ 54-,'.85534'",
      "C. the complete texts of all in-force navarea i warnings, incscwf mhdzjpm dfxdmypmzmsz pymlpf mlyzw jh mgypmyp yfhpwmfmjp hfzmfffmz m ii in weeks 1, 13, 26 and 39 and arpmsjzm fslspm yzbmhdpmc dzm pljfhpmh ps://msi.admiralty.co.uk/radionavigationalwarnings"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 118,
    "heading": "2026-04-06 07:40:40 AREA: E",
    "published_at": "2026-04-06 07:40:40",
    "area": "E",
    "message_id": "EA54",
    "text": "ZCZC EA54\nWZ 25 523.9___*_0__\nGREAT SALTEE SOUTHWARDS. \nCONINGBEG BUOY 52-03.2N 006-38.6W OFF STATION.\nNNNN",
    "clean_text": "ZCZC EA54\nWZ 25 523.9___*_0__\nGREAT SALTEE SOUTHWARDS.\nCONINGBEG BUOY 52-03.2N 006-38.6W OFF STATION.\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: Coningbeg buoy 52-03.2n 006-38.6w off station. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Coningbeg buoy 52-03.2n 006-38.6w off station",
      "Great saltee southwards"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 119,
    "heading": "2026-04-06 07:40:18 AREA: T",
    "published_at": "2026-04-06 07:40:18",
    "area": "T",
    "message_id": "",
    "text": "ZCZM\n_L\nC_ON_G_SPBKKEGRB_IKQOGQBHK3__R_BOW_A_L__ONMGJZCDLY GALE FORCE 8 CONTINUING\nNNNN",
    "clean_text": "ZCZM\n_L\nC_ON_G_SPBKKEGRB_IKQOGQBHK3__R_BOW_A_L__ONMGJZCDLY GALE FORCE 8 CONTINUING\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: C on g spbkkegrb ikqogqbhk3 r bow a l onmgjzcdly gale force 8 continuing. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "C on g spbkkegrb ikqogqbhk3 r bow a l onmgjzcdly gale force 8 continuing"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 120,
    "heading": "2026-04-06 06:37:03 AREA: V",
    "published_at": "2026-04-06 06:37:03",
    "area": "V",
    "message_id": "VA13",
    "text": "ZCZC VA13\n060330 UTC APR __SELLIA MARINA RADIO\n\nCOASTAL WARNING NG\nB_  ZTU__GBY_\n_UMVMCMGYPSPJP_SONGJHYFHMZ_MJF_FSEM_MG_ZAASSZM_G)\nPORRI ISLAND SIGNAL (E.F. 2930 - E1888) IS UNLIT.\nVESSELS IN TRANSIT BEWARE.\n\nNNNN",
    "clean_text": "ZCZC VA13\n060330 UTC APR __SELLIA MARINA RADIO\n\nCOASTAL WARNING NG\nB_ ZTU__GBY_\n_UMVMCMGYPSPJP_SONGJHYFHMZ_MJF_FSEM_MG_ZAASSZM_G)\nPORRI ISLAND SIGNAL (E.F. 2930 - E1888) IS UNLIT.\nVESSELS IN TRANSIT BEWARE.\n\nNNNN",
    "resolved_station_name": "Sellia Marina",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Ionian Sea and Strait of Messina",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "SELLIA MARINA"
    ],
    "display_region_heading": "Italy - Ionian Sea and Strait of Messina",
    "display_region_label": "Sellia Marina, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Ionian Sea and Strait of Messina. Readable text says: Coastal warning ng. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Coastal warning ng",
      "Porri island signal (e.f. 2930 - e1888) is unlit",
      "Vessels in transit beware"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 121,
    "heading": "2026-04-06 06:35:46 AREA: V",
    "published_at": "2026-04-06 06:35:46",
    "area": "V",
    "message_id": "VA12",
    "text": "ZCZC VA12\n060330 UTC APR 26\nSELLIA MARINA RADIO\n\nCOASTAL WARNING NR. 127/26 XR_25_( 3 RELEASP_\n_TYS_ONIAN SEA\nFROM MAR 26TH_ 2_26 UNTIL APRI_WPWY RV GAIA BLU (ICDA\n- IMO 792867) AISM_PY+6_._!_0_0.+._:660_+_0_1!/._*.!9,_$0._+'_+_+9,3 5644_3,8-, '3-, !:!_'_.*_6!_.2._+:_$6._+!9,*0_SHIPS_IN TRANTSIT PAY MAQIMUM ATTENOFZMW_OT\nLESS THAN 1NM FIOMCP\nM_FMLSC___\nZCZC",
    "clean_text": "ZCZC VA12\n060330 UTC APR 26\nSELLIA MARINA RADIO\n\nCOASTAL WARNING NR. 127/26 XR_25_( 3 RELEASP_\n_TYS_ONIAN SEA\nFROM MAR 26TH_ 2_26 UNTIL APRI_WPWY RV GAIA BLU (ICDA\n- IMO 792867) AISM_PY+6_._!_0_0.+._:660_+_0_1!/._*.!9,_$0._+'_+_+9,3 5644_3,8-, '3-, !:!_'_.*_6!_.2._+:_$6._+!9,*0_SHIPS_IN TRANTSIT PAY MAQIMUM ATTENOFZMW_OT\nLESS THAN 1NM FIOMCP\nM_FMLSC___\nZCZC",
    "resolved_station_name": "Sellia Marina",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Ionian Sea and Strait of Messina",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "SELLIA MARINA"
    ],
    "display_region_heading": "Italy - Ionian Sea and Strait of Messina",
    "display_region_label": "Sellia Marina, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Ionian Sea and Strait of Messina. Readable text says: Coastal warning nr. 127/26 xr 25 ( 3 releasp. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Coastal warning nr. 127/26 xr 25 ( 3 releasp",
      "- imo 792867) aism py 6 . ! 0 0. . :660 0 1!/. .!9, $0. ' 9,3 5644 3,8-, '3-, !:! ' . 6! .2. : $6. !9, 0 ships in trantsit pay maqimum attenofzmw ot",
      "From mar 26th 2 26 until apri wpwy rv gaia blu (icda"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 122,
    "heading": "2026-04-06 06:34:57 AREA: V",
    "published_at": "2026-04-06 06:34:57",
    "area": "V",
    "message_id": "VA11",
    "text": "ZCZC VA11\n060330 UTC APR 26\nJPSSFM_YFMY_QF_BOASTAL WARNING NR9_134/26 APR 01  (1 RELEASE)\nESJFMJHYFHMAZPONWCPMHZMYWYM_F_CYP_MGHDPM_PJJFM_PJJPSMHY_ SERVICE WILL PROVIDE\nREDUCED SERVIC! -,$ 8,!94.-589,.\nSHIPS AND FLOAT_NYD\nFMPHYE_T FROM THE VTS AREA BEWARE.\n\nNNNN",
    "clean_text": "ZCZC VA11\n060330 UTC APR 26\nJPSSFM_YFMY_QF_BOASTAL WARNING NR9_134/26 APR 01 (1 RELEASE)\nESJFMJHYFHMAZPONWCPMHZMYWYM_F_CYP_MGHDPM_PJJFM_PJJPSMHY_ SERVICE WILL PROVIDE\nREDUCED SERVIC! -,$ 8,!94.-589,.\nSHIPS AND FLOAT_NYD\nFMPHYE_T FROM THE VTS AREA BEWARE.\n\nNNNN",
    "display_region_heading": "Unresolved B1 code V",
    "display_region_label": "B1 code V",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code V. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Jpssfm yfmy qf boastal warning nr9 134/26 apr 01 (1 release)",
      "Esjfmjhyfhmazponwcpmhzmywym f cyp mghdpm pjjfm pjjpsmhy service will provide",
      "Fmphye t from the vts area beware"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 124,
    "heading": "2026-04-06 06:32:08 AREA: V",
    "published_at": "2026-04-06 06:32:08",
    "area": "V",
    "message_id": "VA09",
    "text": "ZCZC VA09\n060330 UTC APR 26\nSA RADIO\n\nCOASTAL WARNING NR. 136/26 APR 03 \nSOUTHERN IONIAN SEA - CATANIA (CT)\nSCIARA BISCARI LIGHTHOUSE I.L. _ 9$_=_1)_'_8._+.__!.!._+*!_!+9,_0:._+_0__._._HAS RESUMED REG_SYMZ_PYHFZ_MARISICILIA COASTAL WARNING NR. 135/26 AM_ 02 STOP IK CANCELLED\n\nNNNN",
    "clean_text": "ZCZC VA09\n060330 UTC APR 26\nSA RADIO\n\nCOASTAL WARNING NR. 136/26 APR 03\nSOUTHERN IONIAN SEA - CATANIA (CT)\nSCIARA BISCARI LIGHTHOUSE I.L. _ 9$_=_1)_'_8._+.__!.!._+*!_!+9,_0:._+_0__._._HAS RESUMED REG_SYMZ_PYHFZ_MARISICILIA COASTAL WARNING NR. 135/26 AM_ 02 STOP IK CANCELLED\n\nNNNN",
    "resolved_station_name": "Sellia Marina",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Ionian Sea and Strait of Messina",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "IONIAN",
      "SOUTHERN IONIAN"
    ],
    "display_region_heading": "Italy - Ionian Sea and Strait of Messina",
    "display_region_label": "Sellia Marina, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Ionian Sea and Strait of Messina. Readable text says: Sciara biscari lighthouse i.l. 9$ 1) ' 8. . !.!. ! ! 9, 0:. 0 . . has resumed reg symz pyhfz marisicilia coastal warning nr. 135/26 am 02 stop ik cancelled. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Sciara biscari lighthouse i.l. 9$ 1) ' 8. . !.!. ! ! 9, 0:. 0 . . has resumed reg symz pyhfz marisicilia coastal warning nr. 135/26 am 02 stop ik cancelled",
      "Coastal warning nr. 136/26 apr 03",
      "Southern ionian sea - catania (ct)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 125,
    "heading": "2026-04-06 06:31:25 AREA: V",
    "published_at": "2026-04-06 06:31:25",
    "area": "V",
    "message_id": "",
    "text": "ZCZC VA_Y_\n_QIEXWY \nTHAMES. \nEAST ANGLIA ONE WIND FARM. \nTURBINE G27, 52-09.8N 002-33.5E_OG SIGNAL INOPERATIVE. \nNNNN",
    "clean_text": "ZCZC VA_Y_\n_QIEXWY\nTHAMES.\nEAST ANGLIA ONE WIND FARM.\nTURBINE G27, 52-09.8N 002-33.5E_OG SIGNAL INOPERATIVE.\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Turbine g27, 52-09.8n 002-33.5e og signal inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Turbine g27, 52-09.8n 002-33.5e og signal inoperative",
      "East anglia one wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 126,
    "heading": "2026-04-06 06:21:41 AREA: U",
    "published_at": "2026-04-06 06:21:41",
    "area": "U",
    "message_id": "UA76",
    "text": "ZCZC UA76\n060320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING NR. 196/26 APR 04\nADRIATIC SEA - TRIESTE -\nFROM 041800 UTC UNTILL TO 051800 UTC APR 2026\nTRIESTE VTS IS N.O. (NOT OPERATIONAL)\n_''._6*!_!_.*_!_*._0_609,9,++!!!:\n+:+: 7-77\n060320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 001/26 JAN 01 (24 REPETITION)\nSOUTHERN ADRI_F_MJPM_MGLYFWFJF_FM 01 JAN UNTIL 31 DEC 2026 FROM LOCAL TIME 06.00 TO 24.00,\nWITH EXCLUSION OF NATIONAL HOLIDAYS AND JULY AND AUGUST, WILL BE\nCARRIED OUT A MILITARY ACTIVITY WITH SMALL WEAPONS IN THE AREA\nIN FRONT OF TORRE CAVALLO FIRING RANGE:\nA) 40 38' 40''N - 18 01' 12''E, B) 40 39' 869''N - 18 03' 669''E,\nC) 40 39' 02''N - 18 04' 24''E, D) 40 37' 51''N - 18 04' 27''E,\nE) 40 36' 39''N -.1!.PJ__E, F) 40 38' 08''N - 18 01' 12''E.\nTRANSIT, ANCHORAGE AND FISHING ARE PROHIBITED.\nNNNN",
    "clean_text": "ZCZC UA76\n060320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING NR. 196/26 APR 04\nADRIATIC SEA - TRIESTE -\nFROM 041800 UTC UNTILL TO 051800 UTC APR 2026\nTRIESTE VTS IS N.O. (NOT OPERATIONAL)\n_''._6*!_!_.*_!_*._0_609,9,++!!!:\n+:+: 7-77\n060320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 001/26 JAN 01 (24 REPETITION)\nSOUTHERN ADRI_F_MJPM_MGLYFWFJF_FM 01 JAN UNTIL 31 DEC 2026 FROM LOCAL TIME 06.00 TO 24.00,\nWITH EXCLUSION OF NATIONAL HOLIDAYS AND JULY AND AUGUST, WILL BE\nCARRIED OUT A MILITARY ACTIVITY WITH SMALL WEAPONS IN THE AREA\nIN FRONT OF TORRE CAVALLO FIRING RANGE:\nA) 40 38' 40''N - 18 01' 12''E, B) 40 39' 869''N - 18 03' 669''E,\nC) 40 39' 02''N - 18 04' 24''E, D) 40 37' 51''N - 18 04' 27''E,\nE) 40 36' 39''N -.1!.PJ__E, F) 40 38' 08''N - 18 01' 12''E.\nTRANSIT, ANCHORAGE AND FISHING ARE PROHIBITED.\nNNNN",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Adriatic Sea and central Italian coast. Readable text says: Transit, anchorage and fishing are prohibited.",
    "decoded_highlights": [
      "Transit, anchorage and fishing are prohibited",
      "Coastal warning 001/26 jan 01 (24 repetition)",
      "Carried out a military activity with small weapons in the area"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 127,
    "heading": "2026-04-06 06:20:57 AREA: U",
    "published_at": "2026-04-06 06:20:57",
    "area": "U",
    "message_id": "UA75",
    "text": "ZCZC UA75\n060320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 148/26 MAR 24 (3 RE_PHFHFZ_SO\nG_PHYSMWYFHF_MJPM_MG_PJXY__LIGHTHOUSE OF PESCARA I.L\nOMP_C M__P\nUP E_PHMGFM_ZJFHFZ_LAT 42 27.9'N - LONG 014 14.0'E\nNOT WORKING.\n\n\nONNIII_\nZCZC",
    "clean_text": "ZCZC UA75\n060320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 148/26 MAR 24 (3 RE_PHFHFZ_SO\nG_PHYSMWYFHF_MJPM_MG_PJXY__LIGHTHOUSE OF PESCARA I.L\nOMP_C M__P\nUP E_PHMGFM_ZJFHFZ_LAT 42 27.9'N - LONG 014 14.0'E\nNOT WORKING.\n\nONNIII_\nZCZC",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Adriatic Sea and central Italian coast. Readable text says: G physmwyfhf mjpm mg pjxy lighthouse of pescara i.l. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "G physmwyfhf mjpm mg pjxy lighthouse of pescara i.l",
      "Coastal warning 148/26 mar 24 (3 re phfhfz so",
      "Up e phmgfm zjfhfz lat 42 27.9'n - long 014 14.0'e"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 128,
    "heading": "2026-04-06 06:20:18 AREA: U",
    "published_at": "2026-04-06 06:20:18",
    "area": "U",
    "message_id": "UA70",
    "text": "ZCZC UA70\n060320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING NR. 173/26 MAR _3.=0._6!'_!+\n'9,_26!_!_.*0._.__00-!._._')60''.!*'29,!._*\n_9,.6_.Y_UG_M_M_U_U_FGPONSF_DHDZCJPMYM\nY _BYHMGFH_JGJMZHM_ZYVFONONNIII\nZCZC",
    "clean_text": "ZCZC UA70\n060320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING NR. 173/26 MAR _3.=0._6!'_!+\n'9,_26!_!_.*0._.__00-!._._')60''.!*'29,!._*\n_9,.6_.Y_UG_M_M_U_U_FGPONSF_DHDZCJPMYM\nY _BYHMGFH_JGJMZHM_ZYVFONONNIII\nZCZC",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Adriatic Sea and central Italian coast. Readable text says: Coastal warning nr. 173/26 mar 3. 0. 6!' !. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Coastal warning nr. 173/26 mar 3. 0. 6!' !",
      "Y byhmgfh jgjmzhm zyvfononniii",
      "Mondolfo radio"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 129,
    "heading": "2026-04-06 06:19:08 AREA: T",
    "published_at": "2026-04-06 06:19:08",
    "area": "T",
    "message_id": "TA99",
    "text": "ZCZC TA99\n_54 UTC JAN\nOOSTENDERADIO MSI 027/26\nBE EEZ\nHYDROGRAPHICAL INSTRUMENT ESTABLISHED IN POS 5127.375N 00222.306E \nUNMARKED\nSHIPPING IS REQUESTED NOT TO FISH NOR TO ANCHOR IN THEV\nF__$1_+_!===_==_7_\nZCZC",
    "clean_text": "ZCZC TA99\n_54 UTC JAN\nOOSTENDERADIO MSI 027/26\nBE EEZ\nHYDROGRAPHICAL INSTRUMENT ESTABLISHED IN POS 5127.375N 00222.306E\nUNMARKED\nSHIPPING IS REQUESTED NOT TO FISH NOR TO ANCHOR IN THEV\nF__$1_+_!===_==_7_\nZCZC",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Shipping is requested not to fish nor to anchor in thev. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping is requested not to fish nor to anchor in thev",
      "Hydrographical instrument established in pos 5127.375n 00222.306e",
      "Unmarked"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 130,
    "heading": "2026-04-06 06:15:04 AREA: T",
    "published_at": "2026-04-06 06:15:04",
    "area": "T",
    "message_id": "TA28",
    "text": "ZCZC TA28\nCOASTAL WARNING NR.035/26 MAR 29\n_ARNA__A - MEDITGRNEAN SEA -\nFOLLO_ING TRACK:\n38 28.636N 010 57.599E\n38 26.655N 010 45.771E\n38 27.152N _1_9 01.813N 009 20.374E\n39 06.532N 009 21.151E\n39 11.429N 009 20.377E\nFROM 30TH MAR 2026 UNTIL 30TH JUN 20-_9 5__ 43_8,-, M/P REGINA II, M/P NICOLA ARENA, M/P MARCANTONIO C_M/P JIJEL, M/P RIUCCIO, ____ =_::-49, ___5=____6+_._P OMAR, M/P MATTEO, M/P RE, (9\n__:9-:8'59,3, M/P FANTE DI PICHE, M/P GISELLA\nP GEMIN__9\n_2!*_0:*.2.'0+62+._!'_._66_.+:_.+_0_+34_____1.39(19(_-/$_1._(3B_K_EY MUST BE CONSIDERED VESSELS RESTRICTED IN THEM ABILITY TO MANOEUVRE SHIPPING FISHING-ANCHORAGE AND EVERY SURFACE/UNDERWATER ACTIVITY IS DANGEROUS.\n_LL TRA_SITING SHIPS B_WARE.\nN_N_\n___________T \nBE __Z \n_MONGIII_X\n-_+$_.(_,.GOG:::-.-.__\n73+:+: 5-81\n_UTC MAR\nOOSTENDERADIO MSI 101/26\n(-W_STHINDER \nWESTHINDER MEASURING PO_E, 51-23.31N \n_U_UEBUEGPMONGSF_DHMCYPSFLSPONGONNIII___QUU_\nU__\n__\nA_W_XCW_V_350/25\nOZJHPWP_GAPPLYC___O_G_DFMZMHDPMJPIII_WMFMHDPM\nF_F_H_MONGZ.\n_ __5N 003-03,75EON_J_FBMFKYPFJM_PPWHPWMZHMHZM_DZYMONGZYMHZMIIK_!*$.!._$0.\n!_(_\nNNNN",
    "clean_text": "ZCZC TA28\nCOASTAL WARNING NR.035/26 MAR 29\n_ARNA__A - MEDITGRNEAN SEA -\nFOLLO_ING TRACK:\n38 28.636N 010 57.599E\n38 26.655N 010 45.771E\n38 27.152N _1_9 01.813N 009 20.374E\n39 06.532N 009 21.151E\n39 11.429N 009 20.377E\nFROM 30TH MAR 2026 UNTIL 30TH JUN 20-_9 5__ 43_8,-, M/P REGINA II, M/P NICOLA ARENA, M/P MARCANTONIO C_M/P JIJEL, M/P RIUCCIO, ____ =_::-49, ___5=____6+_._P OMAR, M/P MATTEO, M/P RE, (9\n__:9-:8'59,3, M/P FANTE DI PICHE, M/P GISELLA\nP GEMIN__9\n_2!*_0:*.2.'0+62+._!'_._66_.+:_.+_0_+34_____1.39(19(_-/$_1._(3B_K_EY MUST BE CONSIDERED VESSELS RESTRICTED IN THEM ABILITY TO MANOEUVRE SHIPPING FISHING-ANCHORAGE AND EVERY SURFACE/UNDERWATER ACTIVITY IS DANGEROUS.\n_LL TRA_SITING SHIPS B_WARE.\nN_N_\n___________T\nBE __Z\n_MONGIII_X\n-_+$_.(_,.GOG:::-.-.__\n73+:+: 5-81\n_UTC MAR\nOOSTENDERADIO MSI 101/26\n(-W_STHINDER\nWESTHINDER MEASURING PO_E, 51-23.31N\n_U_UEBUEGPMONGSF_DHMCYPSFLSPONGONNIII___QUU_\nU__\n__\nA_W_XCW_V_350/25\nOZJHPWP_GAPPLYC___O_G_DFMZMHDPMJPIII_WMFMHDPM\nF_F_H_MONGZ.\n_ __5N 003-03,75EON_J_FBMFKYPFJM_PPWHPWMZHMHZM_DZYMONGZYMHZMIIK_!*$.!._$0.\n!_(_\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: 2! 0: .2.'0 62 . !' . 66 . : . 0 34 1.39(19( -/$ 1. (3b k ey must be considered vessels restricted in them ability to manoeuvre shipping fishing-anchorage and every surface/underwater activity is dangerous. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "2! 0: .2.'0 62 . !' . 66 . : . 0 34 1.39(19( -/$ 1. (3b k ey must be considered vessels restricted in them ability to manoeuvre shipping fishing-anchorage and every surface/underwater activity is dangerous",
      "Coastal warning nr.035/26 mar 29",
      "9-:8'59,3, m/p fante di piche, m/p gisella"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 131,
    "heading": "2026-04-06 06:11:27 AREA: T",
    "published_at": "2026-04-06 06:11:27",
    "area": "T",
    "message_id": "TA89",
    "text": "ZCZC TA89\n_,5. ,4 39/2026\nLOGISTIC SUPPORT IS _D_IYPWML_MHDPMJDFM_VGBYFWF_PM\nH_FSMGHZMHDPMYFM_VGJDHYH_ 011-_9_5 _ 7,58) 1) JULY 2026.\n\nCOKTCNOYMONGJ _L PURP__U_ BUOY OWFA, W. FL 5S, \n51-41.6\n5=\n_U___ ESTABLISHED  \nCANCEL THIS MTS_EPC_\nC_ _\n\n___UJTAV__XZ_D_J_WXWY\nVAARHQZ_PQ \n LSG_TBUOY _G5, __-2_\n__4_9, VEL_NO AND ELAMAS WILL CARRY OUT OCEANOGRAPHIC SURVAY ABOUT SUBMARINE CA_LE _DHUHFM _ _T BE CO_SIDERED VESSELS RESTRICTED IN THEM ABILITY TO MAN_TI SHIPPING FISHING-ANCHORAGE AND EVERY SURFACE/UNDERWATER ACTIVCTY IS DANGEROUS._ _''._6*!_!_.*_!_*.)0_6_\n,,,,\n\n_\nZCZC",
    "clean_text": "ZCZC TA89\n_,5. ,4 39/2026\nLOGISTIC SUPPORT IS _D_IYPWML_MHDPMJDFM_VGBYFWF_PM\nH_FSMGHZMHDPMYFM_VGJDHYH_ 011-_9_5 _ 7,58) 1) JULY 2026.\n\nCOKTCNOYMONGJ _L PURP__U_ BUOY OWFA, W. FL 5S,\n51-41.6\n5=\n_U___ ESTABLISHED\nCANCEL THIS MTS_EPC_\nC_ _\n\n___UJTAV__XZ_D_J_WXWY\nVAARHQZ_PQ\nLSG_TBUOY _G5, __-2_\n__4_9, VEL_NO AND ELAMAS WILL CARRY OUT OCEANOGRAPHIC SURVAY ABOUT SUBMARINE CA_LE _DHUHFM _ _T BE CO_SIDERED VESSELS RESTRICTED IN THEM ABILITY TO MAN_TI SHIPPING FISHING-ANCHORAGE AND EVERY SURFACE/UNDERWATER ACTIVCTY IS DANGEROUS._ _''._6*!_!_.*_!_*.)0_6_\n,,,,\n\n_\nZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code T. Readable text says: 4 9, vel no and elamas will carry out oceanographic survay about submarine ca le dhuhfm t be co sidered vessels restricted in them ability to man ti shipping fishing-anchorage and every surface/underwater activcty is dangerous. ''. 6 ! ! . ! .)0 6. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "4 9, vel no and elamas will carry out oceanographic survay about submarine ca le dhuhfm t be co sidered vessels restricted in them ability to man ti shipping fishing-anchorage and every surface/underwater activcty is dangerous. ''. 6 ! ! . ! .)0 6",
      "Coktcnoymongj l purp u buoy owfa, w. fl 5s",
      "Logistic support is d iypwml mhdpmjdfm vgbyfwf pm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 132,
    "heading": "2026-04-06 06:06:27 AREA: S",
    "published_at": "2026-04-06 06:06:27",
    "area": "S",
    "message_id": "SE83",
    "text": "ZCZC SE83\n0_Q_MG__HPT_G__LCYM_VG_X_\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nMONDAY:\nWIND: WEST TO NORTHWEST 5 TO 6, LATER VARIABLE WINDS ABOUT 3.\nVISIBILITY/WEATHER: GOOD VISIBILITY.\nSEA: FIRST 4 METER.\n\nTUESDAY:\nWIND: VARIABLE WINDS ABOUT 3, LATER SHIFTING EAST TO SOUTHEAST.\nVISIBILITY/WEATHER: GOOD VISIBILITY.\nSEA: 1,5 METER.\nNNNN",
    "clean_text": "ZCZC SE83\n0_Q_MG__HPT_G__LCYM_VG_X_\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nMONDAY:\nWIND: WEST TO NORTHWEST 5 TO 6, LATER VARIABLE WINDS ABOUT 3.\nVISIBILITY/WEATHER: GOOD VISIBILITY.\nSEA: FIRST 4 METER.\n\nTUESDAY:\nWIND: VARIABLE WINDS ABOUT 3, LATER SHIFTING EAST TO SOUTHEAST.\nVISIBILITY/WEATHER: GOOD VISIBILITY.\nSEA: 1,5 METER.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "GERMAN BIGHT"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Germany - German Bight and German North Sea. Readable text says: Visibility/weather: good visibility. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Visibility/weather: good visibility",
      "Weatherforecast for german bight",
      "Wind: west to northwest 5 to 6, later variable winds about 3"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 134,
    "heading": "2026-04-06 06:04:37 AREA: S",
    "published_at": "2026-04-06 06:04:37",
    "area": "S",
    "message_id": "SA79",
    "text": "ZCZC SA79\nNCC-HAMBURG\nN\nPNFPMG_HXM_YM\n__ONG_WARN. NO. 18:\n__06_.)!_$_\n_9,_+_943 28,$0-4( 'NORDSEE OST'.\n5 SM LF_DH__MF_Z_PYHF_PM_YZJJMHDPMPHFYPM_F_M_YB_NNNN",
    "clean_text": "ZCZC SA79\nNCC-HAMBURG\nN\nPNFPMG_HXM_YM\n__ONG_WARN. NO. 18:\n__06_.)!_$_\n_9,_+_943 28,$0-4( 'NORDSEE OST'.\n5 SM LF_DH__MF_Z_PYHF_PM_YZJJMHDPMPHFYPM_F_M_YB_NNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NCC HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text says: Ncc-hamburg. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ncc-hamburg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 138,
    "heading": "2026-04-06 06:01:14 AREA: S",
    "published_at": "2026-04-06 06:01:14",
    "area": "S",
    "message_id": "",
    "text": "ZCZC SA!09,_/__-._74_\n\n__UMG_H_MYM\n_NAV. WARN. NO. 194\n___34.-, _8__5. WEISSE BANK.\nSURVEY_ZPYHFZJML_ 'FUGRO SYNERGY', CS 'C6XR3',\nAROUND POSITION 54-47,3N 005-58,3E\nRESTRICTED MANOEVRABILITY DURING OPERATIONS,\nBERTH OF 2 NM REQUESTED.\nNNNN",
    "clean_text": "ZCZC SA!09,_/__-._74_\n\n__UMG_H_MYM\n_NAV. WARN. NO. 194\n___34.-, _8__5. WEISSE BANK.\nSURVEY_ZPYHFZJML_ 'FUGRO SYNERGY', CS 'C6XR3',\nAROUND POSITION 54-47,3N 005-58,3E\nRESTRICTED MANOEVRABILITY DURING OPERATIONS,\nBERTH OF 2 NM REQUESTED.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "WEISSE BANK"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Germany - German Bight and German North Sea. Readable text says: Survey zpyhfzjml 'fugro synergy', cs 'c6xr3'. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Survey zpyhfzjml 'fugro synergy', cs 'c6xr3'",
      "Around position 54-47,3n 005-58,3e",
      "Restricted manoevrability during operations"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 140,
    "heading": "2026-04-06 05:41:10 AREA: Q",
    "published_at": "2026-04-06 05:41:10",
    "area": "Q",
    "message_id": "QE93",
    "text": "ZCZC QE93\n E_UYMG_BXOK4(49,_0)85 4-$89\n\n23-5_34 _7))358, !94 -$48-58: 8''73$ _6 5_3 .-48,3 .353949)9_8:-) _-,_06.*_ 9, 06/04/2026 AT 0000 UTC\n\n1. WARNING:\nON N-ERN ADRIATIC LOC POSS FOG, MOSTLY OVERNIGHT/MORNING.\n\n2. SYNOPSIS:\nHIGH PRESSURE AREA PERSISTS OVER THE ADRIATIC, \n -9,'_._0=002._6+_'.2!*_:6)_0.7!_$.'+_._+._$0..+_._$0.26!_!_.!_._+__._+.0_\n3. FORECAST FOR THE NEXT 24 HOURS VALID UNTIL 07/04/2026 AT 0000 UTC\n\nN-ERN ADRIATIC:\nOVERNIGHT/MORNING CAM OR VRB WIND 4-8 KT, AFTERNOON SW/NW 4-12 KT.\nSEA 1-2.\nVIS 10-20 KM, LOC POSS LESS THEN 1 KM DUE TO FOG, MOSTLY OVERNIGHT/MORNING.\nMOSTLY CLEAR, LOC MOD CLOUDINESS.\n\n\nCENTRAL ADRIATIC:\nSTILL AT FIRST NW WIND 4-14 KT, THEN CALM OR VRB WIND 4-8 KT, AFTERNOON SW/NW 4-12 KT.\nSEA 1-2, STILL AT FIRST ON FAR S-ERN AREA 2-3.\nVIS 10-20 KM.\nMOSTLY CLEAR.\n\nS-ERN ADRIATIC:\n JHFSSM_RST NW WC.6:6__=__.__$0._'_.+_._6)__8_EKGB_ AFTERNOON SW/NW 4-12 KT.\nSEA 1-2, FTFSSMHM_FYJHMZ_ORE 2-3.\nV_J \n__UM_VB_BO_G_ZJ_SEM_SP_Y_NNNN",
    "clean_text": "ZCZC QE93\nE_UYMG_BXOK4(49,_0)85 4-$89\n\n23-5_34 _7))358, !94 -$48-58: 8''73$ _6 5_3 .-48,3 .353949)9_8:-) _-,_06.*_ 9, 06/04/2026 AT 0000 UTC\n\n1. WARNING:\nON N-ERN ADRIATIC LOC POSS FOG, MOSTLY OVERNIGHT/MORNING.\n\n2. SYNOPSIS:\nHIGH PRESSURE AREA PERSISTS OVER THE ADRIATIC,\n-9,'_._0=002._6+_'.2!*_:6)_0.7!_$.'+_._+._$0..+_._$0.26!_!_.!_._+__._+.0_\n3. FORECAST FOR THE NEXT 24 HOURS VALID UNTIL 07/04/2026 AT 0000 UTC\n\nN-ERN ADRIATIC:\nOVERNIGHT/MORNING CAM OR VRB WIND 4-8 KT, AFTERNOON SW/NW 4-12 KT.\nSEA 1-2.\nVIS 10-20 KM, LOC POSS LESS THEN 1 KM DUE TO FOG, MOSTLY OVERNIGHT/MORNING.\nMOSTLY CLEAR, LOC MOD CLOUDINESS.\n\nCENTRAL ADRIATIC:\nSTILL AT FIRST NW WIND 4-14 KT, THEN CALM OR VRB WIND 4-8 KT, AFTERNOON SW/NW 4-12 KT.\nSEA 1-2, STILL AT FIRST ON FAR S-ERN AREA 2-3.\nVIS 10-20 KM.\nMOSTLY CLEAR.\n\nS-ERN ADRIATIC:\nJHFSSM_RST NW WC.6:6__=__.__$0._'_.+_._6)__8_EKGB_ AFTERNOON SW/NW 4-12 KT.\nSEA 1-2, FTFSSMHM_FYJHMZ_ORE 2-3.\nV_J\n__UM_VB_BO_G_ZJ_SEM_SP_Y_NNNN",
    "resolved_station_name": "Split",
    "resolved_country": "Croatia",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "ADRIATIC"
    ],
    "display_region_heading": "Croatia - Adriatic Sea",
    "display_region_label": "Split, Croatia",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Croatia - Adriatic Sea. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "On n-ern adriatic loc poss fog, mostly overnight/morning",
      "Vis 10-20 km, loc poss less then 1 km due to fog, mostly overnight/morning",
      "3. forecast for the next 24 hours valid until 07/04/2026 at 0000 utc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 146,
    "heading": "2026-04-06 05:30:00 AREA: P",
    "published_at": "2026-04-06 05:30:00",
    "area": "P",
    "message_id": "PE84",
    "text": "ZCZC PE84\n060106 UTC APR 26\nFORECAST DUTCH EEZ FJJCPWMHM_UPXP_MG_HXM_H__EONGHDPYPMYPMZM_YFJ_BONONGJ_ZJFJONDFD__M _ OVER NORTHEASTERN FRANCE WILL MZ_PMHZMHDPMONPHDPYSWJ_\nFORECAST VALID MONDAY 03:00 TILL MONDAY 15:00 UTC\n\nTHAMES \nNORTHWEST 3-4, FROM THE SOUTH SOON DECREASING VARIABLE 1-3.\nGOOD.\nWAVEHEIGHT 1.0-1.5 METER, LATER DECREASING 0.5-1.0 MET_Y_\n\nHUMBER \nWEST TO NORTHWEST 4-5, SOON YP_PFPJPMGMGWP_YPJFM_UPMONGSHPYML_G SOUTH TO SOUTHWEST.\nGOOD.\nWAVEHEIGHT 2.0-2.5 METER, DECREASING 1.5-2.0 METER, LATER 1.\n0-1.5 METER.\n\n\nGERMAN BIGHT \nWEST TZMZYHD_PJ_M_HEMGWP_YPJFM_YHMGSHPYM_PY_ONG_ZZ__WAVEHEIGHT 2.0-3.0 METER, DECREASING 2.0-2.5 METER.\n\n\nDOGGER \nWEST TO NORTHWEST 5-6, SOON DECREASING 4-5, DECREASING 3-4, \nLATER SOUTHWEST 2-3.\nGOOD.\nWAVEHEIGHT 2.5-3.5 METER, GRADUALLY DECREASING 1.5-2.0 \nMETER.\n\n\nFORECAST VALID MONDAY 15:_0.__!''._:0*23._PX__GVH_ONONHD_PJMON_YFLSPM__PMGJZZMF_YPJF_MPJHMHZMZYHDPJHM_PYMONGZ_ALLY 5, VEERING EAST TO SOUTHEAST.\nGOOD.\nWAVEHEIGHT 0.5-1.0 METER.\n\n\nHUMBER \nSOUHDMHZMJZCHD_PJ_M_N SOON BACKING SOUTH TO SOUTHEASH_MONGF_YPJFM_UYBONG_ZZ__WAVEHEIGHT 1.0-1.5 MEHVY_MGSHPYMWP_YPJFM\n__P METER.\n\n\nGERMAN BIGHT \nWEST TO NORTHWEST 3-4, DECREASING VARIABLE 1-3.\nGOOD.\nWAVEHEIGHT 2.0-2.5 METER, IN THE COASTAL AREA AROUND 1.5 \nMETER, SOON DECREASING 1.5-2.0 METER, LATER 1.0-1.5 METER.\n\n\nDOGGER \nNJZCHD_PJ\nOKKNB_K\n_\nI_.\nWAVEHEIGHT 1.5-2__3534, D_60*!.\n __ BH\n__PH_Y_\n\n\n\nNNNN",
    "clean_text": "ZCZC PE84\n060106 UTC APR 26\nFORECAST DUTCH EEZ FJJCPWMHM_UPXP_MG_HXM_H__EONGHDPYPMYPMZM_YFJ_BONONGJ_ZJFJONDFD__M _ OVER NORTHEASTERN FRANCE WILL MZ_PMHZMHDPMONPHDPYSWJ_\nFORECAST VALID MONDAY 03:00 TILL MONDAY 15:00 UTC\n\nTHAMES\nNORTHWEST 3-4, FROM THE SOUTH SOON DECREASING VARIABLE 1-3.\nGOOD.\nWAVEHEIGHT 1.0-1.5 METER, LATER DECREASING 0.5-1.0 MET_Y_\n\nHUMBER\nWEST TO NORTHWEST 4-5, SOON YP_PFPJPMGMGWP_YPJFM_UPMONGSHPYML_G SOUTH TO SOUTHWEST.\nGOOD.\nWAVEHEIGHT 2.0-2.5 METER, DECREASING 1.5-2.0 METER, LATER 1.\n0-1.5 METER.\n\nGERMAN BIGHT\nWEST TZMZYHD_PJ_M_HEMGWP_YPJFM_YHMGSHPYM_PY_ONG_ZZ__WAVEHEIGHT 2.0-3.0 METER, DECREASING 2.0-2.5 METER.\n\nDOGGER\nWEST TO NORTHWEST 5-6, SOON DECREASING 4-5, DECREASING 3-4,\nLATER SOUTHWEST 2-3.\nGOOD.\nWAVEHEIGHT 2.5-3.5 METER, GRADUALLY DECREASING 1.5-2.0\nMETER.\n\nFORECAST VALID MONDAY 15:_0.__!''._:0*23._PX__GVH_ONONHD_PJMON_YFLSPM__PMGJZZMF_YPJF_MPJHMHZMZYHDPJHM_PYMONGZ_ALLY 5, VEERING EAST TO SOUTHEAST.\nGOOD.\nWAVEHEIGHT 0.5-1.0 METER.\n\nHUMBER\nSOUHDMHZMJZCHD_PJ_M_N SOON BACKING SOUTH TO SOUTHEASH_MONGF_YPJFM_UYBONG_ZZ__WAVEHEIGHT 1.0-1.5 MEHVY_MGSHPYMWP_YPJFM\n__P METER.\n\nGERMAN BIGHT\nWEST TO NORTHWEST 3-4, DECREASING VARIABLE 1-3.\nGOOD.\nWAVEHEIGHT 2.0-2.5 METER, IN THE COASTAL AREA AROUND 1.5\nMETER, SOON DECREASING 1.5-2.0 METER, LATER 1.0-1.5 METER.\n\nDOGGER\nNJZCHD_PJ\nOKKNB_K\n_\nI_.\nWAVEHEIGHT 1.5-2__3534, D_60*!.\n__ BH\n__PH_Y_\n\nNNNN",
    "resolved_station_name": "Netherlands Coastguard Radio",
    "resolved_country": "Netherlands",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Dutch EEZ and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "DUTCH EEZ"
    ],
    "display_region_heading": "Netherlands - Dutch EEZ and southern North Sea",
    "display_region_label": "Netherlands Coastguard Radio, Netherlands",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Netherlands - Dutch EEZ and southern North Sea. Readable text says: Forecast dutch eez fjjcpwmhm upxp mg hxm h eonghdpypmypmzm yfj bonongj zjfjondfd m over northeastern france will mz pmhzmhdpmonphdpyswj. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Forecast dutch eez fjjcpwmhm upxp mg hxm h eonghdpypmypmzm yfj bonongj zjfjondfd m over northeastern france will mz pmhzmhdpmonphdpyswj",
      "Forecast valid monday 03:00 till monday 15:00 utc",
      "Forecast valid monday 15: 0. !''. :0 23. px gvh ononhd pjmon yflspm pmgjzzmf ypjf mpjhmhzmzyhdpjhm pymongz ally 5, veering east to southeast"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 147,
    "heading": "2026-04-06 05:29:59 AREA: T",
    "published_at": "2026-04-06 05:29:59",
    "area": "T",
    "message_id": "",
    "text": "CZCZC",
    "clean_text": "CZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 148,
    "heading": "2026-04-06 05:24:42 AREA: O",
    "published_at": "2026-04-06 05:24:42",
    "area": "O",
    "message_id": "OA33",
    "text": "ZCZC OA33\nCOASTAL WRNG NR 040/26 GEN 23\nTRAIT OF SICILY LMP\n\nARTIALLY SUBMERGED RUBBER BOAT IN POSN 35 29.+27, 012 08.22E  SHIPS IN TRANSIT BEWARE\nNNNN",
    "clean_text": "ZCZC OA33\nCOASTAL WRNG NR 040/26 GEN 23\nTRAIT OF SICILY LMP\n\nARTIALLY SUBMERGED RUBBER BOAT IN POSN 35 29.+27, 012 08.22E SHIPS IN TRANSIT BEWARE\nNNNN",
    "display_region_heading": "Unresolved B1 code O",
    "display_region_label": "B1 code O",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code O. Readable text says: Artially submerged rubber boat in posn 35 29. 27, 012 08.22e ships in transit beware.",
    "decoded_highlights": [
      "Artially submerged rubber boat in posn 35 29. 27, 012 08.22e ships in transit beware",
      "Coastal wrng nr 040/26 gen 23",
      "Trait of sicily lmp"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 149,
    "heading": "2026-04-06 05:23:26 AREA: T",
    "published_at": "2026-04-06 05:23:26",
    "area": "T",
    "message_id": "",
    "text": "ZCSC O_IRISH SEA.\n798__1. TURBINE DBQ TRAPTMYG_\n.\n2. CANCEL WZ \nC TUE\nVGZFFWBW_____09_97__+!6*=_0_+_Z__ZB_DZ\n\nQ\nF_\nCD_V_0_ 8' )-8$ -)9,_ 5_3 )8,3 !49. __ - 59 098,5 _,\n!!97) -43- - KEEP A SAFE AISTAN_E \n\nH OF ANCHOR (MOANT A) 35-57.____.\n___ +_FGP_F_ZJMZ_MZ_Z_M_VXZFHML_SMPHHIOUP __\nXOYE\nNNNN",
    "clean_text": "ZCSC O_IRISH SEA.\n798__1. TURBINE DBQ TRAPTMYG_\n.\n2. CANCEL WZ\nC TUE\nVGZFFWBW_____09_97__+!6*=_0_+_Z__ZB_DZ\n\nQ\nF_\nCD_V_0_ 8' )-8$ -)9,_ 5_3 )8,3 !49. __ - 59 098,5 _,\n!!97) -43- - KEEP A SAFE AISTAN_E\n\nH OF ANCHOR (MOANT A) 35-57.____.\n___ +_FGP_F_ZJMZ_MZ_Z_M_VXZFHML_SMPHHIOUP __\nXOYE\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: H of anchor (moant a) 35-57. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "H of anchor (moant a) 35-57",
      "!!97) -43- - keep a safe aistan e",
      "798 1. turbine dbq traptmyg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 150,
    "heading": "2026-04-06 05:20:58 AREA: O",
    "published_at": "2026-04-06 05:20:58",
    "area": "O",
    "message_id": "",
    "text": "ZCZC O___9,._ AT 052 _0 UTC\n\n\n A RIDGE OF HIGH PRESSURE OVER THE SOUTHERN N SEA ON TUE EVENING WILL DRIFT E WITH N2 _8__ 3/0 '975_34, _-)58: 1033 BY MIDDAY ON WED BEFORE DRIFTING AWAY__TANWHILE, DE_ELOPING LOW WILL MOV NE, EXP ICELAND 978 BY WED EVENING WITH ASSOCIATED TRO_GHKMB__MP\nZ\nPY_C_MWMJ_SYZCWFMH\nY_ N ON THU WITH DEW _IGH _XP BISCAY 1031 OI THU EVENI3:_4-,:( ___ !48. NE_ DAVELOPANG LOW MOV NE,8EXP SE RCDZZ\nD 968 BY LTR O F I. GAOKA_NM_\n_OQY__MFMS_N ALL_A_UAS E_CEPT LUNDY, FASTNET AND IRISH SQAM_DPQMMJHYINDS ANEUS_V_NNNN",
    "clean_text": "ZCZC O___9,._ AT 052 _0 UTC\n\nA RIDGE OF HIGH PRESSURE OVER THE SOUTHERN N SEA ON TUE EVENING WILL DRIFT E WITH N2 _8__ 3/0 '975_34, _-)58: 1033 BY MIDDAY ON WED BEFORE DRIFTING AWAY__TANWHILE, DE_ELOPING LOW WILL MOV NE, EXP ICELAND 978 BY WED EVENING WITH ASSOCIATED TRO_GHKMB__MP\nZ\nPY_C_MWMJ_SYZCWFMH\nY_ N ON THU WITH DEW _IGH _XP BISCAY 1031 OI THU EVENI3:_4-,:( ___ !48. NE_ DAVELOPANG LOW MOV NE,8EXP SE RCDZZ\nD 968 BY LTR O F I. GAOKA_NM_\n_OQY__MFMS_N ALL_A_UAS E_CEPT LUNDY, FASTNET AND IRISH SQAM_DPQMMJHYINDS ANEUS_V_NNNN",
    "display_region_heading": "Unresolved B1 code O",
    "display_region_label": "B1 code O",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code O. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "A ridge of high pressure over the southern n sea on tue evening will drift e with n2 8 3/0 '975 34, -)58: 1033 by midday on wed before drifting away tanwhile, de eloping low will mov ne, exp iceland 978 by wed evening with associated tro ghkmb mp",
      "Y n on thu with dew igh xp biscay 1031 oi thu eveni3: 4-,:( !48. ne davelopang low mov ne,8exp se rcdzz",
      "D 968 by ltr o f i. gaoka nm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 155,
    "heading": "2026-04-06 05:10:13 AREA: N",
    "published_at": "2026-04-06 05:10:13",
    "area": "N",
    "message_id": "NE16",
    "text": "ZCZC NE16\n052300 UTC M_V\n_WEATHER BULLETIN ISSUED BY NORWEGIAN METEO_GICAL __F_TE\n  SYNOPTIC SITUATION TODAY AT 18 UTC:\nLOW 983 HPA, 69 N 07 E, MOV S EXP 1006 HPA AT 66 N 08 E MON 18 UTC_M\nW 980 HPA, 61 N 07 E, MOV E EXP 994 HPA AT 59 N 25 E MON 18 UTFW_\nSIGH 1016 HPA, 77 N 22 E, MOV SW EXP  ,7:._$_._._ N 02 W, MOV NE EXP 1028 HPA AT 53 N 06 E _ON 18 U\nC.\n  FORECAST VALID NEXT 24 HOURS:\n  EAST-TAMPEN\nVRB 5, OCNL NW GALE 89._1+:$_._+_'._\n6-\n_, MO_, BECMG DRY_OD.\n  STOREGGA\nDW _D_VJ__YMHZMUM_WXSKKNBNXBEAXEWBRBBNEV_ BECMG DRY, GOOD_\n  FROEYA BANK\nNW 5, INCR TO W NEAR G_NMMZ_\nA\n___HPML_MH_M_YP_UFX_MZPYFWFON_M_AMTZ__MUM_S__ ROC_D_M_Z_SMNPY_MY_I_D_BMGYF_M___W\n__N_EBIRQOHE_M\n  HALTEN BANK\nVRB 5, S_ZMQMYMQM_S_M\nCCMDYBMZ_S_ZPYEMY_CSDYBM_FGYXZ\nG__\nNNNN",
    "clean_text": "ZCZC NE16\n052300 UTC M_V\n_WEATHER BULLETIN ISSUED BY NORWEGIAN METEO_GICAL __F_TE\nSYNOPTIC SITUATION TODAY AT 18 UTC:\nLOW 983 HPA, 69 N 07 E, MOV S EXP 1006 HPA AT 66 N 08 E MON 18 UTC_M\nW 980 HPA, 61 N 07 E, MOV E EXP 994 HPA AT 59 N 25 E MON 18 UTFW_\nSIGH 1016 HPA, 77 N 22 E, MOV SW EXP ,7:._$_._._ N 02 W, MOV NE EXP 1028 HPA AT 53 N 06 E _ON 18 U\nC.\nFORECAST VALID NEXT 24 HOURS:\nEAST-TAMPEN\nVRB 5, OCNL NW GALE 89._1+:$_._+_'._\n6-\n_, MO_, BECMG DRY_OD.\nSTOREGGA\nDW _D_VJ__YMHZMUM_WXSKKNBNXBEAXEWBRBBNEV_ BECMG DRY, GOOD_\nFROEYA BANK\nNW 5, INCR TO W NEAR G_NMMZ_\nA\n___HPML_MH_M_YP_UFX_MZPYFWFON_M_AMTZ__MUM_S__ ROC_D_M_Z_SMNPY_MY_I_D_BMGYF_M___W\n__N_EBIRQOHE_M\nHALTEN BANK\nVRB 5, S_ZMQMYMQM_S_M\nCCMDYBMZ_S_ZPYEMY_CSDYBM_FGYXZ\nG__\nNNNN",
    "resolved_station_name": "Orlandet",
    "resolved_country": "Norway",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Norwegian Sea and central Norwegian coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "STOREGGA",
      "HALTEN BANK",
      "FROEYA"
    ],
    "display_region_heading": "Norway - Norwegian Sea and central Norwegian coast",
    "display_region_label": "Orlandet, Norway",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Norway - Norwegian Sea and central Norwegian coast. Readable text says: Vrb 5, ocnl nw gale 89. 1 :$ . '. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Vrb 5, ocnl nw gale 89. 1 :$ . '",
      "Weather bulletin issued by norwegian meteo gical f te",
      "Low 983 hpa, 69 n 07 e, mov s exp 1006 hpa at 66 n 08 e mon 18 utc m"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 158,
    "heading": "2026-04-06 05:00:39 AREA: T",
    "published_at": "2026-04-06 05:00:39",
    "area": "T",
    "message_id": "",
    "text": "ZCZCCME16\n_052300 UTC APR 26\nWEATHER _ULLETIN ISSUED BY NTRWEGIAM V_TB\nOB_GICAL INST_TUTE\nE SYNOPTIC SITUATION TODAY AT 18 UTC:\nLOW 983 HPA, 69 N 07 E, MOV S EXP =!6_\n+8._.__-\n_9_/_\nLOW 980 HPA, 61 N 07 E, MOV E EXP 994._$_5 59 N 25 E MON 18 UTC.\nHIGH 1016 HPA, 77 N 22 E, MOV SW EXP 1027 HPA AT 74 N 01 E MON 18 UTC.\nHIGH 1025./$_MYZMGM\n___GI_G_ZOMPMP_M\n _UFM_D_MHM_HPMG_N1_\n,_-)9_._\n___WMP_HM\n_YMGD_XRQ__!06.*=_06__9,7._*,_9__*_0OBEC_NB_O_N_R_NQOOEPBEI_EWB_AB_JBGI_D_ HIGH. DRY, GOOD.\n  OUTER SKAGERRAK\nW NEAR LAS\nM_CO___J_EKKNB9__ 6. VERY ROUGH TO_OD\n DRY, GOOD.\n  FISHER\nW NEAR GALE 7, DECR TO 5. VERY ROUGH TO MOD. RAIN, MOD, BECMG DRY, GOBD_ONONGONNIII_V__KAXAUPB_HP NQ_GCHHMHM\n__ORWEGIAN GALE WARNING NO. GX378/2026\nISSUED BY NORW G_AN METEOROLOGNCALIINSTITUTE =.4_20_6(Y_\n_WW+:+: .-25\n05_2_2_)__7_*+__6\nN 189/26\nDENMARK. KATTEGAT. SKAGEN INNER HARBOUR.\nENTRANCE IN PO__O_H_X\n_\n_TMTE\nCLOSED FOR PASSAGE.\nNNNN",
    "clean_text": "ZCZCCME16\n_052300 UTC APR 26\nWEATHER _ULLETIN ISSUED BY NTRWEGIAM V_TB\nOB_GICAL INST_TUTE\nE SYNOPTIC SITUATION TODAY AT 18 UTC:\nLOW 983 HPA, 69 N 07 E, MOV S EXP =!6_\n+8._.__-\n_9_/_\nLOW 980 HPA, 61 N 07 E, MOV E EXP 994._$_5 59 N 25 E MON 18 UTC.\nHIGH 1016 HPA, 77 N 22 E, MOV SW EXP 1027 HPA AT 74 N 01 E MON 18 UTC.\nHIGH 1025./$_MYZMGM\n___GI_G_ZOMPMP_M\n_UFM_D_MHM_HPMG_N1_\n,_-)9_._\n___WMP_HM\n_YMGD_XRQ__!06.*=_06__9,7._*,_9__*_0OBEC_NB_O_N_R_NQOOEPBEI_EWB_AB_JBGI_D_ HIGH. DRY, GOOD.\nOUTER SKAGERRAK\nW NEAR LAS\nM_CO___J_EKKNB9__ 6. VERY ROUGH TO_OD\nDRY, GOOD.\nFISHER\nW NEAR GALE 7, DECR TO 5. VERY ROUGH TO MOD. RAIN, MOD, BECMG DRY, GOBD_ONONGONNIII_V__KAXAUPB_HP NQ_GCHHMHM\n__ORWEGIAN GALE WARNING NO. GX378/2026\nISSUED BY NORW G_AN METEOROLOGNCALIINSTITUTE =.4_20_6(Y_\n_WW+:+: .-25\n05_2_2_)__7_*+__6\nN 189/26\nDENMARK. KATTEGAT. SKAGEN INNER HARBOUR.\nENTRANCE IN PO__O_H_X\n_\n_TMTE\nCLOSED FOR PASSAGE.\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: W near gale 7, decr to 5. very rough to mod. rain, mod, becmg dry, gobd onongonniii v kaxaupb hp nq gchhmhm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "W near gale 7, decr to 5. very rough to mod. rain, mod, becmg dry, gobd onongonniii v kaxaupb hp nq gchhmhm",
      "Orwegian gale warning no. gx378/2026",
      "Weather ulletin issued by ntrwegiam v tb"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 165,
    "heading": "2026-04-06 04:41:14 AREA: K",
    "published_at": "2026-04-06 04:41:14",
    "area": "K",
    "message_id": "",
    "text": "ZCZC KA2+9,__:6_(___)+:6.\nU_TU__V_AZGLLDVGS_MANCHE HOJHONG71__-=8_-589, _$_0**__*_5 _796 - LIGHT UNLIT\nLEZEM_FY_MJ_U_D_CCMC_:(./,__)4'=+\n1__5_ ::_!+9,+_!! __AXA_GM\n_X_WIGHT - LARGE CAYEUX-SUR-MER\nWZYVJO_G_L__ING ZPYHFZONG_YZLO_G_GG__.$__!=5_8=6+_06.+_!_09,_+._!*__)3OH_EKK_)3OUEUEHFE__FF_YDCK__EF__4_(__609,_3KB_AQPMIYGMNG.::_800$___UL_YYUGG_!33_+_\n *606=!/0-13.61N P _AWQMNB($_:,__$_9.:._0_$_)_2_01N 001-17_U_TPAQOMURN 001-04.::_09,$_::_.._)9_9.36N \n_ _ KLEQH_ND_CJUN 00 _7__.::/$__)4_788488_7_AXAXMV_\nU__VURNAV CHERBOURG 26/22+9,__+(__(__71,:_3 3'5\nFWJMHZBLKO3=2__=_,_3'\n,_!*8_54-,'.85534 975 9! '34=!__.\n._'!_$__:+*'-__.)**:68_*ZD_X_X__YKATE WITH CAUHFZONZZ_\nOOOOOOOOZ___M____ZCZC",
    "clean_text": "ZCZC KA2+9,__:6_(___)+:6.\nU_TU__V_AZGLLDVGS_MANCHE HOJHONG71__-=8_-589, _$_0**__*_5 _796 - LIGHT UNLIT\nLEZEM_FY_MJ_U_D_CCMC_:(./,__)4'=+\n1__5_ ::_!+9,+_!! __AXA_GM\n_X_WIGHT - LARGE CAYEUX-SUR-MER\nWZYVJO_G_L__ING ZPYHFZONG_YZLO_G_GG__.$__!=5_8=6+_06.+_!_09,_+._!*__)3OH_EKK_)3OUEUEHFE__FF_YDCK__EF__4_(__609,_3KB_AQPMIYGMNG.::_800$___UL_YYUGG_!33_+_\n*606=!/0-13.61N P _AWQMNB($_:,__$_9.:._0_$_)_2_01N 001-17_U_TPAQOMURN 001-04.::_09,$_::_.._)9_9.36N\n_ _ KLEQH_ND_CJUN 00 _7__.::/$__)4_788488_7_AXAXMV_\nU__VURNAV CHERBOURG 26/22+9,__+(__(__71,:_3 3'5\nFWJMHZBLKO3=2__=_,_3'\n,_!*8_54-,'.85534 975 9! '34=!__.\n._'!_$__:+*'-__.)**:68_*ZD_X_X__YKATE WITH CAUHFZONZZ_\nOOOOOOOOZ___M____ZCZC",
    "resolved_station_name": "Niton (France relay)",
    "resolved_country": "United Kingdom / France",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Channel Islands and north-east French coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "CHERBOURG"
    ],
    "display_region_heading": "United Kingdom / France - Channel Islands and north-east French coast",
    "display_region_label": "Niton (France relay), United Kingdom / France",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom / France - Channel Islands and north-east French coast. Readable text reports an aid-to-navigation fault. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "U tu v azglldvgs manche hojhong71 - 8 -589, $ 0 5 796 - light unlit",
      "X wight - large cayeux-sur-mer"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 166,
    "heading": "2026-04-06 04:35:40 AREA: J",
    "published_at": "2026-04-06 04:35:40",
    "area": "J",
    "message_id": "JA85",
    "text": "ZCZC JA85\n040930 KOCMM_R\nGERMAN NAV WARN 125/26\nSOUTHERN BALTIC. ODERBANK.\nYELLOW LIGHTVJ_YMLCZEM_MFJ_YFHFWBQ_UKQQB_EKK_GO/4(.___DN_3(___1_4,)__,8,_9,,8((((((((((((((((= __\n_ZCZ_ FA71\nTEST\nNNNN",
    "clean_text": "ZCZC JA85\n040930 KOCMM_R\nGERMAN NAV WARN 125/26\nSOUTHERN BALTIC. ODERBANK.\nYELLOW LIGHTVJ_YMLCZEM_MFJ_YFHFWBQ_UKQQB_EKK_GO/4(.___DN_3(___1_4,)__,8,_9,,8((((((((((((((((= __\n_ZCZ_ FA71\nTEST\nNNNN",
    "display_region_heading": "Unresolved B1 code J",
    "display_region_label": "B1 code J",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code J. Readable text says: Yellow lightvj ymlczem mfj yfhfwbq ukqqb ekk go/4(. dn 3( 1 4,) ,8, 9,,8((((((((((((((((. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Yellow lightvj ymlczem mfj yfhfwbq ukqqb ekk go/4(. dn 3( 1 4,) ,8, 9,,8((((((((((((((((",
      "German nav warn 125/26",
      "Southern baltic. oderbank"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  }
]